微语向量模型配置指南
本页介绍如何为微语系统配置向量(Embedding)模型,适用于知识库、智能问答等场景。推荐按需选择合适的模型和服务商。
一、选择向量 模型
在 application.properties
或环境变量中配置:
# 可选项:none(关闭)、ollama(本地)、zhipuai(智谱AI)、dashscope(阿里云)
spring.ai.model.embedding=zhipuai
Docker 环境变量写法:
environment:
SPRING_AI_MODEL_EMBEDDING: zhipuai
建议:
- 本地开发可选
ollama
,无需联网,适合测试。- 生产环境推荐
zhipuai
或dashscope
,需申请API Key。
二、各模型详细配置
1. Ollama(本地部署,免费)
适合本地开发和测试,无需联网。
# Ollama 本地服务地址,默认端口11434(如用docker建议改为21434)
spring.ai.ollama.base-url=http://127.0.0.1:11434
spring.ai.ollama.embedding.enabled=true
# 推荐中文场景用BGE模型:维度1024
spring.ai.ollama.embedding.options.model=bge-m3:latest
Docker 环境变量写法:
environment:
SPRING_AI_OLLAMA_BASE_URL: http://127.0.0.1:11434
SPRING_AI_OLLAMA_EMBEDDING_ENABLED: "true"
SPRING_AI_OLLAMA_EMBEDDING_OPTIONS_MODEL: bge-m3:latest
参考文档:Ollama官方
2. 智谱AI(zhipuai,云服务,需API Key)
适合中文场景,需注册并申请API Key
spring.ai.zhipuai.api-key=你的APIKey
spring.ai.zhipuai.embedding.enabled=true
# 推荐模型:embedding-2(1024维度)
spring.ai.zhipuai.embedding.options.model=embedding-2
Docker 环境变量写法:
environment:
SPRING_AI_ZHIPUAI_API_KEY: 你的APIKey
SPRING_AI_ZHIPUAI_EMBEDDING_ENABLED: "true"
SPRING_AI_ZHIPUAI_EMBEDDING_OPTIONS_MODEL: embedding-2
参考文档:智谱AI官方
3. 阿里云百炼(dashscope,云服务,需API Key)
适合大规模生产环境,支持多种embedding模型。申请API Key
spring.ai.dashscope.api-key=你的APIKey
spring.ai.dashscope.enabled=true
spring.ai.dashscope.base-url=https://dashscope.aliyuncs.com
spring.ai.dashscope.embedding.enabled=true
# 推荐模型:text-embedding-v1(也可选v2/v3),
spring.ai.dashscope.embedding.options.model=text-embedding-v1
注意:text-embedding-v1 维度1536,务必将 elasticsearch.dimensions 同步设置为 1536,否则检索异常!
Docker 环境变量写法:
environment:
SPRING_AI_DASHSCOPE_API_KEY: 你的APIKey
SPRING_AI_DASHSCOPE_ENABLED: "true"
SPRING_AI_DASHSCOPE_BASE_URL: https://dashscope.aliyuncs.com
SPRING_AI_DASHSCOPE_EMBEDDING_ENABLED: "true"
SPRING_AI_DASHSCOPE_EMBEDDING_OPTIONS_MODEL: text-embedding-v1
注意:text-embedding-v1 维度1536,务必将 elasticsearch.dimensions 同步设置为 1536,否则检索异常!
三、向量数据库配置
向量数据库用于存储和检索向量数据,常用 elasticsearch。
spring.ai.vectorstore.type=elasticsearch
# 需与所选向量模型的维度一致(如BGE/embedding-2等为1024,dashscope的text-embedding-v1为1536)
spring.ai.vectorstore.elasticsearch.dimensions=1024
Docker 环境变量写法:
environment:
SPRING_AI_VECTORSTORE_TYPE: elasticsearch
# 需与所选向量模型的维度一致(如BGE/embedding-2等为1024,dashscope的text-embedding-v1为1536)
SPRING_AI_VECTORSTORE_ELASTICSEARCH_DIMENSIONS: 1024
常见问题
- Q: 如何选择模型?
- 本地开发用Ollama,生产推荐zhipuai或dashscope。
- Q: 维度怎么设置?
- 需与所选embedding模型一致,常见为1024。
- Q: API Key如何获取?
- 见各云服务商控制台。
- 注意:text-embedding-v1 维度为1536,需同步设置。
- 当开启一个embedding模型时,请关闭其余的,也即设置enabled=false。
如有更多问题,欢迎在社区或交流群反馈。