Skip to content

Commit fda4114

Browse files
committed
Use pgvector
remove Chroma
1 parent 4c526bb commit fda4114

File tree

6 files changed

+33
-12
lines changed

6 files changed

+33
-12
lines changed

compose.yaml

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
11
services:
2-
chroma:
3-
image: chromadb/chroma:0.6.1
2+
postgres:
3+
image: pgvector/pgvector:0.8.0-pg16
44
volumes:
5-
- chroma-data:/chroma/chroma
5+
- postgresql-data:/var/lib/postgresql/data
6+
environment:
7+
POSTGRES_DB: "postgres"
8+
POSTGRES_USER: "postgres"
9+
POSTGRES_PASSWORD: "postgres"
610
ports:
7-
- "8000:8000"
11+
- "5432:5432"
812
volumes:
9-
chroma-data:
13+
postgresql-data:

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
<dependencies>
3838
<dependency>
3939
<groupId>org.springframework.ai</groupId>
40-
<artifactId>spring-ai-chroma-store-spring-boot-starter</artifactId>
40+
<artifactId>spring-ai-pgvector-store-spring-boot-starter</artifactId>
4141
</dependency>
4242
<dependency>
4343
<groupId>org.springframework.ai</groupId>

src/main/java/com/javaaidev/pdfqa/AppConfiguration.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.javaaidev.pdfqa;
22

33
import org.springframework.ai.chat.client.advisor.QuestionAnswerAdvisor;
4+
import org.springframework.ai.chat.client.advisor.SimpleLoggerAdvisor;
45
import org.springframework.ai.vectorstore.SearchRequest;
56
import org.springframework.ai.vectorstore.VectorStore;
67
import org.springframework.context.annotation.Bean;
@@ -14,6 +15,11 @@ public QuestionAnswerAdvisor questionAnswerAdvisor(VectorStore vectorStore) {
1415
return new QuestionAnswerAdvisor(vectorStore, SearchRequest.builder().topK(3).build());
1516
}
1617

18+
@Bean
19+
public SimpleLoggerAdvisor simpleLoggerAdvisor() {
20+
return new SimpleLoggerAdvisor();
21+
}
22+
1723
@Bean
1824
public PDFContentLoader pdfContentLoader(VectorStore vectorStore) {
1925
return new PDFContentLoader(vectorStore);

src/main/java/com/javaaidev/pdfqa/QaController.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import org.springframework.ai.chat.client.ChatClient;
44
import org.springframework.ai.chat.client.advisor.QuestionAnswerAdvisor;
5+
import org.springframework.ai.chat.client.advisor.SimpleLoggerAdvisor;
56
import org.springframework.web.bind.annotation.PostMapping;
67
import org.springframework.web.bind.annotation.RequestBody;
78
import org.springframework.web.bind.annotation.RestController;
@@ -11,8 +12,12 @@ public class QaController {
1112

1213
private final ChatClient chatClient;
1314

14-
public QaController(ChatClient.Builder builder, QuestionAnswerAdvisor questionAnswerAdvisor) {
15-
this.chatClient = builder.defaultAdvisors(questionAnswerAdvisor).build();
15+
public QaController(ChatClient.Builder builder,
16+
QuestionAnswerAdvisor questionAnswerAdvisor,
17+
SimpleLoggerAdvisor simpleLoggerAdvisor) {
18+
this.chatClient = builder.defaultAdvisors(
19+
questionAnswerAdvisor,
20+
simpleLoggerAdvisor).build();
1621
}
1722

1823
@PostMapping("/qa")

src/main/resources/application-openai.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ spring:
1010
chat:
1111
enabled: true
1212
options:
13-
model: gpt-3.5-turbo
13+
model: gpt-4o
1414
temperature: 0.0
1515
embedding:
1616
enabled: true

src/main/resources/application.yaml

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,12 @@ spring:
2121
embedding:
2222
enabled: false
2323
vectorstore:
24-
chroma:
25-
collectionName: pdf-qa
26-
initializeSchema: true
24+
pgvector:
25+
initializeSchema: true
26+
datasource:
27+
url: jdbc:postgresql://localhost:5432/postgres
28+
username: postgres
29+
password: postgres
30+
logging:
31+
level:
32+
org.springframework.ai.chat.client.advisor.SimpleLoggerAdvisor: DEBUG

0 commit comments

Comments
 (0)