实现删除文档接口
This commit is contained in:
parent
76fffdbc1d
commit
ce8d1a7d2a
@ -1,10 +1,10 @@
|
||||
from datetime import datetime
|
||||
# from datetime import datetime
|
||||
from typing import List
|
||||
from fastapi import APIRouter, Depends, Request, UploadFile, File, Form
|
||||
from pydantic_validation_decorator import ValidateFields
|
||||
from sqlalchemy.ext.asyncio import AsyncSession
|
||||
from config.enums import BusinessType
|
||||
from config.get_db import get_db
|
||||
# from pydantic_validation_decorator import ValidateFields
|
||||
# from sqlalchemy.ext.asyncio import AsyncSession
|
||||
# from config.enums import BusinessType
|
||||
# from config.get_db import get_db
|
||||
from module_admin.annotation.log_annotation import Log
|
||||
# from module_admin.aspect.interface_auth import CheckUserInterfaceAuth
|
||||
# from module_admin.entity.vo.notice_vo import DeleteNoticeModel, NoticeModel, NoticePageQueryModel
|
||||
@ -12,9 +12,9 @@ from module_admin.annotation.log_annotation import Log
|
||||
from module_admin.service.login_service import LoginService
|
||||
from module_admin.service.ragflow_service import RAGFlowService
|
||||
from utils.log_util import logger
|
||||
from utils.page_util import PageResponseModel
|
||||
# from utils.page_util import PageResponseModel
|
||||
from utils.response_util import ResponseUtil
|
||||
from module_admin.entity.vo.ragflow_vo import RagflowListQueryModel, ListDocumentsQueryModel, UpdateFileModel
|
||||
from module_admin.entity.vo.ragflow_vo import RagflowListQueryModel, ListDocumentsQueryModel, UpdateFileModel, DeleteFileModel
|
||||
# from config.env import RAGFlowConfig
|
||||
|
||||
|
||||
@ -86,6 +86,20 @@ async def update_file_dataset(
|
||||
result = await RAGFlowService.update_file_dataset_services(dataset_id ,document_id, update_params)
|
||||
|
||||
return parse_result(result)
|
||||
|
||||
# 删除文档
|
||||
@ragflowController.post('/delete_file/{dataset_id}')
|
||||
async def delete_file(
|
||||
dataset_id: str,
|
||||
delete_params: DeleteFileModel,
|
||||
# query_db: AsyncSession = Depends(get_db),
|
||||
):
|
||||
"""
|
||||
删除文件
|
||||
"""
|
||||
result = await RAGFlowService.delete_file_services(dataset_id, delete_params)
|
||||
|
||||
return parse_result(result)
|
||||
|
||||
|
||||
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
from datetime import datetime
|
||||
from pydantic import BaseModel, ConfigDict, Field
|
||||
from pydantic.alias_generators import to_camel
|
||||
from typing import Optional
|
||||
from typing import Optional, List
|
||||
from module_admin.annotation.pydantic_annotation import as_query
|
||||
|
||||
|
||||
@ -45,5 +45,10 @@ class UpdateFileModel(BaseModel):
|
||||
parser_config: Optional[dict] = Field(default=None, description='解析器配置')
|
||||
|
||||
|
||||
class DeleteFileModel(BaseModel):
|
||||
|
||||
ids: List[str] = Field(description='文档ID列表')
|
||||
|
||||
|
||||
|
||||
|
||||
@ -1,7 +1,8 @@
|
||||
from sqlalchemy.ext.asyncio import AsyncSession
|
||||
from utils.ragflow_asy_util import AsyncRAGFlowClient
|
||||
from module_admin.entity.vo.ragflow_vo import RagflowListQueryModel, ListDocumentsQueryModel, UpdateFileModel
|
||||
from module_admin.entity.vo.ragflow_vo import RagflowListQueryModel, ListDocumentsQueryModel, UpdateFileModel, DeleteFileModel
|
||||
from config.env import RAGFlowConfig
|
||||
from typing import List
|
||||
|
||||
class RAGFlowService:
|
||||
"""
|
||||
@ -35,6 +36,7 @@ class RAGFlowService:
|
||||
return result
|
||||
|
||||
# 上传文档到数据集
|
||||
@classmethod
|
||||
async def upload_file_dataset_services(
|
||||
cls,
|
||||
dataset_id: str,
|
||||
@ -56,4 +58,16 @@ class RAGFlowService:
|
||||
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
|
||||
return result
|
||||
|
||||
# 删除文档
|
||||
@classmethod
|
||||
async def delete_file_services(
|
||||
cls,
|
||||
dataset_id: str,
|
||||
delete_params: DeleteFileModel,
|
||||
):
|
||||
async with AsyncRAGFlowClient(RAGFlowConfig.RAGFLOW_BASE_URL, RAGFlowConfig.RAGFLOW_API_KEY) as client:
|
||||
result = await client.delete_documents(dataset_id=dataset_id, **(delete_params.model_dump()))
|
||||
return result
|
||||
|
||||
Loading…
Reference in New Issue
Block a user