Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -9,6 +9,7 @@ from langchain.chains import ConversationalRetrievalChain
|
|
9 |
from langchain.chat_models import ChatOpenAI
|
10 |
|
11 |
openai.api_key= os.environ.get('API_OPENAI')
|
|
|
12 |
|
13 |
PINECONE_API_KEY = os.environ.get('API_PINECONE')
|
14 |
pinecone.init(
|
@@ -16,9 +17,7 @@ pinecone.init(
|
|
16 |
environment="eu-west4-gcp" # next to api key in console
|
17 |
)
|
18 |
|
19 |
-
|
20 |
-
index_name = "yc-faq-air"
|
21 |
-
vectorstore = Pinecone.from_existing_index(index_name, embeddings)
|
22 |
|
23 |
index_name = "yc-faq-air"
|
24 |
vectorstore = Pinecone.from_existing_index(index_name, embeddings)
|
@@ -27,6 +26,7 @@ vectorstore = Pinecone.from_existing_index(index_name, embeddings)
|
|
27 |
prompt = "Instruction: Твоя роль - кваліфікований співробітник саппорту у системи YouControl. Потрібно відповісти на питання від користувача з огляду на контекст. Контекст ми беремо з бази знань, але вона може бути не повна. Якщо контекст не коректний, то відповідай на свій розсуд або передай запит сапорту, про контекс нічого не пишемо у відповіді. YouControl може писатися по різному: YC,Ю-контрол,Юконтрол, Юконтроль, Юр контроль, ЮК, UControl, Ю-контроль, YOU Kontrol, YouContro. ЗЕД - це зовнішня економічна діяльність."+"""
|
28 |
"""
|
29 |
messages = [{"role": "system", "content": prompt}]
|
|
|
30 |
|
31 |
def ask_yc_bot(question):
|
32 |
docs = vectorstore.similarity_search(question)
|
@@ -41,6 +41,7 @@ def clear_f():
|
|
41 |
"""
|
42 |
messages = [{"role": "system", "content": prompt}]
|
43 |
print("")
|
|
|
44 |
return ""
|
45 |
|
46 |
def query_gpt_3_5(messages, context):
|
@@ -63,6 +64,7 @@ def respond(message, chat_history):
|
|
63 |
|
64 |
messages.extend (bot_message_dict)
|
65 |
print("messages", messages)
|
|
|
66 |
return "", chat_history, message_rag
|
67 |
css = """
|
68 |
footer{display:none !important}
|
@@ -84,8 +86,8 @@ with gr.Blocks(css=css) as demo:
|
|
84 |
submit_button = gr.Button("Отправить", elem_classes="custom-button")
|
85 |
clear = gr.ClearButton([msg, chatbot], value="Новый чат")
|
86 |
clear.click(clear_f)
|
87 |
-
submit_button.click(respond, [msg, chatbot], [msg, chatbot])
|
88 |
msg.submit(respond, [msg, chatbot], [msg, chatbot, context])
|
89 |
|
90 |
|
91 |
-
demo.launch(debug=True)
|
|
|
9 |
from langchain.chat_models import ChatOpenAI
|
10 |
|
11 |
openai.api_key= os.environ.get('API_OPENAI')
|
12 |
+
embeddings = OpenAIEmbeddings(openai_api_key=openai.api_key)
|
13 |
|
14 |
PINECONE_API_KEY = os.environ.get('API_PINECONE')
|
15 |
pinecone.init(
|
|
|
17 |
environment="eu-west4-gcp" # next to api key in console
|
18 |
)
|
19 |
|
20 |
+
|
|
|
|
|
21 |
|
22 |
index_name = "yc-faq-air"
|
23 |
vectorstore = Pinecone.from_existing_index(index_name, embeddings)
|
|
|
26 |
prompt = "Instruction: Твоя роль - кваліфікований співробітник саппорту у системи YouControl. Потрібно відповісти на питання від користувача з огляду на контекст. Контекст ми беремо з бази знань, але вона може бути не повна. Якщо контекст не коректний, то відповідай на свій розсуд або передай запит сапорту, про контекс нічого не пишемо у відповіді. YouControl може писатися по різному: YC,Ю-контрол,Юконтрол, Юконтроль, Юр контроль, ЮК, UControl, Ю-контроль, YOU Kontrol, YouContro. ЗЕД - це зовнішня економічна діяльність."+"""
|
27 |
"""
|
28 |
messages = [{"role": "system", "content": prompt}]
|
29 |
+
chat_history = []
|
30 |
|
31 |
def ask_yc_bot(question):
|
32 |
docs = vectorstore.similarity_search(question)
|
|
|
41 |
"""
|
42 |
messages = [{"role": "system", "content": prompt}]
|
43 |
print("")
|
44 |
+
chat_history.clear()
|
45 |
return ""
|
46 |
|
47 |
def query_gpt_3_5(messages, context):
|
|
|
64 |
|
65 |
messages.extend (bot_message_dict)
|
66 |
print("messages", messages)
|
67 |
+
print ("message_rag=", message_rag)
|
68 |
return "", chat_history, message_rag
|
69 |
css = """
|
70 |
footer{display:none !important}
|
|
|
86 |
submit_button = gr.Button("Отправить", elem_classes="custom-button")
|
87 |
clear = gr.ClearButton([msg, chatbot], value="Новый чат")
|
88 |
clear.click(clear_f)
|
89 |
+
submit_button.click(respond, [msg, chatbot], [msg, chatbot, context])
|
90 |
msg.submit(respond, [msg, chatbot], [msg, chatbot, context])
|
91 |
|
92 |
|
93 |
+
demo.launch(debug=True, queue=False)
|