先说个故事
我有个朋友,想学做饭。
别人问他:”菜谱看了吗?锅买了吗?灶台有吗?”
他说:”买了高级菜谱,锅在路上,灶台…准备用蜡烛凑合。”
三天后他放弃了。
做 AI 开发也一样。没有好环境,再牛的代码也跑不起来。
今天要搭什么?
三件套:
|
组件 |
作用 |
类比 |
|
Ollama |
本地跑大模型 |
自己的厨房 |
|
向量数据库 |
存知识向量 |
冰箱 |
|
Spring AI + LangChain4j |
Java AI 开发框架 |
炒菜锅 |
第一步:安装 Ollama(自己的大模型厨房)
为什么用 Ollama?
|
方案 |
费用 |
速度 |
隐私 |
|
OpenAI API |
花钱 |
快 |
数据送出去 |
|
Ollama 本地 |
免费 |
看你电脑 |
数据不出门 |
简单说:Ollama = 在自己电脑上跑大模型,不花钱,不泄露数据。
3分钟安装
Mac:
brew install ollama
Windows: 去 ollama.com 下载安装包,双击运行。
Linux:
curl -fsSL https://ollama.com/install.sh | sh
验证安装:
ollama --version
下载第一个模型
Ollama 把模型叫做”Model”。
# 下载一个小模型试试(Llama3.2,约1.3GB)
ollama pull llama3.2
# 下载中文模型(Qwen2.5,约3.8GB)
ollama pull qwen2.5:7b
# 验证下载成功
ollama list
输出类似:
NAME ID SIZE MODIFIED
qwen2.5:7b a3f5c... 4.4GB 2 minutes ago
llama3.2 3f5c... 1.3GB 5 minutes ago
跑起来试试
# 和模型对话
ollama run qwen2.5:7b
输出:
>>> 你好
你好!有什么我可以协助你的吗?
>>> 你叫什么名字
我叫通义千问,由阿里云开发。有什么问题尽管问我!
>>> /bye
祝贺你,你的本地大模型跑起来了!
第二步:安装向量数据库(给 AI 装冰箱)
为什么需要向量数据库?
普通数据库存文字,向量数据库存”意思”。
列如你搜”水果”,普通数据库要准确匹配”水果”两个字。
向量数据库能理解:苹果、橙子、香蕉都是水果,它们意思相近,会一起返回。
做 RAG(让 AI 读文档),必须用向量数据库。
Milvus(推荐,最流行)
Docker 安装(最简单):
# 拉取镜像
docker pull milvusdb/milvus:v2.4.0
# 一键启动
docker run -d
--name milvus
-p 19530:19530
-p 9091:9091
milvusdb/milvus:v2.4.0
验证是否启动成功:
docker ps | grep milvus
输出:
CONTAINER ID IMAGE STATUS
a1b2c3d4e5f6 milvusdb/milvus Up 2 minutes
如果 Docker 不够用:Qdrant(轻量替代)
启动 Qdrant:
docker run -d
--name qdrant
-p 6333:6333
-p 6334:6334
qdrant/qdrant
Qdrant 的好处:
- 单文件启动,几乎不占内存
- 有图形界面(http://localhost:6333/dashboard)
- 对新手友善
第三步:安装 Java AI 开发框架
Maven 依赖(一键引入)
<dependencies>
<!-- Spring AI -->
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-openai-spring-boot-starter</artifactId>
<version>1.0.0-M4</version>
</dependency>
<!-- LangChain4j -->
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j</artifactId>
<version>1.0.0</version>
</dependency>
<!-- 向量数据库驱动 -->
<dependency>
<groupId>io.milvus</groupId>
<artifactId>milvus-sdk-java</artifactId>
<version>2.4.0</version>
</dependency>
<!-- Redis(可选,用于 Memory 持久化) -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
</dependencies>
第四步:一键启动脚本(收藏备用)
把下面内容保存为 start-ai-env.sh:
#!/bin/bash
echo " 启动 AI 开发环境..."
# 1. 启动 Ollama(后台运行)
echo " 启动 Ollama..."
pkill -f ollama || true
ollama serve &
# 2. 启动 Milvus
echo " 启动 Milvus 向量数据库..."
docker rm -f milvus || true
docker run -d
--name milvus
-p 19530:19530
-p 9091:9091
milvusdb/milvus:v2.4.0
# 3. 启动 Qdrant(备选)
echo " 启动 Qdrant..."
docker rm -f qdrant || true
docker run -d
--name qdrant
-p 6333:6333
-p 6334:6334
qdrant/qdrant
echo "✅ 环境启动完成!"
echo " Ollama: http://localhost:11434"
echo " Milvus: http://localhost:9091"
echo " Qdrant: http://localhost:6333"
第五步:Hello World 验证
创建 Spring Boot 项目
去 start.spring.io:
Project: Maven
Language: Java 21
Dependencies: Spring Web
配置 Ollama
# application.yml
spring:
ai:
ollama:
base-url: http://localhost:11434
写个测试类
@SpringBootApplication
public class AiApplication {
public static void main(String[] args) {
SpringApplication.run(AiApplication.class, args);
}
@Bean
public OllamaChatModel ollamaChatModel(OllamaApi api) {
return OllamaChatModel.builder()
.ollamaApi(api)
.modelName("qwen2.5:7b")
.build();
}
@RestController
public static class ChatController {
private final OllamaChatModel chatModel;
public ChatController(OllamaChatModel chatModel) {
this.chatModel = chatModel;
}
@GetMapping("/chat")
public String chat(@RequestParam String message) {
return chatModel.call(message);
}
}
}
跑起来
mvn spring-boot:run
打开浏览器访问:
http://localhost:8080/chat?message=你好
如果返回了回复,祝贺你!环境搭建成功!
避坑指南
坑 1:Ollama 模型下载太慢
缘由: 默认从国外服务器下载。
解决:
# 设置国内镜像(如果有)
export OLLAMA_HOST=https://example.com/models
# 或者用 wget 先下载,再导入
wget https://example.com/model.gguf
ollama create qwen:myversion -f ./model.gguf
坑 2:Milvus 启动失败
缘由: 端口被占用或内存不够。
解决:
# 检查端口占用
lsof -i :19530
# 清理旧容器
docker rm -f milvus
# 重新启动(加内存限制)
docker run -d
--name milvus
-p 19530:19530
--memory=4g
milvusdb/milvus:v2.4.0
坑 3:Spring Boot 找不到 Ollama
缘由: Ollama 没启动或地址配错了。
解决:
# 先确保 Ollama 在跑
ollama serve
# 验证能访问
curl http://localhost:11434/api/version
一句话总结
开发环境三件套:Ollama(模型)+ 向量数据库(知识库)+ Spring AI/LangChain4j(代码框架)。搭好环境,你就成功了一半。
下一篇预告:D6《大模型原理》——从梯度下降到 Transformer,AI 到底是怎么思考的?