From 4995829d050ed2219e53decb9a2d91e42813d8fb Mon Sep 17 00:00:00 2001
From: zhaoqingang <zhaoqg0118@163.com>
Date: 星期四, 05 十二月 2024 15:21:04 +0800
Subject: [PATCH] merge
---
app/api/chat.py | 22 +++++++++++++++++-----
1 files changed, 17 insertions(+), 5 deletions(-)
diff --git a/app/api/chat.py b/app/api/chat.py
index 3b14b8b..4344b62 100644
--- a/app/api/chat.py
+++ b/app/api/chat.py
@@ -10,9 +10,11 @@
from Log import logger
from app.api import get_current_user_websocket
from app.config.config import settings
+from app.config.const import IMAGE_TO_TEXT, DOCUMENT_TO_REPORT, DOCUMENT_TO_CLEANING
from app.models.agent_model import AgentModel, AgentType
from app.models.base_model import get_db
from app.models.user_model import UserModel
+from app.service.common.api_token import DfTokenDao
from app.service.dialog import update_session_history
from app.service.basic import BasicService
from app.service.difyService import DifyService
@@ -310,7 +312,10 @@
try:
async def forward_to_dify():
if agent.type == "imageTalk":
- token = settings.dify_api_token
+ token = DfTokenDao(db).get_token_by_id(IMAGE_TO_TEXT)
+ if not token:
+ await websocket.send_json({"message": "Invalid token", "type": "error"})
+
while True:
image_list = []
is_image = False
@@ -334,9 +339,11 @@
except Exception as e:
logger.error(e)
# complete_response = ""
+
answer_str = ""
async for rag_response in dify_service.chat(token, current_user.id, question, upload_file_id,
conversation_id):
+ # print(rag_response)
try:
if rag_response[:5] == "data:":
# 濡傛灉鏄紝鍒欐埅鍙栨帀鍓�5涓瓧绗︼紝骞跺幓闄ら灏剧┖鐧界
@@ -403,8 +410,10 @@
await websocket.send_json(result)
print(f"Error process message of ragflow: {e2}")
elif agent.type == "reportWorkflow":
- print(2323333232)
- token = settings.dify_workflow_clean
+
+ token = DfTokenDao(db).get_token_by_id(DOCUMENT_TO_CLEANING)
+ if not token:
+ await websocket.send_json({"message": "Invalid token document_to_cleaning", "type": "error"})
while True:
receive_message = await websocket.receive_json()
print(f"Received from client {chat_id}: {receive_message}")
@@ -440,10 +449,13 @@
if workflow_type == 2:
inputs["file_list"] = files
inputs["Completion_of_main_indicators"] = title
- token = settings.dify_workflow_report
+ token = DfTokenDao(db).get_token_by_id(DOCUMENT_TO_REPORT)
+ if not token:
+ await websocket.send_json(
+ {"message": "Invalid token document_to_cleaning", "type": "error"})
complete_response = ""
async for rag_response in dify_service.workflow(token, current_user.id, inputs):
- print(rag_response)
+ # print(rag_response)
try:
if rag_response[:5] == "data:":
# 濡傛灉鏄紝鍒欐埅鍙栨帀鍓�5涓瓧绗︼紝骞跺幓闄ら灏剧┖鐧界
--
Gitblit v1.8.0