开发时服务
Spring AI 为本地开发和测试提供 Docker Compose 配置。
本节描述了可用于 Spring AI 开发的 Docker Compose 服务,包括:
可用服务
向量数据库
带 pgvector 的 PostgreSQL
Milvus
Qdrant
Weaviate
Chroma
AI 模型服务器
Ollama
LocalAI
Hugging Face 推理服务器
测试工具
Testcontainers 配置
模拟 AI 服务
使用方法
要使用这些服务,您可以运行:
这将启动本地开发所需的所有必要服务。
每个服务都可以通过环境变量或 Docker Compose 覆盖进行配置。
基本 Docker Compose 设置
version : '3.8'
services :
# 向量存储
pgvector :
image : pgvector/pgvector:latest
environment :
POSTGRES_DB : vectordb
POSTGRES_USER : postgres
POSTGRES_PASSWORD : postgres
ports :
- "5432:5432"
# AI 模型服务器
ollama :
image : ollama/ollama:latest
ports :
- "11434:11434"
volumes :
- ollama_data:/root/.ollama
# 监控
prometheus :
image : prom/prometheus:latest
ports :
- "9090:9090"
volumes :
- ./prometheus.yml:/etc/prometheus/prometheus.yml
volumes :
ollama_data :
服务配置
# 向量存储配置
spring.ai.vectorstore.pgvector.url=jdbc:postgresql://localhost:5432/vectordb
spring.ai.vectorstore.pgvector.username=postgres
spring.ai.vectorstore.pgvector.password=postgres
# AI 模型配置
spring.ai.ollama.base-url=http://localhost:11434
spring.ai.ollama.model=llama2
服务类别
1. 向量存储
# 带 pgvector 的 PostgreSQL
pgvector :
image : pgvector/pgvector:latest
environment :
POSTGRES_DB : vectordb
POSTGRES_USER : postgres
POSTGRES_PASSWORD : postgres
ports :
- "5432:5432"
# Milvus
milvus :
image : milvusdb/milvus:latest
ports :
- "19530:19530"
- "9091:9091"
2. AI 模型服务器
# Ollama
ollama :
image : ollama/ollama:latest
ports :
- "11434:11434"
volumes :
- ollama_data:/root/.ollama
# LocalAI
localai :
image : localai/localai:latest
ports :
- "8080:8080"
volumes :
- ./models:/models
3. 监控服务
# Prometheus
prometheus :
image : prom/prometheus:latest
ports :
- "9090:9090"
volumes :
- ./prometheus.yml:/etc/prometheus/prometheus.yml
# Grafana
grafana :
image : grafana/grafana:latest
ports :
- "3000:3000"
volumes :
- grafana_data:/var/lib/grafana
配置属性
spring.ai.development.services.enabled =true
spring.ai.development.services.auto-start =true
spring.ai.development.services.port-range =8000-9000
最佳实践
资源管理 :监控资源使用情况
数据持久化 :使用卷进行数据持久化
安全性 :保护开发环境
网络 :配置适当的网络隔离
文档 :记录服务配置
高级功能
自定义服务配置
# 自定义服务配置
services :
custom-service :
build :
context : ./custom-service
dockerfile : Dockerfile
environment :
CUSTOM_VAR : value
ports :
- "8080:8080"
服务健康检查
services :
pgvector :
healthcheck :
test : [ "CMD-SHELL" , "pg_isready -U postgres" ]
interval : 10s
timeout : 5s
retries : 5
故障排除
常见问题和解决方案:
服务启动问题
连接问题
资源问题
文档有误?请协助编辑 发现文档问题?点击此处直接在 GitHub 上编辑并提交 PR,帮助我们改进文档!