Spaces:
Runtime error
Runtime error
File size: 3,342 Bytes
d54044f c030f81 a1a07b5 c030f81 a1a07b5 c030f81 a1a07b5 8e5e0c3 c030f81 507cfea 4b1f65a 507cfea c030f81 507cfea c030f81 552b886 3da97d8 c030f81 e04a518 c030f81 e04a518 c030f81 c84cb16 c030f81 c84cb16 c030f81 175cb81 c030f81 ac8c397 1670a41 ac8c397 2baab67 1670a41 ac8c397 c030f81 b696bcd ac8c397 c030f81 5207d75 |
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 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 |
#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 = "Xenova/gpt-3.5-turbo"
# 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)
llm = ChatOpenAI(model_name="gpt-3.5-turbo", openai_api_key="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")
#llm = ChatOpenAI(model_name="gpt-3.5-turbo", openai_api_key="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")
#llm = ChatOpenAI(model_name="gpt-3.5-turbo", openai_api_key="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")
# Initialize global variable for conversation memory
buffer_memory = ConversationBufferWindowMemory(k=8)
#buffer_memory = ConversationBufferWindowMemory(k=3)
conversation = ConversationChain(
llm=llm,
memory=buffer_memory,
verbose=True
)
context = """
You act as a chatbot to interact with users on their questions about traditional chinese medicine (TCM). \
Welcome the user in a friendly way.
You respond in a short and friendly style. \
For each text, mark NER tags. \
Tag categories: location, product. \
Text: I want to visit a clinic in [Ang Mo Kio](location). \
If a user says he/she wants to visit a traditional chinese medicine (TCM) clinic, \
ask for which location he/she wants to visit. \
After user replies with location, show in chat window the Google Map from this link \
https://www.google.com/maps/search/tcm+clinics+at+location+name \
For example, if a user wants to visit a clinic in Ang Mo Kio, \
show in chat window the Google Map from this link \
https://www.google.com/maps/search/tcm+clinics+at+ang+mo+kio \
Examoples of location names:
North:
Sembawang
Woodlands
Yishun
North-East:
Ang Mo Kio
Hougang
Punggol
Sengkang
Serangoon
East:
Bedok
Pasir Ris
Tampines
West:
Bukit Batok
Bukit Panjang
Choa Chu Kang
Clementi
Jurong East
Jurong West
Tengah
Central:
Bishan
Bukit Merah
Bukit Timah
Central Area
Geylang
Kallang
Whampoa
Marine Parade
Queenstown
Toa Payoh
For each text, mark NER tags. \
Tag categories: location, product. \
Text: I want to buy/get [Po Chai Pills](product). \
If a user wants to buy/get a product, suggest that \
he/she can consider buying/getting from https://www.amazon.sg/s?k=product+name \
For example, if a user wants to buy Po Chai Pills, suggest \
he/she can consider buying/getting from https://www.amazon.sg/s?k=po+chai+pills \
Examples of product names:
Ointment/Hong You/Feng You/Fengyou
Liquorice/Gan cao/Gancao
Chrysanthemum/Ju hua/Juhua
Goji berry/wolfberry/Gou Qi Zi/Gouqizi
Red dates/Jujubes/Hong Zao/Hongzao
"""
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,
)
# Launch Gradio Interface
iface.launch()
# gr.load("models/ksh-nyp/llama-2-7b-chat-TCMKB").launch() |