From 4e301c1fcf4a0b6e2e797acaa3169d5ff4fe92f5 Mon Sep 17 00:00:00 2001
From: zhaoqingang <zhaoqg0118@163.com>
Date: 星期三, 08 一月 2025 13:50:52 +0800
Subject: [PATCH] sse
---
app/service/v2/app_driver/chat_dialog.py | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 51 insertions(+), 3 deletions(-)
diff --git a/app/service/v2/app_driver/chat_dialog.py b/app/service/v2/app_driver/chat_dialog.py
index 0ad7c3c..27807fd 100644
--- a/app/service/v2/app_driver/chat_dialog.py
+++ b/app/service/v2/app_driver/chat_dialog.py
@@ -1,3 +1,6 @@
+import json
+
+from Log import logger
from app.service.v2.app_driver.chat_base import ChatBase
@@ -15,6 +18,51 @@
}
- async def chat_completions(self):
- async for rag_response in self.http_stream(token, chat_id, chat_history):
- ...
\ No newline at end of file
+ async def chat_completions(self, url, data, headers):
+ complete_response = ""
+ async for line in self.http_stream(url, data, headers):
+ # logger.error(line)
+ if line.startswith("data:"):
+ complete_response = line.strip("data:").strip()
+ else:
+ complete_response += line.strip()
+ try:
+ json_data = json.loads(complete_response)
+ # 澶勭悊 JSON 鏁版嵁
+ # print(json_data)
+ complete_response = ""
+ yield json_data
+
+ except json.JSONDecodeError as e:
+ logger.info("Invalid JSON data------------------")
+ # print(e)
+
+
+
+
+
+
+
+if __name__ == "__main__":
+ async def aa():
+ chat_id = "6b8ee426c67511efb1510242ac1b0006"
+ token = "ragflow-YzMzE1NDRjYzMyZjExZWY5ZjkxMDI0Mm"
+ base_url = "http://192.168.20.116:11080"
+ url = f"{base_url}/api/v1/chats/{chat_id}/completions"
+ chat = ChatDialog(token)
+ data = {
+ "question": "鐢电綉鎶�鏈�荤粨300瀛�",
+ "stream": True,
+ "session_id": "9969c152cce411ef8a140242ac1b0002"
+ }
+ headers = {
+ 'Content-Type': 'application/json',
+ 'Authorization': f"Bearer {token}"
+ }
+ async for ans in chat.chat_completions(url, data, headers):
+ print(ans)
+
+
+ import asyncio
+
+ asyncio.run(aa())
--
Gitblit v1.8.0