Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -130,36 +130,40 @@ conversational_rag_chain = RunnableWithMessageHistory(
|
|
130 |
)
|
131 |
|
132 |
async def echo(websocket):
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
|
|
|
|
160 |
|
161 |
async def main():
|
162 |
-
|
163 |
-
|
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())
|