zhaoqingang
2025-02-13 39bade10a3d7bc89fa5f37c9a0130ac7d5051719
Merge branch 'master' of http://192.168.5.5:10010/r/rag-gateway into develop_2.1
5个文件已修改
45 ■■■■ 已修改文件
app/api/chat.py 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/api/files.py 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/api/v2/public_api.py 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/config/const.py 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/config/env_conf/menu_conf.json 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/api/chat.py
@@ -11,7 +11,7 @@
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, DOCUMENT_IA_QUESTIONS, \
    DOCUMENT_TO_REPORT_TITLE, DOCUMENT_TO_TITLE, DOCUMENT_TO_PAPER
    DOCUMENT_TO_REPORT_TITLE, DOCUMENT_TO_TITLE, DOCUMENT_TO_PAPER, DOCUMENT_IA_QUESTIONS_DS
from app.models import MenuCapacityModel
from app.models.agent_model import AgentModel, AgentType
from app.models.base_model import get_db
@@ -807,8 +807,12 @@
                                        result = {"message": f"内部错误: {e2}", "type": "close"}
                                        await websocket.send_json(result)
                                        print(f"Error process message of ragflow: {e2}")
                elif chat_type == "documentIa":
                    token = DfTokenDao(db).get_token_by_id(DOCUMENT_IA_QUESTIONS)
                elif chat_type == "documentIa" or chat_type == "documentIaDs":
                    token_dict = {
                        "documentIa": DOCUMENT_IA_QUESTIONS,
                        "documentIaDs": DOCUMENT_IA_QUESTIONS_DS,
                    }
                    token = DfTokenDao(db).get_token_by_id(token_dict[chat_type])
                    # print(token)
                    if not token:
                        await websocket.send_json({"message": "Invalid token", "type": "error"})
@@ -874,11 +878,13 @@
                                                logger.error(data)
                                                continue
                                            elif isinstance(answer, dict):
                                                if answer.get("status") == "failed":
                                                    message = answer.get("error", "")
                                                else:
                                                message = answer.get("title", "")
                                            result = {"message": message, "type": "system"}
                                            continue
                                            # continue
                                    elif data.get("event") == "message":  # "event": "message_end"
                                        # 正常输出
                                        answer = data.get("answer", "")
app/api/files.py
@@ -11,7 +11,7 @@
from app.api import Response, get_current_user, ResponseList
from app.config.config import settings
from app.config.const import DOCUMENT_TO_REPORT, IMAGE_TO_TEXT, DOCUMENT_TO_REPORT_TITLE, DOCUMENT_IA_QUESTIONS, \
    DOCUMENT_TO_PAPER
    DOCUMENT_TO_PAPER, DOCUMENT_IA_QUESTIONS_DS
from app.models import MenuCapacityModel
from app.models.agent_model import AgentType, AgentModel
from app.models.base_model import get_db
@@ -116,11 +116,12 @@
                data = await dify_service.upload(token, file.filename, file_content, current_user.id)
            except Exception as e:
                raise HTTPException(status_code=500, detail=str(e))
        elif agent.chat_type == "reportWorkflow" or agent.chat_type == "documentIa" or agent.chat_type == "paperTalk":
        elif agent.chat_type == "reportWorkflow" or agent.chat_type == "documentIa" or agent.chat_type == "paperTalk" or agent.chat_type == "documentIaDs":
            token_dict = {
                "reportWorkflow": DOCUMENT_TO_REPORT_TITLE,
                "documentIa": DOCUMENT_IA_QUESTIONS,
                "paperTalk": DOCUMENT_TO_PAPER,
                "documentIaDs": DOCUMENT_IA_QUESTIONS_DS,
            }
            token = DfTokenDao(db).get_token_by_id(token_dict[agent.chat_type])
            if not token:
app/api/v2/public_api.py
@@ -5,7 +5,8 @@
from Log import logger
from app.api import Response
from app.api.auth import login
from app.config.const import IMAGE_TO_TEXT, DOCUMENT_TO_CLEANING, DOCUMENT_TO_REPORT, DIFY, BISHENG, RAGFLOW
from app.config.const import IMAGE_TO_TEXT, DOCUMENT_TO_CLEANING, DOCUMENT_TO_REPORT, DIFY, BISHENG, RAGFLOW, \
    DOCUMENT_IA_QUESTIONS, DOCUMENT_TO_REPORT_TITLE, DOCUMENT_TO_TITLE, DOCUMENT_TO_PAPER
from app.models.base_model import get_db
from app.models.public_api_model import DfToken, AppRegister
from app.service.v2.api_token import DfTokenDao
@@ -18,7 +19,8 @@
@public_api.post("/sync/df_token", response_model=Response)
async def sync_df_token(df: DfToken, db=Depends(get_db)):
    token_dict = {IMAGE_TO_TEXT: df.image, DOCUMENT_TO_CLEANING: df.clean, DOCUMENT_TO_REPORT: df.report}
    token_dict = {IMAGE_TO_TEXT: df.image, DOCUMENT_TO_CLEANING: df.clean,
                  DOCUMENT_IA_QUESTIONS: df.doc, DOCUMENT_TO_REPORT_TITLE: df.report,DOCUMENT_TO_TITLE: df.title,DOCUMENT_TO_PAPER: df.paper}
    try:
        for api_id, token in token_dict.items():
app/config/const.py
@@ -4,6 +4,7 @@
DOCUMENT_TO_REPORT = "document_to_report"
IMAGE_TO_TEXT = "image_and_text_conversion"
DOCUMENT_IA_QUESTIONS = "document_ia_questions"
DOCUMENT_IA_QUESTIONS_DS = "document_ia_questions_ds"
DOCUMENT_TO_REPORT_TITLE = "document_to_report_title"
DOCUMENT_TO_TITLE = "document_to_title"
DOCUMENT_TO_PAPER = "document_to_paper"
app/config/env_conf/menu_conf.json
@@ -164,6 +164,23 @@
          "agentType": 4
        }
      ]
    },
    {
      "id": 10,
      "title": "文档智能(DS)",
      "icon": "7",
      "img": "/src/assets/index/7.png",
      "desc": "个人知识库的问答助手,基于您上传的文档进行问答,支持多文档",
      "describe": "个人知识库的问答助手,基于您上传的文档进行问答,支持多文档,大小在30M以内。",
      "rank": 90,
      "dialog": [
        {
          "id": "e138dd77-34d9-40f8-88f8-4d0ba7842b0b",
          "chat_id": "e138dd77-34d9-40f8-88f8-4d0ba7842b0b",
          "chat_type": "documentIaDs",
          "agentType": 4
        }
      ]
    }
  ]
}