Merge branch 'master' of http://192.168.5.5:10010/r/rag-gateway into develop_2.1
| | |
| | | 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 |
| | |
| | | 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"}) |
| | |
| | | logger.error(data) |
| | | continue |
| | | elif isinstance(answer, dict): |
| | | if answer.get("status") == "failed": |
| | | message = answer.get("error", "") |
| | | else: |
| | | message = answer.get("title", "") |
| | | |
| | | message = answer.get("title", "") |
| | | |
| | | result = {"message": message, "type": "system"} |
| | | continue |
| | | result = {"message": message, "type": "system"} |
| | | # continue |
| | | elif data.get("event") == "message": # "event": "message_end" |
| | | # 正常输出 |
| | | answer = data.get("answer", "") |
| | |
| | | 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 |
| | |
| | | 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: |
| | |
| | | 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 |
| | |
| | | |
| | | @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(): |
| | |
| | | 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" |
| | |
| | | "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 |
| | | } |
| | | ] |
| | | } |
| | | ] |
| | | } |