From 1aa5a547f2643b9e74ed7f2bb4f1469cbdbb6561 Mon Sep 17 00:00:00 2001 From: haotian <2421912570@qq.com> Date: Fri, 5 Sep 2025 17:17:40 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E5=88=9B=E5=BB=BA=E8=81=8A?= =?UTF-8?q?=E5=A4=A9=E5=8A=A9=E6=89=8B=E4=BC=9A=E8=AF=9D=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module_admin/controller/ragflow_controller.py | 12 +++++++++++- .../module_admin/entity/vo/ragflow_vo.py | 12 ++++++++++++ .../module_admin/service/ragflow_service.py | 10 +++++++++- 3 files changed, 32 insertions(+), 2 deletions(-) diff --git a/ruoyi-fastapi-backend/module_admin/controller/ragflow_controller.py b/ruoyi-fastapi-backend/module_admin/controller/ragflow_controller.py index 2fc02e1..e096f97 100644 --- a/ruoyi-fastapi-backend/module_admin/controller/ragflow_controller.py +++ b/ruoyi-fastapi-backend/module_admin/controller/ragflow_controller.py @@ -14,7 +14,8 @@ from module_admin.service.ragflow_service import RAGFlowService from utils.log_util import logger # from utils.page_util import PageResponseModel from utils.response_util import ResponseUtil -from module_admin.entity.vo.ragflow_vo import RagflowListQueryModel, ListDocumentsQueryModel, UpdateFileModel, DeleteFileModel, CreateDatasetModel, DocumentIdsModel, UpdateChatAssistantModel +from module_admin.entity.vo.ragflow_vo import RagflowListQueryModel, ListDocumentsQueryModel, UpdateFileModel, DeleteFileModel, CreateDatasetModel, DocumentIdsModel, UpdateChatAssistantModel,\ + CreateSessionWithChatModel # from config.env import RAGFlowConfig @@ -182,6 +183,15 @@ async def update_chat_assistant( # 创建属于聊天助手的会话 @ragflowController.post('/create_session_with_chat') +async def create_session_with_chat( + create_params: CreateSessionWithChatModel, +): + """ + 创建属于聊天助手的会话 + """ + + result = await RAGFlowService.create_session_with_chat_services(create_params) + return parse_result(result) def parse_result(result): code = result.get('code', 0) diff --git a/ruoyi-fastapi-backend/module_admin/entity/vo/ragflow_vo.py b/ruoyi-fastapi-backend/module_admin/entity/vo/ragflow_vo.py index 32950b9..2b5d14b 100644 --- a/ruoyi-fastapi-backend/module_admin/entity/vo/ragflow_vo.py +++ b/ruoyi-fastapi-backend/module_admin/entity/vo/ragflow_vo.py @@ -120,6 +120,18 @@ class UpdateChatAssistantModel(BaseModel): prompt: Optional[Prompt] = Field(default = None, description='LLM模型') +class CreateSessionWithChatModel(BaseModel): + """ + 创建会话及会话内容模型 + """ + + model_config = ConfigDict(alias_generator=to_camel, from_attributes=True) + + chat_id: str = Field(default = None, description='会话ID') + name: str = Field(default = None, description='会话名称') + user_id: Optional[str] = Field(default = None, description='用户ID') + + diff --git a/ruoyi-fastapi-backend/module_admin/service/ragflow_service.py b/ruoyi-fastapi-backend/module_admin/service/ragflow_service.py index f079b90..6ce84e5 100644 --- a/ruoyi-fastapi-backend/module_admin/service/ragflow_service.py +++ b/ruoyi-fastapi-backend/module_admin/service/ragflow_service.py @@ -1,6 +1,7 @@ from sqlalchemy.ext.asyncio import AsyncSession from utils.ragflow_asy_util import AsyncRAGFlowClient -from module_admin.entity.vo.ragflow_vo import RagflowListQueryModel, ListDocumentsQueryModel, UpdateFileModel, DeleteFileModel, CreateDatasetModel, DocumentIdsModel, UpdateChatAssistantModel +from module_admin.entity.vo.ragflow_vo import RagflowListQueryModel, ListDocumentsQueryModel, UpdateFileModel, DeleteFileModel, CreateDatasetModel, DocumentIdsModel, UpdateChatAssistantModel \ + ,CreateSessionWithChatModel from config.env import RAGFlowConfig from typing import List @@ -162,4 +163,11 @@ class RAGFlowService: async def update_chat_assistant_services(cls, update_params: UpdateChatAssistantModel): async with AsyncRAGFlowClient(RAGFlowConfig.RAGFLOW_BASE_URL, RAGFlowConfig.RAGFLOW_API_KEY) as client: result = await client.update_chat_assistant(**(update_params.model_dump())) + return result + + # 创建助手会话 + @classmethod + async def create_session_with_chat_services(cls, create_params: CreateSessionWithChatModel): + async with AsyncRAGFlowClient(RAGFlowConfig.RAGFLOW_BASE_URL, RAGFlowConfig.RAGFLOW_API_KEY) as client: + result = await client.create_session_with_chat(**(create_params.model_dump())) return result \ No newline at end of file