| | |
| | | from sqlalchemy.orm import Session |
| | | from starlette.responses import StreamingResponse, Response |
| | | from app.api import get_current_user, get_api_key |
| | | from app.config.const import smart_message_error, http_400, http_500, http_200, complex_dialog_chat |
| | | from app.config.const import smart_message_error, http_400, http_500, http_200, complex_dialog_chat, \ |
| | | complex_knowledge_chat_deep, complex_knowledge_chat |
| | | from app.models import UserModel |
| | | from app.models.base_model import get_db |
| | | from app.models.v2.chat import RetrievalRequest, ChatDataRequest, ComplexChatDao |
| | |
| | | |
| | | @chat_router_v2.post("/complex/chat/completions") |
| | | async def api_complex_chat_completions(chat: ChatDataRequest, current_user: UserModel = Depends(get_current_user), db: Session = Depends(get_db)): # current_user: UserModel = Depends(get_current_user) |
| | | # chat_mode = chat.chatMode |
| | | if chat.isDeep == 2 and chat.chatMode == complex_knowledge_chat: |
| | | chat.chatMode = complex_knowledge_chat_deep |
| | | complex_chat = await ComplexChatDao(db).get_complex_chat_by_mode(chat.chatMode) |
| | | if complex_chat: |
| | | if not chat.sessionId: |
| | |
| | | complex_clean_chat = 7 # 清洗 |
| | | complex_title_chat = 8 # 小标题 |
| | | complex_report_chat = 9 # 报告 |
| | | complex_knowledge_chat_deep = 10 # 知识库对话-深度对话 |
| | | |
| | | |
| | | ### --------------------------------basic develop agent--------------------------------------------------- |
| | | basic_report_talk ="basic_report_talk" |
| | |
| | | }, |
| | | "dialogType": "4", |
| | | "mode": "complex-chat" |
| | | }, |
| | | { |
| | | "id": "8f3e8d9c0bab11f0896e0242ac120006", |
| | | "name": "知识库专家-深度", |
| | | "description": "知识库专家", |
| | | "icon": "intellFrame4", |
| | | "chat_mode": 10, |
| | | "parameters": { |
| | | }, |
| | | "dialogType": "1", |
| | | "mode": "complex-chat" |
| | | } |
| | | ] |
| | | } |
| | |
| | | from sqlalchemy import Column, Integer, String, BigInteger, ForeignKey, DateTime, Text, TEXT |
| | | from sqlalchemy.orm import Session |
| | | |
| | | from app.config.const import Dialog_STATSU_DELETE, Dialog_STATSU_ON, complex_knowledge_chat |
| | | from app.config.const import Dialog_STATSU_DELETE, Dialog_STATSU_ON, complex_knowledge_chat, complex_knowledge_chat_deep |
| | | from app.models.base_model import Base |
| | | from app.utils.common import current_time |
| | | |
| | |
| | | "isDeep": query.get("isDeep", 1), |
| | | "mindmap": True if self.mindmap else False, |
| | | } |
| | | if self.chat_mode == complex_knowledge_chat: |
| | | if self.chat_mode == complex_knowledge_chat or self.chat_mode == complex_knowledge_chat_deep: |
| | | res['reference'] = json.loads(self.node_data) if self.node_data else {} |
| | | else: |
| | | res['node_list'] = json.loads(self.node_data) if self.node_data else [] |
| | |
| | | |
| | | query_data["parentId"] = new_message_id |
| | | try: |
| | | if chat_request.chatMode == complex_knowledge_chat: |
| | | if chat_request.chatMode == complex_knowledge_chat or chat_request.chatMode == complex_knowledge_chat_deep: |
| | | if not conversation_id: |
| | | session = await service_chat_sessions(db, chat_id, chat_request.query) |
| | | # print(session) |
| | |
| | | from app.config.agent_base_url import RG_APP_TOKEN_LIST, RG_APP_NEW_TOKEN, DF_CHAT_API_KEY |
| | | # from app.api import pwd_context |
| | | from app.config.const import DIFY, ENV_CONF_PATH, RAGFLOW, smart_server, chat_server, workflow_server, TMP_DICT, \ |
| | | rg_api_token |
| | | rg_api_token, Dialog_STATSU_ON |
| | | from app.models import MenuCapacityModel, WebMenuModel, GroupModel, RoleModel, DialogModel, UserModel, UserAppModel, \ |
| | | cipher_suite, UserTokenModel, ApiTokenModel, ComplexChatModel |
| | | from app.service.auth import UserAppDao |
| | |
| | | dialog.icon = agent["icon"] |
| | | dialog.mode = agent["mode"] |
| | | dialog.chat_mode = agent["chat_mode"] |
| | | dialog.status = Dialog_STATSU_ON |
| | | # dialog.parameters = json.dumps(agent["parameters"]) |
| | | db.commit() |
| | | except Exception as e: |