Spaces:
Runtime error
Runtime error
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)
|