thigobr commited on
Commit
2d55914
·
1 Parent(s): d25c837

Another try

Browse files
Files changed (1) hide show
  1. app.py +36 -36
app.py CHANGED
@@ -85,54 +85,54 @@ async def on_chat_start():
85
  cl.user_session.set("runnable_chain", runnable_chain)
86
 
87
 
88
- @cl.on_message
89
- async def on_message(message: cl.Message):
90
- runnable_chain = cl.user_session.get("runnable_chain")
91
-
92
- msg = cl.Message(content="")
93
-
94
- async for chunk in runnable_chain.astream(
95
- message.content,
96
- config=RunnableConfig(callbacks=[cl.LangchainCallbackHandler()]),
97
- ):
98
- await msg.stream_token(chunk)
99
-
100
- await msg.send()
101
 
102
  @cl.on_message
103
  async def on_message(message: cl.Message):
104
  runnable = cl.user_session.get("runnable_chain")
105
  msg = cl.Message(content="")
106
 
107
- class PostMessageHandler(BaseCallbackHandler):
108
- """
109
- Callback handler for handling the retriever and LLM processes.
110
- Used to post the sources of the retrieved documents as a Chainlit element.
111
- """
112
-
113
- def __init__(self, msg: cl.Message):
114
- BaseCallbackHandler.__init__(self)
115
- self.msg = msg
116
- self.sources = set() # To store unique pairs
117
-
118
- def on_retriever_end(self, documents, *, run_id, parent_run_id, **kwargs):
119
- for d in documents:
120
- source_page_pair = (d.metadata['source'], d.metadata['page'])
121
- self.sources.add(source_page_pair) # Add unique pairs to the set
122
-
123
- def on_llm_end(self, response, *, run_id, parent_run_id, **kwargs):
124
- if len(self.sources):
125
- sources_text = "\n".join([f"{source}#page={page}" for source, page in self.sources])
126
- self.msg.elements.append(
127
- cl.Text(name="Sources", content=sources_text, display="inline")
128
- )
129
 
130
  async with cl.Step(type="run", name="Movie Assistant"):
131
  async for chunk in runnable.astream(
132
  message.content,
133
  config=RunnableConfig(callbacks=[
134
  cl.LangchainCallbackHandler(),
135
- PostMessageHandler(msg)
136
  ]),
137
  ):
138
  await msg.stream_token(chunk)
 
85
  cl.user_session.set("runnable_chain", runnable_chain)
86
 
87
 
88
+ # @cl.on_message
89
+ # async def on_message(message: cl.Message):
90
+ # runnable_chain = cl.user_session.get("runnable_chain")
91
+ #
92
+ # msg = cl.Message(content="")
93
+ #
94
+ # async for chunk in runnable_chain.astream(
95
+ # message.content,
96
+ # config=RunnableConfig(callbacks=[cl.LangchainCallbackHandler()]),
97
+ # ):
98
+ # await msg.stream_token(chunk)
99
+ #
100
+ # await msg.send()
101
 
102
  @cl.on_message
103
  async def on_message(message: cl.Message):
104
  runnable = cl.user_session.get("runnable_chain")
105
  msg = cl.Message(content="")
106
 
107
+ # class PostMessageHandler(BaseCallbackHandler):
108
+ # """
109
+ # Callback handler for handling the retriever and LLM processes.
110
+ # Used to post the sources of the retrieved documents as a Chainlit element.
111
+ # """
112
+ #
113
+ # def __init__(self, msg: cl.Message):
114
+ # BaseCallbackHandler.__init__(self)
115
+ # self.msg = msg
116
+ # self.sources = set() # To store unique pairs
117
+ #
118
+ # def on_retriever_end(self, documents, *, run_id, parent_run_id, **kwargs):
119
+ # for d in documents:
120
+ # source_page_pair = (d.metadata['source'], d.metadata['page'])
121
+ # self.sources.add(source_page_pair) # Add unique pairs to the set
122
+ #
123
+ # def on_llm_end(self, response, *, run_id, parent_run_id, **kwargs):
124
+ # if len(self.sources):
125
+ # sources_text = "\n".join([f"{source}#page={page}" for source, page in self.sources])
126
+ # self.msg.elements.append(
127
+ # cl.Text(name="Sources", content=sources_text, display="inline")
128
+ # )
129
 
130
  async with cl.Step(type="run", name="Movie Assistant"):
131
  async for chunk in runnable.astream(
132
  message.content,
133
  config=RunnableConfig(callbacks=[
134
  cl.LangchainCallbackHandler(),
135
+ # PostMessageHandler(msg)
136
  ]),
137
  ):
138
  await msg.stream_token(chunk)