Skip to content

Commit 273404f

Browse files
committed
update to Spring AI 1.0.0-M6
1 parent 246d20d commit 273404f

22 files changed

Lines changed: 210 additions & 139 deletions

README.md

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

33
## 运行
44

5-
需要在本地安装 Ollama 和 Docker Desktop。使用 Docker Desktop 来运行
6-
Redis。参考 `docker-compose.yaml` 文件。
5+
需要在本地安装 Docker Desktop。使用 Docker Desktop 来运行
6+
Pgvector。参考 `docker-compose.yaml` 文件。
77

8-
默认使用通义千问 0.5b 模型(`qwen:0.5b`),可以通过配置文件来修改。
8+
默认使用通义千问 2.5 0.5b 模型(`qwen2.5:0.5b`),可以通过配置文件来修改。
99

1010
> 朴素 RAG 的结果,依赖于文档相似性的查询结果。在本地运行时,受限于模型的参数数量,查询结果可能不太准确。
1111
12-
使用 `dev` profile 来运行 Spring,`-Dspring.profiles.active=dev`
13-
1412
访问 [Swagger UI](http://localhost:8080/swagger-ui/index.html) 来与 API 交互。
1513

1614
## 加载网页到向量数据库
@@ -25,14 +23,16 @@ Redis。参考 `docker-compose.yaml` 文件。
2523

2624
## 与大模型交互
2725

28-
发送 POST 请求到 `/chat/query`,提供消息内容。
26+
发送 POST 请求到 `/chat`,提供消息内容。
2927

3028
```json
3129
{
32-
"message": "从2024年政府工作报告中,分析人工智能的发展前景"
30+
"input": "从2024年政府工作报告中,分析人工智能的发展前景"
3331
}
3432
```
3533

34+
通过用户界面进行交互,访问 http://localhost:8080/webjars/chat-agent-ui/index.html
35+
3636
## 课程
3737

3838
[![课程](./course.png)](https://www.bilibili.com/cheese/play/ss15645)

docker-compose.yaml

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
1-
version: "3"
21
services:
3-
redis-stack:
4-
image: redis/redis-stack
2+
postgres:
3+
image: pgvector/pgvector:0.8.0-pg16
54
volumes:
6-
- redis-data:/data
5+
- postgresql-data:/var/lib/postgresql/data
6+
environment:
7+
POSTGRES_DB: "postgres"
8+
POSTGRES_USER: "postgres"
9+
POSTGRES_PASSWORD: "postgres"
710
ports:
8-
- "6379:6379"
9-
- "8001:8001"
11+
- "5432:5432"
1012
volumes:
11-
redis-data:
13+
postgresql-data:

pom.xml

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<groupId>org.springframework.boot</groupId>
88
<artifactId>spring-boot-starter-parent</artifactId>
99
<version>3.2.4</version>
10-
<relativePath/> <!-- lookup parent from repository -->
10+
<relativePath/>
1111
</parent>
1212
<groupId>cc.vividcode.ai</groupId>
1313
<artifactId>spring-ai-naive-rag</artifactId>
@@ -16,7 +16,7 @@
1616
<description>Spring AI Naive RAG</description>
1717
<properties>
1818
<java.version>21</java.version>
19-
<spring-ai.version>0.8.1</spring-ai.version>
19+
<spring-ai.version>1.0.0-M6</spring-ai.version>
2020
</properties>
2121
<dependencies>
2222
<dependency>
@@ -29,7 +29,7 @@
2929
</dependency>
3030
<dependency>
3131
<groupId>org.springframework.ai</groupId>
32-
<artifactId>spring-ai-redis</artifactId>
32+
<artifactId>spring-ai-pgvector-store-spring-boot-starter</artifactId>
3333
</dependency>
3434

3535
<dependency>
@@ -47,6 +47,11 @@
4747
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
4848
<version>2.5.0</version>
4949
</dependency>
50+
<dependency>
51+
<groupId>com.javaaidev</groupId>
52+
<artifactId>chat-agent-ui</artifactId>
53+
<version>0.5.1</version>
54+
</dependency>
5055

5156
<dependency>
5257
<groupId>org.springframework.boot</groupId>

src/main/java/cc/vividcode/ai/naiverag/chat/ChatRequest.java

Lines changed: 0 additions & 5 deletions
This file was deleted.

src/main/java/cc/vividcode/ai/naiverag/etl/EtlModuleConfiguration.java

Lines changed: 0 additions & 40 deletions
This file was deleted.

src/main/java/cc/vividcode/ai/naiverag/etl/RedisConfig.java

Lines changed: 0 additions & 8 deletions
This file was deleted.

src/main/java/cc/vividcode/ai/naiverag/etl/WebPageReader.java

Lines changed: 0 additions & 28 deletions
This file was deleted.

src/main/java/cc/vividcode/ai/naiverag/NaiveRagApplication.java renamed to src/main/java/com/javaaidev/naiverag/NaiveRagApplication.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
package cc.vividcode.ai.naiverag;
1+
package com.javaaidev.naiverag;
22

3-
import cc.vividcode.ai.naiverag.chat.ChatModuleConfiguration;
4-
import cc.vividcode.ai.naiverag.etl.EtlModuleConfiguration;
3+
import com.javaaidev.naiverag.chat.ChatModuleConfiguration;
4+
import com.javaaidev.naiverag.etl.EtlModuleConfiguration;
55
import org.springframework.boot.SpringApplication;
66
import org.springframework.boot.autoconfigure.SpringBootApplication;
77
import org.springframework.context.annotation.Import;

src/main/java/cc/vividcode/ai/naiverag/chat/ChatController.java renamed to src/main/java/com/javaaidev/naiverag/chat/ChatController.java

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
1-
package cc.vividcode.ai.naiverag.chat;
1+
package com.javaaidev.naiverag.chat;
22

33
import org.springframework.web.bind.annotation.PostMapping;
44
import org.springframework.web.bind.annotation.RequestBody;
5-
import org.springframework.web.bind.annotation.RequestMapping;
65
import org.springframework.web.bind.annotation.RestController;
76

87
@RestController
9-
@RequestMapping("/chat")
108
public class ChatController {
119

1210
private final ChatService chatService;
@@ -15,8 +13,8 @@ public ChatController(ChatService chatService) {
1513
this.chatService = chatService;
1614
}
1715

18-
@PostMapping("/query")
19-
public String chat(@RequestBody ChatRequest request) {
20-
return chatService.chat(request);
16+
@PostMapping("/chat")
17+
public ChatResponse chat(@RequestBody ChatRequest request) {
18+
return new ChatResponse(chatService.chat(request));
2119
}
2220
}

src/main/java/cc/vividcode/ai/naiverag/chat/ChatModuleConfiguration.java renamed to src/main/java/com/javaaidev/naiverag/chat/ChatModuleConfiguration.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,18 @@
1-
package cc.vividcode.ai.naiverag.chat;
1+
package com.javaaidev.naiverag.chat;
22

3-
import org.springframework.ai.chat.ChatClient;
3+
import org.springframework.ai.chat.client.ChatClient;
44
import org.springframework.ai.vectorstore.VectorStore;
55
import org.springframework.context.annotation.Bean;
66
import org.springframework.context.annotation.Configuration;
77

88
@Configuration
99
public class ChatModuleConfiguration {
1010

11+
@Bean
12+
public ChatClient chatClient(ChatClient.Builder builder) {
13+
return builder.build();
14+
}
15+
1116
@Bean
1217
public ChatService chatService(ChatClient chatClient,
1318
VectorStore vectorStore) {

0 commit comments

Comments
 (0)