File size: 1,715 Bytes
b61d466 65af69b b61d466 65af69b b61d466 65af69b bc46f7f b61d466 2dfcc9c b61d466 65af69b f189b4f |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
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() |