You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot应用无法创建/初始化/连接ChromaDB集合求助

解决方案:Spring Boot + ChromaDB 兼容版本组合及配置调整

核心问题分析

你遇到的cannot unpack non-iterable coroutine object错误,本质是Spring AI Chroma客户端与ChromaDB服务端版本不兼容,早期Spring AI里程碑版本(M4/M5)对ChromaDB 0.5.x的API协程处理逻辑存在缺陷,同时initialize-schema=true配置无法正常触发集合创建,导致连接失败。

经过验证的兼容版本组合

以下版本组合可稳定实现集合创建、初始化与连接:

  • Java版本:21(保持不变)
  • Spring Boot版本:3.2.5
  • Spring AI版本:1.0.0-M6
  • ChromaDB Docker镜像版本:0.4.24

操作步骤

1. 调整项目依赖版本

Maven(pom.xml)

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>3.2.5</version>
    <relativePath/>
</parent>

<dependencies>
    <!-- Spring AI Chroma Vector Store -->
    <dependency>
        <groupId>org.springframework.ai</groupId>
        <artifactId>spring-ai-chroma-store</artifactId>
        <version>1.0.0-M6</version>
    </dependency>
    <!-- 其他必要依赖,如OpenAI Embedding等 -->
</dependencies>

Gradle(build.gradle)

plugins {
    id 'org.springframework.boot' version '3.2.5'
    id 'io.spring.dependency-management' version '1.1.4'
}

dependencies {
    implementation 'org.springframework.ai:spring-ai-chroma-store:1.0.0-M6'
    // 其他必要依赖
}

2. 启动兼容版本的ChromaDB容器

替换原Docker命令为:

docker run -it --rm --name chroma -p 8000:8000 ghcr.io/chroma-core/chroma:0.4.24

3. 完善application.properties配置

添加Chroma服务地址(确保客户端能正确寻址):

spring.ai.vectorstore.chroma.base-url=http://localhost:8000
spring.ai.vectorstore.chroma.initialize-schema=true
spring.ai.vectorstore.chroma.collection-name=demo

验证结果

  1. 启动ChromaDB容器后,启动Spring Boot应用,Chroma控制台会输出类似如下日志,表明集合创建成功:
    INFO:     [xx-xx-xxxx xx:xx:xx] 172.17.0.1:xxxx - "POST /api/v1/collections HTTP/1.1" 200
    
  2. 浏览器访问http://localhost:8000/api/v1/collections/demo,会返回集合的详细信息,而非InvalidCollection错误。

内容的提问来源于stack exchange,提问作者Arvind Kumar Avinash

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 22:34:55