feat(rag): 打通自动解析与手动异步切片链路

This commit is contained in:
2026-05-24 22:03:29 +08:00
parent e37e8dfca6
commit cfa5d1f4e1
12 changed files with 210 additions and 13 deletions

View File

@@ -10,7 +10,6 @@ import com.bruce.common.service.ISysAttachmentService;
import com.bruce.rag.dto.request.RagDocumentParseRequest;
import com.bruce.rag.dto.response.RagDocumentParseResponse;
import com.bruce.rag.entity.RagDocument;
import com.bruce.rag.enums.RagChunkStrategyEnum;
import com.bruce.rag.enums.RagParseStatusEnum;
import com.bruce.rag.service.IRagDocumentService;
import com.bruce.rag.service.impl.RagDocumentParseServiceImpl;
@@ -95,7 +94,7 @@ class RagDocumentParseServiceImplTests {
}
@Test
void parseShouldSupportBatchRequestAndChunkStrategyStructure() throws Exception {
void parseShouldSupportBatchRequest() throws Exception {
Path file = tempDir.resolve("rag").resolve("batch.txt");
Files.createDirectories(file.getParent());
Files.writeString(file, "batch profiles");
@@ -123,8 +122,6 @@ class RagDocumentParseServiceImplTests {
);
RagDocumentParseRequest request = new RagDocumentParseRequest();
request.setDocumentIds(List.of(1002L));
request.setChunkStrategy(RagChunkStrategyEnum.DELIMITER.getValue());
request.setDelimiter("");
when(ragDocumentService.getById(1002L)).thenReturn(document);
when(sysAttachmentService.getById(3004L)).thenReturn(attachment);
@@ -138,7 +135,7 @@ class RagDocumentParseServiceImplTests {
}
@Test
void parseShouldRejectUnknownChunkStrategyValue() {
void parseShouldRejectEmptyDocumentIds() {
AttachmentProperties attachmentProperties = new AttachmentProperties();
attachmentProperties.setBasePath(tempDir.toString());
RagDocumentParseServiceImpl service = new RagDocumentParseServiceImpl(
@@ -148,8 +145,7 @@ class RagDocumentParseServiceImplTests {
new DocumentParserFactory(List.of(new FixedDocumentParser("batch profiles")))
);
RagDocumentParseRequest request = new RagDocumentParseRequest();
request.setDocumentIds(List.of(1002L));
request.setChunkStrategy(999);
request.setDocumentIds(List.of());
assertThrows(IllegalArgumentException.class, () -> service.parse(request));
}

View File

@@ -18,6 +18,7 @@ import org.mockito.Mock;
import org.mockito.Spy;
import org.mockito.junit.jupiter.MockitoExtension;
import org.springframework.mock.web.MockMultipartFile;
import org.springframework.context.ApplicationEventPublisher;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNull;
@@ -38,6 +39,9 @@ class RagDocumentServiceImplTests {
@Mock
private ISysAttachmentService sysAttachmentService;
@Mock
private ApplicationEventPublisher eventPublisher;
@Test
void batchUploadShouldUseRagSourceTypeAndStoreIdAsSourceId() {
MockMultipartFile file = new MockMultipartFile(