zhaoqingang
2024-12-31 6b4093952e555e1eb2713bd85133a5f697cda1e0
app/api/files.py
@@ -10,11 +10,13 @@
from app.api import Response, get_current_user, ResponseList
from app.config.config import settings
from app.config.const import DOCUMENT_TO_REPORT_TITLE, IMAGE_TO_TEXT
from app.models.agent_model import AgentType, AgentModel
from app.models.base_model import get_db
from app.models.user_model import UserModel
from app.service.basic import BasicService
from app.service.bisheng import BishengService
from app.service.common.api_token import DfTokenDao
from app.service.difyService import DifyService
from app.service.ragflow import RagflowService
from app.service.service_token import get_ragflow_token, get_bisheng_token
@@ -96,9 +98,11 @@
            # result = await service.paper_file_upload(chat_id, file.filename, file_content)
    elif agent.agent_type == AgentType.DIFY:
        token = settings.dify_api_token
        dify_service = DifyService(base_url=settings.dify_base_url)
        if agent.type == "imageTalk":
            token = DfTokenDao(db).get_token_by_id(IMAGE_TO_TEXT)
            if not token:
                raise HTTPException(status_code=500, detail="获取token失败,image_and_text_conversion!")
            file = file[0]
            # 读取上传的文件内容
            try:
@@ -109,7 +113,10 @@
                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.type == "reportWorkflow":
        elif agent.type == "reportWorkflow" or agent.type == "documentIa":
            token = DfTokenDao(db).get_token_by_id(DOCUMENT_TO_REPORT_TITLE)
            if not token:
                raise HTTPException(status_code=500, detail="获取token失败,document_to_report!")
            result = []
            for f in file:
                try: