openai==1.39.0
import gradio as gr
from openai import OpenAI
def run_descriptor_agent(openai_key, user_prompt):
if not openai_key:
return "Please enter your OpenAI API Key first!"
try:
# Initialize the OpenAI client inside the browser environment
client = OpenAI(api_key=openai_key)
# Simple agent descriptor call
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=[
{"role": "system", "content": "You are a professional AI Descriptor agent. Provide structured, clear summaries and descriptions based on user requests."},
{"role": "user", "content": user_prompt}
]
)
return response.choices[0].message.content
except Exception as e:
return f"Error: {str(e)}"
# Define the Gradio UI
with gr.Blocks(theme=gr.themes.Soft(primary_hue="blue", secondary_hue="indigo")) as demo:
gr.Markdown("# 🤖 AI Descriptor Agent")
gr.Markdown("This runs entirely in your browser. Your OpenAI key is safe and is not stored anywhere on Hugging Face.")
with gr.Row():
key_input = gr.Textbox(
label="1. Enter your OpenAI API Key",
placeholder="sk-proj-...",
type="password"
)
with gr.Row():
prompt_input = gr.Textbox(
label="2. Ask the Agent anything",
placeholder="Describe what you want me to analyze..."
)
submit_btn = gr.Button("Run Agent", variant="primary")
output_text = gr.Textbox(label="Agent Response", interactive=False)
submit_btn.click(
fn=run_descriptor_agent,
inputs=[key_input, prompt_input],
outputs=output_text
)
demo.launch()