实现新建数据集接口

This commit is contained in:
haotian 2025-09-05 11:24:51 +08:00
parent aab2e52f41
commit 4c75cc183e
4 changed files with 62 additions and 4 deletions

View File

@ -79,6 +79,9 @@ HAIKANG_DOOR_STATES_URL = '/api/v1/door/states'
HAIKANG_DOOR_DOCONTROL_URL = '/api/acs/v1/door/doControl'
# 门禁点事件v2
HAIKANG_DOOR_ENVENTS_URL = '/api/acs/v2/door/events'
# 门禁点列表v2
HAIKANG_DOOR_SEARCH = '/api/resource/v2/door/search'
# 人脸分组1vN检索
HAIKANG_APPLICATION_ONETOMANY_URL = '/api/frs/v1/application/oneToMany'
@ -91,3 +94,12 @@ HAIKANG_FACE_GROUP_URL = '/api/frs/v1/face/group'
# 查询人脸识别事件
HAIKANG_FACECAPATURE_SEARCH = '/api/frs/v1/event/face_capture/search'
#-------------------RAGFlow配置---------------------
RAGFLOW_BASE_URL ="http://10.0.0.202:82",
RAGFLOW_API_KEY ="ragflow-hlMjRmNzE2ODNiNTExZjA4ZTNlMDI0Mm"
#-------------------RAGFlow配置end------------------

View File

@ -14,7 +14,7 @@ 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
from module_admin.entity.vo.ragflow_vo import RagflowListQueryModel, ListDocumentsQueryModel, UpdateFileModel, DeleteFileModel, CreateDatasetModel
# from config.env import RAGFlowConfig
@ -37,6 +37,17 @@ async def get_system_ragflow_list(
return parse_result(result)
# 创建数据集
@ragflowController.post('/create_dataset')
async def create_dataset(
request: Request,
create_dataset_params: CreateDatasetModel,
):
result = await RAGFlowService.create_dataset_services(create_dataset_params)
return parse_result(result)
# 列出数据集中文档列表
@ragflowController.get("/list_documents/{dataset_id}")

View File

@ -35,6 +35,7 @@ class UpdateFileModel(BaseModel):
更新文件模型
"""
# name 要带文件后缀名
model_config = ConfigDict(alias_generator=to_camel, from_attributes=True)
name: Optional[str] = Field(default=None, description='文件名称')
meta_fields: Optional[dict] = Field(default=None, description='文件元数据')
@ -46,9 +47,25 @@ class UpdateFileModel(BaseModel):
class DeleteFileModel(BaseModel):
model_config = ConfigDict(alias_generator=to_camel, from_attributes=True)
ids: List[str] = Field(description='文档ID列表')
class CreateDatasetModel(BaseModel):
"""
创建数据集参数模型
"""
model_config = ConfigDict(alias_generator=to_camel, from_attributes=True)
name:str = Field(description='数据集名称')
avatar: Optional[str] = Field(default=None, description='数据集头像, base64编码')
description: Optional[str] = Field(default=None, description='数据集描述')
embedding_model: Optional[str] = Field(default=None, description='数据集的embedding模型')
permission: Optional[str] = Field(default = "me", description='数据集权限')
chunk_method: Optional[str] = Field(default = "naive", description='数据集分块方法')
parser_config: Optional[dict] = Field(default = None, description='数据集解析配置')

View File

@ -1,6 +1,6 @@
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
from module_admin.entity.vo.ragflow_vo import RagflowListQueryModel, ListDocumentsQueryModel, UpdateFileModel, DeleteFileModel, CreateDatasetModel
from config.env import RAGFlowConfig
from typing import List
@ -21,6 +21,24 @@ class RAGFlowService:
# 获取分页数据
return result
# 创建数据集
@classmethod
async def create_dataset_services(cls, create_dataset_params: CreateDatasetModel):
"""创建数据集
Args:
create_dataset_params (CreateDatasetModel): 创建参数
Returns:
_type_: _description_
"""
async with AsyncRAGFlowClient(RAGFlowConfig.RAGFLOW_BASE_URL, RAGFlowConfig.RAGFLOW_API_KEY) as client:
result = await client.create_dataset(
**(create_dataset_params.model_dump())
)
return result
# 获取数据集中文档列表
@classmethod