Skip to content

Commit e3ff0dd

Browse files
committed
Update
1 parent 7aba40c commit e3ff0dd

File tree

2 files changed

+11
-7
lines changed

2 files changed

+11
-7
lines changed

demo-catalog/templates/spring-boot-ai-service/base/catalog-info.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ metadata:
99
backstage.io/techdocs-ref: dir:.
1010
endoflife.date/products: spring-boot
1111
github.com/project-slug: ${{ values.repoUrl.owner }}/${{ values.repoUrl.repo }}
12+
github.com/workflows: commit-stage.yml
1213
sonarqube.org/project-key: ${{ values.repoUrl.owner }}_${{ values.repoUrl.repo }}
1314
spec:
1415
type: service

demo-catalog/templates/spring-boot-ai-service/base/src/main/java/${{values.basePackageDir}}/Application.java

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@
66
import org.slf4j.Logger;
77
import org.slf4j.LoggerFactory;
88
import org.springframework.ai.chat.client.ChatClient;
9-
import org.springframework.ai.chat.client.advisor.QuestionAnswerAdvisor;
9+
import org.springframework.ai.chat.client.advisor.RetrievalAugmentationAdvisor;
10+
import org.springframework.ai.rag.retrieval.source.DocumentRetriever;
11+
import org.springframework.ai.rag.retrieval.source.VectorStoreDocumentRetriever;
1012
import org.springframework.ai.reader.TextReader;
1113
import org.springframework.ai.transformer.splitter.TokenTextSplitter;
1214
import org.springframework.ai.vectorstore.VectorStore;
@@ -16,16 +18,13 @@
1618
import org.springframework.boot.context.event.ApplicationReadyEvent;
1719
import org.springframework.context.ApplicationListener;
1820
import org.springframework.context.annotation.Bean;
19-
import org.springframework.context.annotation.Configuration;
2021
import org.springframework.core.io.Resource;
2122
import org.springframework.jdbc.core.simple.JdbcClient;
2223
import org.springframework.stereotype.Component;
2324
import org.springframework.web.bind.annotation.PostMapping;
2425
import org.springframework.web.bind.annotation.RequestBody;
2526
import org.springframework.web.bind.annotation.RestController;
2627

27-
import java.time.Duration;
28-
2928
@SpringBootApplication
3029
public class Application {
3130

@@ -46,18 +45,22 @@ class ChatController {
4645
private static final Logger logger = LoggerFactory.getLogger(ChatController.class);
4746

4847
private final ChatClient chatClient;
49-
private final VectorStore vectorStore;
48+
private final DocumentRetriever documentRetriever;
5049

5150
ChatController(ChatClient.Builder chatClientBuilder, VectorStore vectorStore) {
5251
this.chatClient = chatClientBuilder.build();
53-
this.vectorStore = vectorStore;
52+
this.documentRetriever = VectorStoreDocumentRetriever.builder()
53+
.vectorStore(vectorStore)
54+
.build();
5455
}
5556

5657
@PostMapping("/chat")
5758
String chatWithDocument(@RequestBody String message) {
5859
logger.info("Received user message: {}", message);
5960
return chatClient.prompt()
60-
.advisors(new QuestionAnswerAdvisor(vectorStore))
61+
.advisors(RetrievalAugmentationAdvisor.builder()
62+
.documentRetriever(documentRetriever)
63+
.build())
6164
.user(message)
6265
.call()
6366
.content();

0 commit comments

Comments
 (0)