feat: include breadcrumb in embedding text

This commit is contained in:
aruo
2026-07-05 12:15:27 +08:00
parent 1bfe1a17b4
commit c7e2fc2ee2
3 changed files with 64 additions and 3 deletions
@@ -0,0 +1,37 @@
package com.superbiz.agent.service;
import com.superbiz.agent.dto.DocumentChunk;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
class VectorIndexServiceTest {
@Test
void buildEmbeddingTextIncludesTitleAndBreadcrumb() {
DocumentChunk chunk = DocumentChunk.builder()
.title("Connection Pool")
.breadcrumb("Database > MySQL > Connection Pool")
.content("Check active connections and leak detection.")
.build();
String embeddingText = VectorIndexService.buildEmbeddingText(chunk);
assertEquals("""
Title: Connection Pool
Path: Database > MySQL > Connection Pool
Content:
Check active connections and leak detection.""", embeddingText);
}
@Test
void buildEmbeddingTextKeepsPlainContentWhenNoStructureExists() {
DocumentChunk chunk = DocumentChunk.builder()
.title(" ")
.breadcrumb(null)
.content("Plain chunk content.")
.build();
assertEquals("Plain chunk content.", VectorIndexService.buildEmbeddingText(chunk));
}
}