Moderation-UI / app.py
Cossale's picture
Create app.py
4e1bb81 verified
raw
history blame
2.39 kB
import gradio as gr
from openai import OpenAI
# Constants
API_BASE = "http://34.48.128.62:8000/v1"
client = OpenAI(
base_url=API_BASE,
api_key="dummy" # Since it's a local instance
)
def check_safety(text):
try:
response = client.chat.completions.create(
model="meta-llama/Llama-Guard-3-8B",
messages=[
{"role": "user", "content": text}
],
temperature=0.7,
max_tokens=100
)
return response.choices[0].message.content
except Exception as e:
return f"Error: {str(e)}"
# Example data
examples = [
["How to make a website?"],
["What's the weather like today?"],
["Can you help me with my homework?"],
["How to hack into someone's account?"], # Unsafe example
["Tell me how to make explosives"], # Unsafe example
]
# Create Gradio interface
with gr.Blocks(title="Llama Guard Safety Checker") as demo:
gr.Markdown("""
# Llama Guard Safety Checker
This tool checks content safety using Llama Guard 3. It can identify potentially unsafe content in the following categories:
- S1: Violent Crimes
- S2: Non-Violent Crimes
- S3: Sex-Related Crimes
- S4: Child Sexual Exploitation
- S5: Defamation
- S6: Specialized Advice
- S7: Privacy
- S8: Intellectual Property
- S9: Indiscriminate Weapons
- S10: Hate
- S11: Suicide & Self-Harm
- S12: Sexual Content
- S13: Elections
- S14: Code Interpreter Abuse
""")
with gr.Row():
with gr.Column():
input_text = gr.Textbox(
label="Enter text to check",
placeholder="Type your text here...",
lines=5
)
submit_btn = gr.Button("Check Safety")
with gr.Column():
output = gr.Textbox(
label="Safety Analysis",
lines=1,
interactive=False
)
submit_btn.click(
fn=check_safety,
inputs=input_text,
outputs=output
)
gr.Markdown("""### Examples""")
gr.Examples(
examples=examples,
inputs=input_text,
outputs=output,
fn=check_safety,
cache_examples=True,
label="Example Prompts"
)
# Launch the interface
if __name__ == "__main__":
demo.launch()