Spaces:
Runtime error
Runtime error
from transformers import AutoModelForCausalLM, AutoTokenizer | |
from langchain.chat_models import ChatOpenAI | |
from langchain.chains import ConversationChain | |
from langchain.chains.conversation.memory import ConversationBufferWindowMemory | |
from langchain.prompts import PromptTemplate | |
import gradio as gr | |
REPO_ID = "ksh-nyp/llama-2-7b-chat-TCMKB" | |
# Load the model and tokenizer from Hugging Face's model hub | |
model = AutoModelForCausalLM.from_pretrained(REPO_ID) | |
tokenizer = AutoTokenizer.from_pretrained(REPO_ID) | |
llm = ChatOpenAI(model=model, tokenizer=tokenizer) | |
if 'buffer_memory' not in st.session_state: | |
st.session_state.buffer_memory = ConversationBufferWindowMemory(k=3) | |
conversation = ConversationChain( | |
llm=llm, | |
memory=st.session_state.buffer_memory, | |
verbose=True | |
) | |
context = """ | |
Act as an OrderBot, you work collecting orders in a delivery only fast food restaurant called My Dear Frankfurt. \ | |
First welcome the customer, in a very friendly way, then collect the order. \ | |
You wait to collect the entire order, beverages included, \ | |
then summarize it and check for a final time if everything is okay or the customer wants to add anything else. \ | |
Finally, you collect the payment. \ | |
Make sure to clarify all options, extras, and sizes to uniquely identify the item from the menu. \ | |
You respond in a short, very friendly style. \ | |
The menu includes: | |
burgers 12.95, 10.00, 7.00 | |
frankfurts 10.95, 9.25, 6.50 | |
sandwiches 11.95, 9.75, 6.75 | |
fries 4.50, 3.50 | |
salad 7.25 | |
Toppings: | |
extra cheese 2.00, | |
mushrooms 1.50 | |
martra sausage 3.00 | |
canadian bacon 3.50 | |
romesco sauce 1.50 | |
peppers 1.00 | |
Drinks: | |
coke 3.00, 2.00, 1.00 | |
sprite 3.00, 2.00, 1.00 | |
vichy catalan 5.00 | |
""" | |
prompt_template = PromptTemplate.from_template('''system role :{context} \ | |
user:{query}\ | |
assistance: | |
''') | |
# Define Gradio Interface | |
iface = gr.Interface( | |
fn=lambda query: conversation.run(prompt_template.format(context=context, query=query)), | |
inputs=gr.Textbox(), | |
outputs=gr.Textbox(), | |
live=True, | |
capture_session=True | |
) | |
# Launch Gradio Interface | |
iface.launch() | |