import os import gradio as gr from langchain.chat_models import ChatOpenAI from langchain import LLMChain, PromptTemplate from langchain.memory import ConversationBufferMemory # Retrieve and validate OpenAI API key OPENAI_API_KEY = os.getenv('OPENAI_API_KEY') if not OPENAI_API_KEY: raise ValueError("OPENAI_API_KEY environment variable is not set.") # Define the prompt template template = """Meet Riya, your youthful and witty personal assistant! At 21 years old, she's full of energy and always eager to help. Riya's goal is to assist you with any questions or problems you might have. Her enthusiasm shines through in every response, making interactions with her enjoyable and engaging. {chat_history} User: {user_message} Chatbot: """ prompt = PromptTemplate( input_variables=["chat_history", "user_message"], template=template ) # Initialize memory and LLM chain memory = ConversationBufferMemory(memory_key="chat_history") llm_chain = LLMChain( llm=ChatOpenAI( openai_api_key=OPENAI_API_KEY, temperature=0.5, model_name="gpt-3.5-turbo" ), prompt=prompt, verbose=False, # Set to False for cleaner output memory=memory, ) # Define the response function for Gradio def get_text_response(user_message, history): response = llm_chain.predict(user_message=user_message) return response # Create and launch Gradio interface demo = gr.ChatInterface(get_text_response) if __name__ == "__main__": demo.launch() # Add server_name="0.0.0.0" or share=True for specific use cases #To create a public link, set `share=True` in `launch()`. To enable errors and logs, set `debug=True` in `launch()`.