diff --git a/document-readers/markdown-reader/src/test/java/org/springframework/ai/reader/markdown/MarkdownDocumentReaderTest.java b/document-readers/markdown-reader/src/test/java/org/springframework/ai/reader/markdown/MarkdownDocumentReaderTest.java index 69d3babe5..c06dab67d 100644 --- a/document-readers/markdown-reader/src/test/java/org/springframework/ai/reader/markdown/MarkdownDocumentReaderTest.java +++ b/document-readers/markdown-reader/src/test/java/org/springframework/ai/reader/markdown/MarkdownDocumentReaderTest.java @@ -39,7 +39,7 @@ class MarkdownDocumentReaderTest { List documents = reader.get(); assertThat(documents).hasSize(4) - .extracting(Document::getMetadata, Document::getContent) + .extracting(Document::getMetadata, Document::getText) .containsOnly(tuple(Map.of("category", "header_1", "title", "Header 1a"), "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur diam eros, laoreet sit amet cursus vitae, varius sed nisi. Cras sit amet quam quis velit commodo porta consectetur id nisi. Phasellus tincidunt pulvinar augue."), tuple(Map.of("category", "header_1", "title", "Header 1b"), @@ -57,7 +57,7 @@ class MarkdownDocumentReaderTest { List documents = reader.get(); assertThat(documents).hasSize(2) - .extracting(Document::getMetadata, Document::getContent) + .extracting(Document::getMetadata, Document::getText) .containsOnly(tuple(Map.of("category", "header_1", "title", "This is a fancy header name"), "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec tincidunt velit non bibendum gravida. Cras accumsan tincidunt ornare. Donec hendrerit consequat tellus blandit accumsan. Aenean aliquam metus at arcu elementum dignissim."), tuple(Map.of("category", "header_3", "title", "Header 3"), @@ -75,7 +75,7 @@ class MarkdownDocumentReaderTest { List documents = reader.get(); assertThat(documents).hasSize(7) - .extracting(Document::getMetadata, Document::getContent) + .extracting(Document::getMetadata, Document::getText) .containsOnly(tuple(Map.of(), "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec tincidunt velit non bibendum gravida."), tuple(Map.of(), @@ -187,7 +187,7 @@ class MarkdownDocumentReaderTest { List documents = reader.get(); assertThat(documents).hasSize(2) - .extracting(Document::getMetadata, Document::getContent) + .extracting(Document::getMetadata, Document::getText) .containsOnly(tuple(Map.of(), "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur diam eros, laoreet sit amet cursus vitae, varius sed nisi. Cras sit amet quam quis velit commodo porta consectetur id nisi. Phasellus tincidunt pulvinar augue."), tuple(Map.of("category", "blockquote"), @@ -219,7 +219,7 @@ class MarkdownDocumentReaderTest { List documents = reader.get(); assertThat(documents).hasSize(2) - .extracting(Document::getMetadata, Document::getContent) + .extracting(Document::getMetadata, Document::getText) .containsOnly(tuple(Map.of("category", "header_2", "title", "Ordered list"), "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur diam eros, laoreet sit amet cursus vitae, varius sed nisi. Cras sit amet quam quis velit commodo porta consectetur id nisi. Phasellus tincidunt pulvinar augue. Proin vel laoreet leo, sed luctus augue. Sed et ligula commodo, commodo lacus at, consequat turpis. Maecenas eget sapien odio. Pellentesque auctor pharetra eros, viverra sodales lorem aliquet id. Curabitur semper nisi vel sem interdum suscipit. Maecenas urna lectus, pellentesque in accumsan aliquam, congue eu libero. Ut rhoncus nec justo a porttitor."), tuple(Map.of("category", "header_2", "title", "Unordered list"), diff --git a/document-readers/pdf-reader/src/test/java/org/springframework/ai/reader/pdf/PagePdfDocumentReaderTests.java b/document-readers/pdf-reader/src/test/java/org/springframework/ai/reader/pdf/PagePdfDocumentReaderTests.java index a9009bbfc..0c9f4d8b9 100644 --- a/document-readers/pdf-reader/src/test/java/org/springframework/ai/reader/pdf/PagePdfDocumentReaderTests.java +++ b/document-readers/pdf-reader/src/test/java/org/springframework/ai/reader/pdf/PagePdfDocumentReaderTests.java @@ -52,7 +52,7 @@ class PagePdfDocumentReaderTests { assertThat(docs).hasSize(4); - String allText = docs.stream().map(Document::getContent).collect(Collectors.joining(System.lineSeparator())); + String allText = docs.stream().map(Document::getText).collect(Collectors.joining(System.lineSeparator())); assertThat(allText).doesNotContain( List.of("Page 1 of 4", "Page 2 of 4", "Page 3 of 4", "Page 4 of 4", "PDF Bookmark Sample")); diff --git a/spring-ai-core/src/main/java/org/springframework/ai/chat/client/advisor/QuestionAnswerAdvisor.java b/spring-ai-core/src/main/java/org/springframework/ai/chat/client/advisor/QuestionAnswerAdvisor.java index 21bcc41c5..827734397 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/chat/client/advisor/QuestionAnswerAdvisor.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/chat/client/advisor/QuestionAnswerAdvisor.java @@ -35,7 +35,6 @@ import org.springframework.ai.chat.client.advisor.api.StreamAroundAdvisorChain; import org.springframework.ai.chat.model.ChatResponse; import org.springframework.ai.chat.prompt.PromptTemplate; import org.springframework.ai.document.Document; -import org.springframework.ai.model.Content; import org.springframework.ai.vectorstore.SearchRequest; import org.springframework.ai.vectorstore.VectorStore; import org.springframework.ai.vectorstore.filter.Filter; diff --git a/spring-ai-core/src/main/java/org/springframework/ai/embedding/EmbeddingModel.java b/spring-ai-core/src/main/java/org/springframework/ai/embedding/EmbeddingModel.java index 51a1ac035..66dd852c8 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/embedding/EmbeddingModel.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/embedding/EmbeddingModel.java @@ -86,7 +86,7 @@ public interface EmbeddingModel extends Model embeddings = new ArrayList<>(documents.size()); List> batch = batchingStrategy.batch(documents); for (List subBatch : batch) { - List texts = subBatch.stream().map(Document::getContent).toList(); + List texts = subBatch.stream().map(Document::getText).toList(); EmbeddingRequest request = new EmbeddingRequest(texts, options); EmbeddingResponse response = this.call(request); for (int i = 0; i < subBatch.size(); i++) { diff --git a/spring-ai-core/src/main/java/org/springframework/ai/vectorstore/observation/VectorStoreObservationContentProcessor.java b/spring-ai-core/src/main/java/org/springframework/ai/vectorstore/observation/VectorStoreObservationContentProcessor.java index 8513f81d6..e73ca4603 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/vectorstore/observation/VectorStoreObservationContentProcessor.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/vectorstore/observation/VectorStoreObservationContentProcessor.java @@ -36,7 +36,7 @@ public final class VectorStoreObservationContentProcessor { return List.of(); } - return context.getQueryResponse().stream().map(Document::getContent).toList(); + return context.getQueryResponse().stream().map(Document::getText).toList(); } } diff --git a/spring-ai-core/src/test/java/org/springframework/ai/rag/retrieval/join/ConcatenationDocumentJoinerTests.java b/spring-ai-core/src/test/java/org/springframework/ai/rag/retrieval/join/ConcatenationDocumentJoinerTests.java index bca2c2c1f..d4ea8fa12 100644 --- a/spring-ai-core/src/test/java/org/springframework/ai/rag/retrieval/join/ConcatenationDocumentJoinerTests.java +++ b/spring-ai-core/src/test/java/org/springframework/ai/rag/retrieval/join/ConcatenationDocumentJoinerTests.java @@ -89,8 +89,8 @@ class ConcatenationDocumentJoinerTests { assertThat(result).hasSize(4); assertThat(result).extracting(Document::getId).containsExactlyInAnyOrder("1", "2", "3", "4"); - assertThat(result).extracting(Document::getContent).contains("Content 2"); - assertThat(result).extracting(Document::getContent).doesNotContain("Content 2 Duplicate"); + assertThat(result).extracting(Document::getText).contains("Content 2"); + assertThat(result).extracting(Document::getText).doesNotContain("Content 2 Duplicate"); } } diff --git a/spring-ai-docs/src/main/antora/modules/ROOT/pages/api/vectordbs/hana.adoc b/spring-ai-docs/src/main/antora/modules/ROOT/pages/api/vectordbs/hana.adoc index 9718debdb..180c72099 100644 --- a/spring-ai-docs/src/main/antora/modules/ROOT/pages/api/vectordbs/hana.adoc +++ b/spring-ai-docs/src/main/antora/modules/ROOT/pages/api/vectordbs/hana.adoc @@ -298,7 +298,7 @@ public class CricketWorldCupHanaController { @GetMapping("/ai/hana-vector-store/cricket-world-cup") public Map hanaVectorStoreSearch(@RequestParam(value = "message") String message) { var documents = this.hanaCloudVectorStore.similaritySearch(message); - var inlined = documents.stream().map(Document::getContent).collect(Collectors.joining(System.lineSeparator())); + var inlined = documents.stream().map(Document::getText).collect(Collectors.joining(System.lineSeparator())); var similarDocsMessage = new SystemPromptTemplate("Based on the following: {documents}") .createMessage(Map.of("documents", inlined)); diff --git a/vector-stores/spring-ai-hanadb-store/src/test/java/org/springframework/ai/vectorstore/CricketWorldCupHanaController.java b/vector-stores/spring-ai-hanadb-store/src/test/java/org/springframework/ai/vectorstore/CricketWorldCupHanaController.java index 7be97d1a9..f3ffbeab9 100644 --- a/vector-stores/spring-ai-hanadb-store/src/test/java/org/springframework/ai/vectorstore/CricketWorldCupHanaController.java +++ b/vector-stores/spring-ai-hanadb-store/src/test/java/org/springframework/ai/vectorstore/CricketWorldCupHanaController.java @@ -84,7 +84,7 @@ public class CricketWorldCupHanaController { @GetMapping("/ai/hana-vector-store/cricket-world-cup") public Map hanaVectorStoreSearch(@RequestParam("message") String message) { var documents = this.hanaCloudVectorStore.similaritySearch(message); - var inlined = documents.stream().map(Document::getContent).collect(Collectors.joining(System.lineSeparator())); + var inlined = documents.stream().map(Document::getText).collect(Collectors.joining(System.lineSeparator())); var similarDocsMessage = new SystemPromptTemplate("Based on the following: {documents}") .createMessage(Map.of("documents", inlined));