实现创建聊天助手会话接口

This commit is contained in:
haotian 2025-09-05 17:17:40 +08:00
parent 133736c3e2
commit 1aa5a547f2
3 changed files with 32 additions and 2 deletions

View File

@ -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)

View File

@ -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')

View File

@ -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