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 createDocuments(@Valid AiKnowledgeDocumentCreateReqVO createReqVO); void updateDocument(@Valid AiKnowledgeDocumentUpdateReqVO updateReqVO); void deleteDocument(Long id); AiKnowledgeDocumentDO getDocument(Long id); AiKnowledgeDocumentDO validateDocumentExists(Long id); PageResult getDocumentPage(AiKnowledgeDocumentPageReqVO pageReqVO); void updateDocumentStatus(@Valid AiKnowledgeDocumentUpdateStatusReqVO updateStatusReqVO); List getDocumentProcessingProgress(List documentIds); void processDocumentSegments(Long documentId); /** * 预览文档切分结果(不保存) * * @param url 文档 URL * @param name 文档名称 * @param segmentMaxTokens 分段最大 Token 数 * @return 切分后的分段文本列表 */ List previewSplit(String url, String name, Integer segmentMaxTokens); }