import gradio as gr from langchain.agents import initialize_agent from langchain.llms import OpenAI from gradio_tools.tools import (StableDiffusionTool, ImageCaptioningTool, StableDiffusionPromptGeneratorTool, TextToVideoTool) from langchain.memory import ConversationBufferMemory llm = OpenAI(openai_api_key="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",temperature=0) memory = ConversationBufferMemory(memory_key="chat_history") tools = [StableDiffusionTool().langchain, ImageCaptioningTool().langchain, StableDiffusionPromptGeneratorTool().langchain, TextToVideoTool().langchain] agent = initialize_agent(tools, llm, memory=memory, agent="conversational-react-description", verbose=True) def run_text(text, state): output = agent.run(input=(text)) print(memory) print(output) return [(text,output)] with gr.Blocks(css="#chatbot {overflow:auto; height:500px;}") as demo: chatbot = gr.Chatbot(elem_id="chatbot",show_label=False) state = gr.State([]) with gr.Row() as input_raws: with gr.Column(scale=0.6): txt = gr.Textbox(show_label=False).style(container=False) with gr.Column(scale=0.20, min_width=0): run = gr.Button("🏃‍♂️Run") with gr.Column(scale=0.20, min_width=0): clear = gr.Button("🔄Clear️") txt.submit(run_text, [txt, state], [chatbot]) run.click(run_text, [txt, state], [chatbot]) demo.queue(concurrency_count=10).launch(server_name="0.0.0.0", server_port=7860)