Ollama
本指南介绍如何配置和使用 Ollama 模型。
添加依赖
在 pom.xml 中添加 Ollama 依赖:
xml
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-starter-model-ollama</artifactId>
</dependency>配置 Ollama
在 application.yml 中配置 Ollama:
yaml
spring:
ai:
ollama:
base-url: http://localhost:11434
chat:
options:
model: deepseek-r1:32b
temperature: 0.7
num-predict: 2000
embedding:
options:
model: mxbai-embed-large
dimensions: 1024
init:
pull-model-strategy: never
embedding:
additional-models:
- mxbai-embed-large配置项说明
| 配置项 | 类型 | 说明 |
|---|---|---|
base-url | String | Ollama 服务地址 |
chat.options.model | String | Chat 模型名称 |
chat.options.temperature | Double | 生成温度(0-1) |
chat.options.num-predict | Integer | 最大预测 token 数量 |
embedding.options.model | String | Embedding 模型名称 |
embedding.options.dimensions | Integer | 向量维度 |
init.pull-model-strategy | String | 模型拉取策略 |
安装 Ollama
Windows
powershell
winget install ollama
ollama servemacOS
bash
brew install ollama
ollama serveLinux
bash
curl -fsSL https://ollama.com/install.sh | sh
ollama serve拉取模型
Chat 模型
bash
ollama pull deepseek-r1:32b
ollama pull qwen2.5:7b
ollama pull llama3.2:3bEmbedding 模型
bash
ollama pull mxbai-embed-large
ollama pull nomic-embed-text
ollama pull all-minilm:33m使用示例
基本使用
java
@RestController
@RequiredArgsConstructor
public class OllamaController {
private final SpringSqlEngine sqlEngine;
private final OllamaChatModel chatModel;
@PostMapping("/query")
public Object query(@RequestBody QueryRequest request) {
String sql = sqlEngine.setChatModel(chatModel)
.generateSql(request.getQuestion());
return sqlEngine.executeSql(sql);
}
}自定义选项
java
@PostMapping("/query-with-options")
public Object queryWithOptions(@RequestBody QueryRequest request) {
String sql = sqlEngine.setChatModel(chatModel)
.setOptions(RagOptions.builder()
.topN(10)
.rerank(true)
.limitScore(0.3)
.build())
.generateSql(request.getQuestion());
return sqlEngine.executeSql(sql);
}支持的模型
Chat 模型
- DeepSeek-R1
- Qwen2.5
- Llama3.2
- Mistral
- Gemma
- Phi-3
Embedding 模型
- mxbai-embed-large
- nomic-embed-text
- all-minilm
- bge-m3
性能优化
模型选择
根据硬件选择合适的模型:
| 硬件 | 推荐模型 |
|---|---|
| 8GB RAM | llama3.2:3b, phi-3:mini |
| 16GB RAM | qwen2.5:7b, mistral:7b |
| 32GB RAM | deepseek-r1:32b, llama3.2:70b |
并发设置
yaml
spring:
ai:
ollama:
chat:
options:
num-ctx: 4096
num-threads: 4
num-batch: 512故障排除
常见问题
问题: 连接失败
解决方案: 确认 Ollama 服务正在运行
bash
ollama list问题: 模型未找到
解决方案: 拉取所需的模型
bash
ollama pull model-name问题: 内存不足
解决方案: 使用更小的模型或增加系统内存
下一步
- 查看 Azure OpenAI 配置 了解 Azure OpenAI 模型
- 学习 其他模型 了解其他模型配置
- 探索 高级用法 了解高级特性
