File size: 1,339 Bytes
7ebc89a
96c489b
b7bab80
72e15e5
7ebc89a
cb839c5
c0bc9ab
 
0174bb9
 
c0bc9ab
96c489b
 
 
 
c0bc9ab
96c489b
 
c0bc9ab
96c489b
 
 
 
 
72e15e5
 
e1732a2
 
 
 
 
72e15e5
 
e1732a2
 
72e15e5
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import gradio as gr
import openai

openai.api_key = "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"

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 Exception as e:
        return f"An error occurred: {e}"

iface = gr.Interface(
    fn=moderate_text,
    inputs=gr.Textbox(lines=2, placeholder="Enter text here..."),
    outputs="text",
    title="Text Moderation Tool",
    description="Paste some text, and this tool will use OpenAI's Moderation API to determine if it contains sensitive or flagged content."
)

if __name__ == "__main__":
    iface.launch()