实现更新文档功能(更新名称, 分块方法)
This commit is contained in:
parent
39ed13daf5
commit
3d474468e3
@ -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
|
||||
from module_admin.entity.vo.ragflow_vo import RagflowListQueryModel, ListDocumentsQueryModel, UpdateFileModel
|
||||
# from config.env import RAGFlowConfig
|
||||
|
||||
|
||||
@ -70,4 +70,20 @@ async def upload_file_dataset(
|
||||
# print(file)
|
||||
result = await RAGFlowService.upload_file_dataset_services(None, dataset_id ,files)
|
||||
|
||||
return ResponseUtil.success(data = result)
|
||||
return ResponseUtil.success(data = result)
|
||||
|
||||
# 更新文档
|
||||
@ragflowController.post("/update_file/{dataset_id}/{document_id}")
|
||||
async def update_file_dataset(
|
||||
dataset_id: str,
|
||||
document_id: str,
|
||||
update_params: UpdateFileModel,
|
||||
# query_db: AsyncSession = Depends(get_db),
|
||||
):
|
||||
"""
|
||||
更新文件到数据集
|
||||
"""
|
||||
# print(file)
|
||||
result = await RAGFlowService.update_file_dataset_services(dataset_id ,document_id, update_params)
|
||||
|
||||
return ResponseUtil.success(result)
|
||||
@ -29,4 +29,21 @@ class ListDocumentsQueryModel(BaseModel):
|
||||
document_id: Optional[str] = Field(default=None, description='文档ID')
|
||||
document_name: Optional[str] = Field(default=None, description='文档名称')
|
||||
|
||||
|
||||
class UpdateFileModel(BaseModel):
|
||||
"""
|
||||
更新文件模型
|
||||
"""
|
||||
# name 要带文件后缀名
|
||||
name: Optional[str] = Field(default=None, description='文件名称')
|
||||
meta_fields: Optional[dict] = Field(default=None, description='文件元数据')
|
||||
|
||||
# naive, manual qa table paper book laws presentation picture one email
|
||||
chunk_method: Optional[str] = Field(default=None, description='分块方法')
|
||||
|
||||
# 不同的分块方法有不同的参数.
|
||||
parser_config: Optional[dict] = Field(default=None, description='解析器配置')
|
||||
|
||||
|
||||
|
||||
|
||||
@ -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
|
||||
from module_admin.entity.vo.ragflow_vo import RagflowListQueryModel, ListDocumentsQueryModel, UpdateFileModel
|
||||
from config.env import RAGFlowConfig
|
||||
|
||||
class RAGFlowService:
|
||||
@ -43,4 +43,17 @@ class RAGFlowService:
|
||||
async with AsyncRAGFlowClient(RAGFlowConfig.RAGFLOW_BASE_URL, RAGFlowConfig.RAGFLOW_API_KEY) as client:
|
||||
result = await client.upload_documents_bytes(dataset_id=dataset_id, file_bytes=files)
|
||||
|
||||
return result.get('data', None)
|
||||
|
||||
# 更新文档内容
|
||||
@classmethod
|
||||
async def update_file_dataset_services(
|
||||
cls,
|
||||
dataset_id: str,
|
||||
document_id: str,
|
||||
update_params: UpdateFileModel,
|
||||
):
|
||||
async with AsyncRAGFlowClient(RAGFlowConfig.RAGFLOW_BASE_URL, RAGFlowConfig.RAGFLOW_API_KEY) as client:
|
||||
result = await client.update_document(dataset_id=dataset_id, document_id=document_id, **(update_params.model_dump()))
|
||||
|
||||
return result.get('data', None)
|
||||
Loading…
Reference in New Issue
Block a user