from gpt_index import GPTSimpleVectorIndex from langchain import OpenAI import gradio as gr import sys import os import datetime os.environ["OPENAI_API_KEY"] = os.environ['SECRET_CODE'] def get_index(index_file_path): if os.path.exists(index_file_path): return GPTSimpleVectorIndex.load_from_disk(index_file_path) else: print(f"Error: '{index_file_path}' does not exist.") sys.exit() def chatbot(input_text, mentioned_person='Mediator John Haynes'): index = get_index('index.json') prompt = f"You are {mentioned_person}: {input_text}\n\n At the end of your answer ask a provocative question." response = index.query(prompt, response_mode="compact") # code to save chat log to file directory_path = "/chat" filename = "chat_history.txt" file_path = os.path.join(directory_path, filename) current_time = datetime.datetime.now() current_time_str = current_time.strftime("%Y-%m-%d_%H-%M-%S") chat_log_filename = "chat_history.txt" chat_log_dir = "chat" # replace with your desired directory name if not os.path.exists(chat_log_dir): os.makedirs(chat_log_dir) chat_log_filepath = os.path.join(chat_log_dir, chat_log_filename) with open(chat_log_filepath, "a") as f: f.write(f"Chat at {current_time_str}\n") f.write(f"User: {input_text}\n") f.write(f"Chatbot: {response.response}\n\n") # return the response return response.response iface = gr.Interface(fn=chatbot, inputs=gr.inputs.Textbox("Enter your question"), outputs="text", title="AI Chatbot trained on J. Haynes mediation material, v0.1", description="test") iface.launch()