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()