BGarida commited on
Commit
7fabd5f
·
1 Parent(s): 38de90a

Deploying PDF Version v6

Browse files
Files changed (1) hide show
  1. app.py +35 -24
app.py CHANGED
@@ -124,27 +124,38 @@ async def on_chat_start():
124
 
125
  @cl.on_message
126
  async def main(message):
127
- chain = cl.user_session.get("chain") # type: ConversationalRetrievalChain
128
- cb = cl.AsyncLangchainCallbackHandler()
129
-
130
- res = await chain.acall(message.content, callbacks=[cb])
131
- answer = res["answer"]
132
- source_documents = res["source_documents"] # type: List[Document]
133
-
134
- text_elements = [] # type: List[cl.Text]
135
-
136
- if source_documents:
137
- for source_idx, source_doc in enumerate(source_documents):
138
- source_name = f"source_{source_idx}"
139
- # Create the text element referenced in the message
140
- text_elements.append(
141
- cl.Text(content=source_doc.page_content, name=source_name)
142
- )
143
- source_names = [text_el.name for text_el in text_elements]
144
-
145
- if source_names:
146
- answer += f"\nSources: {', '.join(source_names)}"
147
- else:
148
- answer += "\nNo sources found"
149
-
150
- await cl.Message(content=answer, elements=text_elements).send()
 
 
 
 
 
 
 
 
 
 
 
 
124
 
125
  @cl.on_message
126
  async def main(message):
127
+ try:
128
+ print(f"Received message type: {type(message)}")
129
+ print(f"Message content: {message.content}")
130
+
131
+ chain = cl.user_session.get("chain") # type: ConversationalRetrievalChain
132
+ cb = cl.AsyncLangchainCallbackHandler()
133
+
134
+ res = await chain.acall(message.content, callbacks=[cb])
135
+ answer = res["answer"]
136
+ source_documents = res["source_documents"] # type: List[Document]
137
+
138
+ text_elements = [] # type: List[cl.Text]
139
+ if source_documents:
140
+ for source_idx, source_doc in enumerate(source_documents):
141
+ source_name = f"source_{source_idx}"
142
+ text_elements.append(
143
+ cl.Text(content=source_doc.page_content, name=source_name)
144
+ )
145
+
146
+ source_names = [text_el.name for text_el in text_elements]
147
+ if source_names:
148
+ answer += f"\nSources: {', '.join(source_names)}"
149
+ else:
150
+ answer += "\nNo sources found"
151
+
152
+ await cl.Message(content=answer, elements=text_elements).send()
153
+
154
+ except AttributeError as e:
155
+ print(f"AttributeError occurred: {e}")
156
+ print(f"Message type: {type(message)}")
157
+ print(f"Message: {message}")
158
+ await cl.Message(content=f"An error occurred: {e}").send()
159
+ except Exception as e:
160
+ print(f"An unexpected error occurred: {e}")
161
+ await cl.Message(content=f"An unexpected error occurred: {e}").send()