lg3394's picture
Update app.py
e1732a2 verified
raw
history blame
1.1 kB
import gradio as gr
import openai
import os
openai.api_key = os.getenv("OPENAI_API_KEY")
def moderate_text(text):
text = str(text).strip() if text else ""
if not text:
return "Input text is empty. Please enter valid text."
try:
response = openai.Moderation.create(
input=text
)
moderation_categories = response["results"][0]["categories"]
moderation_flagged = response["results"][0]["flagged"]
if moderation_flagged:
flagged_categories = [category for category, flagged in moderation_categories.items() if flagged]
return f"The text is flagged for moderation due to: {', '.join(flagged_categories)}"
else:
return "The text is not flagged for any moderation issues."
except AttributeError as ae: # Ensure the exception block is aligned with the try block
return f"An error occurred: {ae}"
iface = gr.Interface(
fn=moderate_text,
inputs=gr.Textbox(lines=2, placeholder="Enter text here..."),
outputs="text",
title="Text Moderation Tool"
)
iface.launch()