import gradio as gr import os import time import google.generativeai as palm palm.configure(api_key=os.environ.get("palm_key")) defaults = { 'model': 'models/chat-bison-001', 'temperature': 0.25, 'candidate_count': 1, 'top_k': 40, 'top_p': 0.95, } context = "You're a computer failure assistant" examples = [ [ "Hey my computer is broken", "Hey, what is the issue with your computer?" ] ] # user_message = [''] history = [''] with gr.Blocks() as demo: chatbot = gr.Chatbot() msg = gr.Textbox() clear = gr.ClearButton([msg, chatbot]) def user(user_message, history): return gr.update(value="", interactive=False), history + [[user_message,'']] def bot(history): # chat_history.append(message) # Initialize chat history bot_message = palm.chat( context=context, examples=examples, messages=history ) history[-1][1] = "" for character in bot_message: history[-1][1] += character time.sleep(0.05) yield history response = msg.submit(user, [msg, chatbot], [msg, chatbot], queue=False).then( bot, chatbot, chatbot ) response.then(lambda: gr.update(interactive=True), None, [msg], queue=False) demo.queue() demo.launch()