Spaces:
Runtime error
Runtime error
added on_chat_start
Browse files
app.py
CHANGED
|
@@ -79,47 +79,63 @@ recursive_index_faiss = VectorStoreIndex(nodes=base_nodes+objects, storage_conte
|
|
| 79 |
# We'll need to do a couple steps:
|
| 80 |
# 1. Initalize our reranker using `FlagEmbeddingReranker` powered by the `BAAI/bge-reranker-large`.
|
| 81 |
# 2. Set up our recursive query engine!
|
| 82 |
-
|
| 83 |
reranker = FlagEmbeddingReranker(
|
| 84 |
top_n=5,
|
| 85 |
model="BAAI/bge-reranker-large",
|
| 86 |
)
|
| 87 |
|
| 88 |
-
# recursive_query_engine = recursive_index_faiss.as_query_engine(
|
| 89 |
-
# similarity_top_k=5,
|
| 90 |
-
# node_postprocessors=[reranker],
|
| 91 |
-
# verbose=True
|
| 92 |
-
# )
|
| 93 |
-
|
| 94 |
|
| 95 |
-
|
| 96 |
-
|
| 97 |
-
|
| 98 |
-
|
| 99 |
-
|
| 100 |
-
|
| 101 |
|
| 102 |
-
|
| 103 |
|
| 104 |
-
|
| 105 |
-
# prompt=system_template + user_query + user_template
|
| 106 |
|
| 107 |
-
|
| 108 |
-
|
| 109 |
-
|
| 110 |
-
|
| 111 |
-
|
| 112 |
-
|
| 113 |
-
|
| 114 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 115 |
|
| 116 |
@cl.on_message # marks a function that should be run each time the chatbot receives a message from a user
|
| 117 |
async def main(message: cl.Message):
|
| 118 |
settings = cl.user_session.get("settings")
|
| 119 |
-
|
| 120 |
-
user_query = message.content
|
| 121 |
|
| 122 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 123 |
str_resp ="{}".format(response)
|
|
|
|
|
|
|
| 124 |
msg = cl.Message(content= str_resp)
|
|
|
|
|
|
|
| 125 |
await msg.send()
|
|
|
|
| 79 |
# We'll need to do a couple steps:
|
| 80 |
# 1. Initalize our reranker using `FlagEmbeddingReranker` powered by the `BAAI/bge-reranker-large`.
|
| 81 |
# 2. Set up our recursive query engine!
|
|
|
|
| 82 |
reranker = FlagEmbeddingReranker(
|
| 83 |
top_n=5,
|
| 84 |
model="BAAI/bge-reranker-large",
|
| 85 |
)
|
| 86 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 87 |
|
| 88 |
+
def resursive_fn(reranker):
|
| 89 |
+
recursive_query_engine = recursive_index_faiss.as_query_engine(
|
| 90 |
+
similarity_top_k=5,
|
| 91 |
+
node_postprocessors=[reranker],
|
| 92 |
+
verbose=True
|
| 93 |
+
)
|
| 94 |
|
| 95 |
+
return recursive_query_engine
|
| 96 |
|
| 97 |
+
recursive_fn_val = resursive_fn(reranker)
|
|
|
|
| 98 |
|
| 99 |
+
@cl.on_chat_start
|
| 100 |
+
async def start_chat():
|
| 101 |
+
print("A new chat session has started!")
|
| 102 |
+
|
| 103 |
+
|
| 104 |
+
|
| 105 |
+
|
| 106 |
+
# ChatOpenAI Templates
|
| 107 |
+
system_template = """Use the following pieces of context to answer the user's question.
|
| 108 |
+
If you don't know the answer, say that you don't know, do not try to make up an answer.
|
| 109 |
+
ALWAYS return a "SOURCES" part in your answer.
|
| 110 |
+
The "SOURCES" part should be a reference to the source inside the document from which you got your answer.
|
| 111 |
+
You are a helpful assistant who always speaks in a pleasant tone! """
|
| 112 |
+
|
| 113 |
+
user_template = """ Think through your response step by step."""
|
| 114 |
+
|
| 115 |
+
#user_query = "Who are the E-VP, Operations - and how old are they?"
|
| 116 |
+
|
| 117 |
+
cl.user_session.set("recursive_query_engine", recursive_fn_val)
|
| 118 |
+
|
| 119 |
|
| 120 |
@cl.on_message # marks a function that should be run each time the chatbot receives a message from a user
|
| 121 |
async def main(message: cl.Message):
|
| 122 |
settings = cl.user_session.get("settings")
|
|
|
|
|
|
|
| 123 |
|
| 124 |
+
user_query = message.content
|
| 125 |
+
print("inside on_message - user_query: ",user_query)
|
| 126 |
+
prompt=system_template + user_query + user_template
|
| 127 |
+
|
| 128 |
+
recursive_query_engine = cl.user_session.get("recursive_query_engine")
|
| 129 |
+
print("inside on_message - recursive_query_engine: ",recursive_query_engine)
|
| 130 |
+
|
| 131 |
+
response = await recursive_query_engine.query(prompt)
|
| 132 |
+
|
| 133 |
+
print("inside on_message - response: ",response)
|
| 134 |
+
|
| 135 |
str_resp ="{}".format(response)
|
| 136 |
+
|
| 137 |
+
# response = await recursive_fn_call(recursive_query_engine, system_template, user_template, user_query=user_query)
|
| 138 |
msg = cl.Message(content= str_resp)
|
| 139 |
+
print("inside on_message - after msg: ",msg)
|
| 140 |
+
|
| 141 |
await msg.send()
|