实现开始解析文档接口

This commit is contained in:
haotian 2025-09-05 14:24:08 +08:00
parent be96325416
commit 0de0c9e53d
4 changed files with 31 additions and 6 deletions

View File

@ -99,7 +99,7 @@ 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_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, CreateDatasetModel
from module_admin.entity.vo.ragflow_vo import RagflowListQueryModel, ListDocumentsQueryModel, UpdateFileModel, DeleteFileModel, CreateDatasetModel, DocumentIdsModel
# from config.env import RAGFlowConfig
@ -107,6 +107,16 @@ async def update_file_dataset(
return parse_result(result)
# 解析文档
@ragflowController.post('/parse_documents/{dataset_id}')
async def parse_documents(
dataset_id: str,
parse_params: DocumentIdsModel,
# query_db: AsyncSession = Depends(get_db),
):
result = await RAGFlowService.parse_documents_services(dataset_id, parse_params)
return parse_result(result)
# 删除文档
@ragflowController.post('/delete_file/{dataset_id}')
async def delete_file(

View File

@ -46,9 +46,14 @@ class UpdateFileModel(BaseModel):
parser_config: Optional[dict] = Field(default=None, description='解析器配置')
class DeleteFileModel(BaseModel):
class DocumentIdsModel(BaseModel):
model_config = ConfigDict(alias_generator=to_camel, from_attributes=True)
documnet_ids: list[str] = Field(default=None, description='文件ID列表')
class DeleteFileModel(BaseModel):
ids: List[str] = Field(description='文档ID列表')

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, CreateDatasetModel
from module_admin.entity.vo.ragflow_vo import RagflowListQueryModel, ListDocumentsQueryModel, UpdateFileModel, DeleteFileModel, CreateDatasetModel, DocumentIdsModel
from config.env import RAGFlowConfig
from typing import List
@ -87,7 +87,17 @@ class RAGFlowService:
result = await client.upload_documents_bytes(dataset_id=dataset_id, file_bytes=files)
return result
#解析文档
@classmethod
async def parse_documents_services(
cls,
dataset_id: str,
parse_params: DocumentIdsModel,
):
async with AsyncRAGFlowClient(RAGFlowConfig.RAGFLOW_BASE_URL, RAGFlowConfig.RAGFLOW_API_KEY) as client:
result = await client.parse_documents(dataset_id=dataset_id, document_ids=parse_params.documnet_ids)
return result
# 更新文档内容
@classmethod
async def update_file_dataset_services(