feat: restore rag dataset management and linkage
This commit is contained in:
@@ -2,9 +2,203 @@ from __future__ import annotations
|
||||
|
||||
from abc import ABC, abstractmethod
|
||||
|
||||
from fastapi_modules.fastapi_leaudit.domian.vo.ragDatasetVo import RagDatasetPageVO
|
||||
from fastapi_modules.fastapi_leaudit.domian.Dto.ragDatasetDto import RagDatasetUpdateDTO
|
||||
from fastapi_modules.fastapi_leaudit.domian.vo.ragDatasetVo import (
|
||||
RagDatasetDetailVO,
|
||||
RagDatasetDocumentItemVO,
|
||||
RagDatasetDocumentPageVO,
|
||||
RagDatasetPageVO,
|
||||
RagDatasetRetrieveResponseVO,
|
||||
RagDatasetSegmentPageVO,
|
||||
RagDatasetUploadDocumentVO,
|
||||
)
|
||||
from fastapi_modules.fastapi_leaudit.domian.vo.ragChatVo import RagOperationResultVO
|
||||
|
||||
|
||||
class IRagDatasetService(ABC):
|
||||
@abstractmethod
|
||||
async def GetAdminDatasets(
|
||||
self,
|
||||
CurrentUserId: int,
|
||||
UserArea: str | None,
|
||||
UserRole: str | None,
|
||||
Area: str | None,
|
||||
OnlyEnabled: bool | None,
|
||||
Page: int,
|
||||
PageSize: int,
|
||||
) -> RagDatasetPageVO: ...
|
||||
|
||||
@abstractmethod
|
||||
async def CreateAdminDataset(
|
||||
self,
|
||||
CurrentUserId: int,
|
||||
UserArea: str | None,
|
||||
UserRole: str | None,
|
||||
Body: dict,
|
||||
) -> RagDatasetDetailVO: ...
|
||||
|
||||
@abstractmethod
|
||||
async def UpdateAdminDataset(
|
||||
self,
|
||||
CurrentUserId: int,
|
||||
UserArea: str | None,
|
||||
UserRole: str | None,
|
||||
DatasetId: int,
|
||||
Body: dict,
|
||||
) -> RagDatasetDetailVO | None: ...
|
||||
|
||||
@abstractmethod
|
||||
async def DeleteAdminDataset(
|
||||
self,
|
||||
CurrentUserId: int,
|
||||
UserArea: str | None,
|
||||
UserRole: str | None,
|
||||
DatasetId: int,
|
||||
) -> RagOperationResultVO: ...
|
||||
|
||||
@abstractmethod
|
||||
async def GetMyDatasets(self, CurrentUserId: int, UserArea: str | None, UserRole: str | None) -> RagDatasetPageVO: ...
|
||||
|
||||
@abstractmethod
|
||||
async def GetDatasetDetail(self, CurrentUserId: int, UserArea: str | None, UserRole: str | None, DatasetId: int) -> RagDatasetDetailVO | None: ...
|
||||
|
||||
@abstractmethod
|
||||
async def UpdateDataset(self, CurrentUserId: int, UserArea: str | None, UserRole: str | None, DatasetId: int, Body: RagDatasetUpdateDTO) -> RagDatasetDetailVO | None: ...
|
||||
|
||||
@abstractmethod
|
||||
async def GetDatasetDocuments(
|
||||
self,
|
||||
CurrentUserId: int,
|
||||
UserArea: str | None,
|
||||
UserRole: str | None,
|
||||
DatasetId: int,
|
||||
Page: int,
|
||||
Limit: int,
|
||||
Keyword: str | None,
|
||||
) -> RagDatasetDocumentPageVO: ...
|
||||
|
||||
@abstractmethod
|
||||
async def GetDatasetDocumentDetail(
|
||||
self,
|
||||
CurrentUserId: int,
|
||||
UserArea: str | None,
|
||||
UserRole: str | None,
|
||||
DatasetId: int,
|
||||
DocumentId: int,
|
||||
) -> RagDatasetDocumentItemVO | None: ...
|
||||
|
||||
@abstractmethod
|
||||
async def UploadDatasetDocument(
|
||||
self,
|
||||
CurrentUserId: int,
|
||||
UserArea: str | None,
|
||||
UserRole: str | None,
|
||||
DatasetId: int,
|
||||
FileName: str,
|
||||
ContentType: str | None,
|
||||
Content: bytes,
|
||||
ProcessConfig: dict | None,
|
||||
) -> RagDatasetUploadDocumentVO: ...
|
||||
|
||||
@abstractmethod
|
||||
async def GetDatasetDocumentSegments(
|
||||
self,
|
||||
CurrentUserId: int,
|
||||
UserArea: str | None,
|
||||
UserRole: str | None,
|
||||
DatasetId: int,
|
||||
DocumentId: int,
|
||||
Page: int,
|
||||
Limit: int,
|
||||
Keyword: str | None,
|
||||
) -> RagDatasetSegmentPageVO: ...
|
||||
|
||||
@abstractmethod
|
||||
async def DeleteDatasetDocument(
|
||||
self,
|
||||
CurrentUserId: int,
|
||||
UserArea: str | None,
|
||||
UserRole: str | None,
|
||||
DatasetId: int,
|
||||
DocumentId: int,
|
||||
) -> RagOperationResultVO: ...
|
||||
|
||||
@abstractmethod
|
||||
async def RetrieveDataset(
|
||||
self,
|
||||
CurrentUserId: int,
|
||||
UserArea: str | None,
|
||||
UserRole: str | None,
|
||||
DatasetId: int,
|
||||
Query: str,
|
||||
RetrievalModel: dict | None,
|
||||
) -> RagDatasetRetrieveResponseVO: ...
|
||||
|
||||
@abstractmethod
|
||||
async def GetDatasetDocumentIndexingStatus(
|
||||
self,
|
||||
CurrentUserId: int,
|
||||
UserArea: str | None,
|
||||
UserRole: str | None,
|
||||
DatasetId: int,
|
||||
DocumentId: int,
|
||||
) -> dict: ...
|
||||
|
||||
@abstractmethod
|
||||
async def UpdateDatasetDocumentByFile(
|
||||
self,
|
||||
CurrentUserId: int,
|
||||
UserArea: str | None,
|
||||
UserRole: str | None,
|
||||
DatasetId: int,
|
||||
DocumentId: int,
|
||||
FileName: str,
|
||||
ContentType: str | None,
|
||||
Content: bytes,
|
||||
ProcessConfig: dict | None,
|
||||
) -> RagDatasetUploadDocumentVO: ...
|
||||
|
||||
@abstractmethod
|
||||
async def BatchUpdateDatasetDocumentStatus(
|
||||
self,
|
||||
CurrentUserId: int,
|
||||
UserArea: str | None,
|
||||
UserRole: str | None,
|
||||
DatasetId: int,
|
||||
DocumentIds: list[int],
|
||||
Enabled: bool,
|
||||
) -> RagOperationResultVO: ...
|
||||
|
||||
@abstractmethod
|
||||
async def GetDatasetDocumentSegmentDetail(
|
||||
self,
|
||||
CurrentUserId: int,
|
||||
UserArea: str | None,
|
||||
UserRole: str | None,
|
||||
DatasetId: int,
|
||||
DocumentId: int,
|
||||
SegmentId: str,
|
||||
) -> RagDatasetSegmentItemVO | None: ...
|
||||
|
||||
@abstractmethod
|
||||
async def UpdateDatasetDocumentSegment(
|
||||
self,
|
||||
CurrentUserId: int,
|
||||
UserArea: str | None,
|
||||
UserRole: str | None,
|
||||
DatasetId: int,
|
||||
DocumentId: int,
|
||||
SegmentId: str,
|
||||
Body: dict,
|
||||
) -> RagDatasetSegmentItemVO | None: ...
|
||||
|
||||
@abstractmethod
|
||||
async def DeleteDatasetDocumentSegment(
|
||||
self,
|
||||
CurrentUserId: int,
|
||||
UserArea: str | None,
|
||||
UserRole: str | None,
|
||||
DatasetId: int,
|
||||
DocumentId: int,
|
||||
SegmentId: str,
|
||||
) -> RagOperationResultVO: ...
|
||||
|
||||
Reference in New Issue
Block a user