camparchimedes commited on
Commit
7803fd6
ยท
verified ยท
1 Parent(s): 8a72047

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +21 -4
app.py CHANGED
@@ -83,21 +83,39 @@ async def init():
83
  async def main(message):
84
  chain = cl.user_session.get("chain")
85
  cb = cl.AsyncLangchainCallbackHandler(
86
- stream_final_answer=True, answer_prefix_tokens=["FINAL", "ANSWER"]
 
87
  )
88
  cb.answer_reached = True
89
- res = await chain.acall(message, callbacks=[cb], )
90
 
91
  answer = res["result"]
92
  source_elements = []
93
  visited_sources = set()
94
- #return
95
 
96
  # --documents, user session
97
  docs = res["source_documents"]
98
  metadatas = [doc.metadata for doc in docs]
99
  all_sources = [m["source"] for m in metadatas]
100
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
101
  """
102
  for source in all_sources:
103
  if source in visited_sources:
@@ -133,4 +151,3 @@ async def main(message):
133
  answer += "\nNo sources found"
134
 
135
  await cl.Message(content=answer, elements=source_elements).send()
136
-
 
83
  async def main(message):
84
  chain = cl.user_session.get("chain")
85
  cb = cl.AsyncLangchainCallbackHandler(
86
+ stream_final_answer=True,
87
+ answer_prefix_tokens=["FINAL", "ANSWER"]
88
  )
89
  cb.answer_reached = True
90
+ res = await chain.acall(message, callbacks=[cb])
91
 
92
  answer = res["result"]
93
  source_elements = []
94
  visited_sources = set()
 
95
 
96
  # --documents, user session
97
  docs = res["source_documents"]
98
  metadatas = [doc.metadata for doc in docs]
99
  all_sources = [m["source"] for m in metadatas]
100
 
101
+ for doc, metadata in zip(docs, metadatas):
102
+ row_index = metadata.get("row_index", -1) # --when row_index@metadata
103
+ if row_index in [2, 8, 14]: # --incl. only rows 2, 8, and 14
104
+ source = metadata.get("source", "")
105
+ if source and source not in visited_sources:
106
+ visited_sources.add(source)
107
+ source_elements.append(
108
+ cl.Text(content="https://www.daysoff.no" + source, name="Info_Url")
109
+ )
110
+
111
+ if source_elements:
112
+ answer += f"\nSources: {', '.join([e.content for e in source_elements])}"
113
+ else:
114
+ answer += "\nNo sources found"
115
+
116
+ await cl.Message(content=answer, elements=source_elements).send()
117
+
118
+
119
  """
120
  for source in all_sources:
121
  if source in visited_sources:
 
151
  answer += "\nNo sources found"
152
 
153
  await cl.Message(content=answer, elements=source_elements).send()