205 lines
5.4 KiB
Python
205 lines
5.4 KiB
Python
from __future__ import annotations
|
|
|
|
from abc import ABC, abstractmethod
|
|
|
|
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: ...
|