Spaces:
Runtime error
Runtime error
| 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() | |