Spring AI无法修改Chroma默认集合名称为embeddings_db求助
Spring AI中修改Chroma默认集合名称问题
我在Spring AI应用中无法修改Chroma的默认集合名称。
我尝试使用以下配置属性:
spring.ai.vectorstore.chroma.collection-name=embeddings_db
但该配置未生效,应用仍使用默认集合名称SpringAiCollection。
已尝试的操作
- 确认配置属性已正确设置在应用配置文件中
- 修改配置后重启了应用
预期效果
应用应使用自定义集合名称embeddings_db,但目前仍使用默认名称。
环境信息
- Spring Boot starter parent版本:
3.3.1 - Spring AI版本:
1.0.0-M1 - Java版本:
openjdk-22 Oracle OpenJDK 22.0.1 - aarch64 - Docker启动的Chroma版本:
chromadb/chroma:latest (0.5.4)
问题
如何成功将Chroma默认集合名称修改为embeddings_db?
解决方案
方法1:修正配置属性路径
Spring AI 1.0.0-M1作为早期里程碑版本,部分配置属性路径未统一,可尝试使用简化版属性:
spring.ai.chroma.collection-name=embeddings_db
方法2:手动配置ChromaVectorStore Bean
若自动配置未生效,通过自定义Bean强制指定集合名称:
import org.springframework.ai.chroma.ChromaVectorStore; import org.springframework.ai.chroma.api.ChromaApi; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class ChromaConfig { @Bean public ChromaVectorStore chromaVectorStore(ChromaApi chromaApi) { return new ChromaVectorStore(chromaApi, "embeddings_db"); } }
该Bean会覆盖自动配置的实例,直接使用你指定的集合名。
方法3:升级Spring AI版本
1.0.0-M1存在配置属性命名不规范问题,建议升级至较新的里程碑版本(如1.0.0-M3)或正式版,新版本中spring.ai.vectorstore.chroma.collection-name属性可正常生效。
内容的提问来源于stack exchange,提问作者THM
相关产品推荐
相关产品推荐

