kumaranJaisankar's picture
Update app.py
b61d466 verified
raw
history blame
1.72 kB
from langchain_community.chat_models import ChatOpenAI
from langchain_core.prompts import PromptTemplate
from langchain_core.runnables import RunnableSequence
from langchain.memory import ConversationBufferMemory
import gradio as gr
# Create instances of the prompt
prompt = PromptTemplate.from_template("{user_message}")
# Define the ChatOpenAI model
llm = ChatOpenAI(temperature=0.5, model_name="gpt-3.5-turbo")
# Create a RunnableSequence
runnable_sequence = RunnableSequence(prompt | llm)
# Initialize memory
memory = ConversationBufferMemory()
# Define your get_text_response function
def get_text_response(user_message, history):
# Add user message to the memory (for example purposes, assume `add_user_message` is the correct method)
memory.add_user_message(user_message)
# Use the RunnableSequence to generate a response
response = runnable_sequence.run(user_message=user_message)
# Add LLM response to the memory (for example purposes, assume `add_ai_message` is the correct method)
memory.add_ai_message(response)
return response
# Example usage with Gradio
theme = "default" # or your custom theme
# Define your buttons appropriately
clear_btn = "Clear" # You can use gr.Button("Clear") or None as well
retry_btn = "Retry" # You can use gr.Button("Retry") or None as well
stop_btn = "Stop" # You can use gr.Button("Stop") or None as well
undo_btn = "Undo" # You can use gr.Button("Undo") or None as well
demo = gr.ChatInterface(
get_text_response,
clear_btn=clear_btn,
retry_btn=retry_btn,
stop_btn=stop_btn,
undo_btn=undo_btn,
theme=theme
)
# Your app execution logic here
if __name__ == "__main__":
demo.launch()