Spaces:
Running
Running
File size: 1,758 Bytes
242965f cfbcfed e8da79a fc7e5cb 5e8e222 cfbcfed ae56f5f d5ad63a 890784c e8da79a 471fdf2 780dce9 e8da79a 780dce9 7cfc686 bf7f003 4afd97e 37d316b cfbcfed 2a2d23d cfbcfed a9f6bbd cfbcfed e8da79a 3b952d8 e8da79a 70bea1f 3b952d8 16878c4 3b952d8 e8da79a 3b952d8 |
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 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
import gradio as gr
import agentops, os, threading
from crew import get_crew
lock = threading.Lock()
LLM_MANAGER = "gpt-4.1-mini"
LLM_AGENTS = "gpt-4.1"
VERBOSE = False
def invoke(openai_api_key, topic):
if not openai_api_key:
raise gr.Error("OpenAI API Key is required.")
if not topic:
raise gr.Error("Topic is required.")
agentops.init(os.environ["AGENTOPS_API_KEY"])
with lock:
os.environ["OPENAI_API_KEY"] = openai_api_key
article = str(get_crew(LLM_MANAGER, LLM_AGENTS, VERBOSE).kickoff(inputs={"topic": topic}))
print("===")
print(article)
print("===")
del os.environ["OPENAI_API_KEY"]
return article
def clear():
return ""
gr.close_all()
with gr.Blocks() as assistant:
gr.Markdown("## Multi-Agent AI: Article Writing")
gr.Markdown(os.environ.get("DESCRIPTION"))
with gr.Row():
with gr.Column(scale=1):
with gr.Row():
openai_api_key = gr.Textbox(label = "OpenAI API Key", type = "password", lines = 1)
topic = gr.Textbox(label = "Topic", value=os.environ["TOPIC"], lines = 1)
with gr.Row():
clear_btn = gr.ClearButton(
components=[openai_api_key, topic]
)
submit_btn = gr.Button("Submit", variant="primary")
with gr.Column(scale=3):
article = gr.Markdown(label = "Article", value=os.environ["OUTPUT"], line_breaks = True, sanitize_html = False)
clear_btn.click(
fn=clear,
outputs=article
)
submit_btn.click(
fn=invoke,
inputs=[openai_api_key, topic],
outputs=article
)
assistant.launch() |