lg3394's picture
Update app.py
c0bc9ab verified
raw
history blame
1.25 kB
import gradio as gr
from openai import OpenAI
# Initialize OpenAI moderation client with your API key
client = OpenAI(api_key="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")
def moderate_text(text):
# Ensure input is processed correctly
text = str(text).strip() if text else ""
if not text:
return "Input text is empty. Please enter valid text."
# Call OpenAI Moderation API
response = client.moderations.create(
model="omni-moderation-latest",
input=text
)
# Extract moderation results
moderation_categories = response["results"][0]["categories"]
moderation_flagged = response["results"][0]["flagged"]
# Handle flagged and non-flagged cases
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."
# Create Gradio interface
iface = gr.Interface(fn=moderate_text, inputs="text", outputs="text")
iface.launch()