File size: 1,121 Bytes
7aa6874
 
 
 
 
 
 
c87a829
7aa6874
ab457fe
dd9a7ec
7aa6874
 
ab457fe
 
c87a829
7aa6874
 
e780551
7aa6874
 
 
 
 
 
 
39669cd
e95337e
d2c49bb
7aa6874
 
 
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
import gradio as gr
import os, threading

from multi_agent import run_multi_agent

lock = threading.Lock()

LLM = "gpt-4o"

def invoke(openai_api_key, message):
    if not openai_api_key:
        raise gr.Error("OpenAI API Key is required.")

    if not message:
        raise gr.Error("Message is required.")
    
    with lock:
        os.environ["OPENAI_API_KEY"] = openai_api_key
        result = run_multi_agent(LLM, message)
        del os.environ["OPENAI_API_KEY"]
        return result

gr.close_all()

demo = gr.Interface(fn = invoke, 
                    inputs = [gr.Textbox(label = "OpenAI API Key", type = "password", lines = 1),
                              gr.Textbox(label = "Message", value = "Today is 06/03/2024. Create a plot showing stock gain YTD for NVDA and TLSA. Make sure the code is in markdown code block and save the figure to a file ytd_stock_gains.png.")],
                    outputs = [gr.Markdown(label = "Result", value=os.environ["OUTPUT"])],
                    title = "Multi-Agent AI: Financial Analysis",
                    description = os.environ["DESCRIPTION"])

demo.launch()