SumbalFatima1122's picture
Update app.py
9e039a6 verified
import os
from groq import Groq
from dotenv import load_dotenv
import gradio as gr
# Load environment variables from .env file
load_dotenv()
# Initialize Groq client
GROQ_API_KEY="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"
client = Groq(api_key=GROQ_API_KEY)
# Function to moderate content
def moderate_content(user_input):
try:
# Generate moderation report using Groq API
chat_completion = client.chat.completions.create(
messages=[
{
"role": "user",
"content": f"Analyze this content for violations: {user_input}",
}
],
model="llama-3.3-70b-versatile",
stream=False,
)
response = chat_completion.choices[0].message.content
# Suggest actions based on the response
if "violation" in response.lower():
action = "Flag or delete this content."
else:
action = "Content is compliant."
return response, action
except Exception as e:
return f"Error: {str(e)}", "No action suggested."
# Define Gradio interface
with gr.Blocks() as app:
gr.Markdown("### Content Moderation with Groq API")
with gr.Row():
with gr.Column():
user_input = gr.Textbox(
label="Enter Content for Moderation",
placeholder="Type the content you want to moderate here...",
)
moderate_btn = gr.Button("Moderate Content")
with gr.Column():
moderation_result = gr.Textbox(label="Moderation Result", interactive=False)
suggested_action = gr.Textbox(label="Suggested Action", interactive=False)
# Connect button to moderation function
moderate_btn.click(
moderate_content,
inputs=[user_input],
outputs=[moderation_result, suggested_action],
)
# Run the Gradio app
if __name__ == "__main__":
app.launch()