跳到主要内容

Chroma

https://www.trychroma.com/

Maven 依赖

<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-chroma</artifactId>
<version>1.18.1-beta28</version>
</dependency>

API

  • ChromaEmbeddingStore

示例

支持的 API 版本

Chroma 有多个 REST API 版本:

  • 直到 0.5.16 版本:仅支持 API V1
  • 0.5.16 到 0.6.3 版本:支持 API V1 和 V2(约在 0.6.2 引入的 V1 API 存在一些问题)
  • 0.7.0 之后的版本:仅支持 API V2,因此在配置 ChromaEmbeddingStore 时需要选择正确的版本:
ChromaEmbeddingStore.builder()
.apiVersion(ChromaApiVersion.V2)
.baseUrl(...)
.tenantName(...)
.databaseName(...)
.collectionName(...)
.build();

当前限制

  • Chroma 不能对字母数字元数据使用大于和小于过滤,仅支持 int 和 float
  • Chroma 的 not 过滤行为如下:如果按 "key" 不等于 "a" 过滤, 实际上会返回所有 "key" 值 != "a" 的项目,但不会返回没有 "key" 元数据的项目!