from datetime import datetime from fastapi import APIRouter, Depends, Request 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 # from module_admin.entity.vo.user_vo import CurrentUserModel 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.response_util import ResponseUtil from module_admin.entity.vo.ragflow_vo import RagflowListQueryModel, ListDocumentsQueryModel # from config.env import RAGFlowConfig ragflowController = APIRouter(prefix="/system/ragflow", dependencies=[Depends(LoginService.get_current_user)]) # 查看数据集列表 @ragflowController.post("/dataset_list" # , response_model=PageResponseModel # , dependencies=[Depends(CheckUserInterfaceAuth("system:ragflow:list"))]" ) async def get_system_ragflow_list( request: Request, rage_flow_dastset_query: RagflowListQueryModel , # query_db: AsyncSession = Depends(get_db), ): result = await RAGFlowService.get_ragflow_dataset_list_services(None, rage_flow_dastset_query) return ResponseUtil.success(data = result) # 获取分页数据 # ragflow_list, total = await RagflowService.get_ragflow_list(query_db, ragflow_page_query) # 列出数据集中文档列表 @ragflowController.get("/list_documents/{dataset_id}") async def list_documents_by_dataset_id( request: Request, dataset_id: str, list_documents_query: ListDocumentsQueryModel = Depends(ListDocumentsQueryModel.as_query), # query_db: AsyncSession = Depends(get_db), ): """ 列出数据集中文档列表 """ print(list_documents_query) result = await RAGFlowService.list_documents(None, dataset_id, list_documents_query) return ResponseUtil.success(data = result)