package cn.iocoder.yudao.module.ai.service.knowledge;
|
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
import cn.iocoder.yudao.module.ai.controller.admin.knowledge.vo.document.*;
|
import cn.iocoder.yudao.module.ai.controller.admin.knowledge.vo.segment.AiKnowledgeSegmentProcessRespVO;
|
import cn.iocoder.yudao.module.ai.dal.dataobject.knowledge.AiKnowledgeDocumentDO;
|
import jakarta.validation.Valid;
|
|
import java.util.List;
|
|
public interface AiKnowledgeDocumentService {
|
|
List<Long> createDocuments(@Valid AiKnowledgeDocumentCreateReqVO createReqVO);
|
|
void updateDocument(@Valid AiKnowledgeDocumentUpdateReqVO updateReqVO);
|
|
void deleteDocument(Long id);
|
|
AiKnowledgeDocumentDO getDocument(Long id);
|
|
AiKnowledgeDocumentDO validateDocumentExists(Long id);
|
|
PageResult<AiKnowledgeDocumentDO> getDocumentPage(AiKnowledgeDocumentPageReqVO pageReqVO);
|
|
void updateDocumentStatus(@Valid AiKnowledgeDocumentUpdateStatusReqVO updateStatusReqVO);
|
|
List<AiKnowledgeSegmentProcessRespVO> getDocumentProcessingProgress(List<Long> documentIds);
|
|
void processDocumentSegments(Long documentId);
|
|
/**
|
* 预览文档切分结果(不保存)
|
*
|
* @param url 文档 URL
|
* @param name 文档名称
|
* @param segmentMaxTokens 分段最大 Token 数
|
* @return 切分后的分段文本列表
|
*/
|
List<String> previewSplit(String url, String name, Integer segmentMaxTokens);
|
|
}
|