araeyn commited on
Commit
33bb6cc
1 Parent(s): 2f1d5ef

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +34 -30
app.py CHANGED
@@ -130,36 +130,40 @@ conversational_rag_chain = RunnableWithMessageHistory(
130
  )
131
 
132
  async def echo(websocket):
133
- global retriever, conversational_rag_chain
134
- async for message in websocket:
135
- data = json.loads(message)
136
- if data["message"] == "data.":
137
- response = store
138
- await websocket.send(json.dumps({"response": str(response)}))
139
- continue
140
- if not "message" in message:
141
- return
142
- if not "token" in message:
143
- return
144
- m = data["message"] + "\n\nAssistant: "
145
- token = data["token"]
146
- docs = retriever.get_relevant_documents(m)
147
- rawresponse = conversational_rag_chain.invoke(
148
- {"input": m},
149
- config={
150
- "configurable": {"session_id": token}
151
- },
152
- )
153
- response = rawresponse["answer"]
154
- response = response.replace("Assistant: ", "").replace("AI: ", "")
155
- response.strip()
156
- response = response.split("Human:")[0]
157
- while response.startswith("\n"):
158
- response = response[1:]
159
- await websocket.send(json.dumps({"response": response}))
 
 
160
 
161
  async def main():
162
- async with serve(echo, "0.0.0.0", 7860):
163
- await asyncio.Future()
164
-
 
 
165
  asyncio.run(main())
 
130
  )
131
 
132
  async def echo(websocket):
133
+ try:
134
+ async for message in websocket:
135
+ data = json.loads(message)
136
+ if data["message"] == "data.":
137
+ response = store
138
+ await websocket.send(json.dumps({"response": str(response)}))
139
+ continue
140
+ if not "message" in message:
141
+ return
142
+ if not "token" in message:
143
+ return
144
+ m = data["message"] + "\n\nAssistant: "
145
+ token = data["token"]
146
+ docs = retriever.get_relevant_documents(m)
147
+ rawresponse = conversational_rag_chain.invoke(
148
+ {"input": m},
149
+ config={
150
+ "configurable": {"session_id": token}
151
+ },
152
+ )
153
+ response = rawresponse["answer"]
154
+ response = response.replace("Assistant: ", "").replace("AI: ", "")
155
+ response.strip()
156
+ response = response.split("Human:")[0]
157
+ while response.startswith("\n"):
158
+ response = response[1:]
159
+ await websocket.send(json.dumps({"response": response}))
160
+ except ConnectionClosedError:
161
+ pass
162
 
163
  async def main():
164
+ try:
165
+ async with serve(echo, "0.0.0.0", 7860):
166
+ await asyncio.Future()
167
+ except ConnectionClosedError:
168
+ pass
169
  asyncio.run(main())