# Application file for Gradio App for OpenAI Model import gradio as gr import time import pandas as pd from lc_base.chain import openai_chain import os import requests dir = os.path.join("outputs", "combined", "papers_4t_mapred10", "faiss_index") title = """

Chat

""" description = """

This is a literature chat model, which can currently answer questions to New Data provided.

""" def save_api_key(api_key): os.environ['OPENAI_API_KEY'] = str(api_key) return f"API Key saved in the environment: {api_key}" def user(user_message, history): return "", history + [[user_message, None]] def respond(message, chat_history): question = str(message) chain = openai_chain(inp_dir=dir) output = chain.get_response(query=question, k=10, model_name="gpt-4-1106-preview", type="map_reduce") bot_message = output chat_history.append((message, bot_message)) time.sleep(2) return " ", chat_history with gr.Blocks(theme=gr.themes.Soft(primary_hue="emerald", neutral_hue="slate")) as chat: gr.HTML(title) api_key_input = gr.Textbox(lines=1, label="Enter your OpenAI API Key") api_key_input_submit = api_key_input.submit(save_api_key, [api_key_input]) chatbot = gr.Chatbot(height=750) msg = gr.Textbox(label="Send a message", placeholder="Send a message", show_label=False, container=False) msg.submit(respond, [msg, chatbot], [msg, chatbot]) gr.Examples([ ["What are the challenges and opportunities of AI in supply chain management?"], ["What does these reports talk about?"], ["What does these papers talk about? Please explain in detail."], ["What is the impact of using AI in supply chain management?"] ], inputs=msg, label= "Click on any example to copy in the chatbox" ) gr.HTML(description) chat.queue() chat.launch()