JS 客户端

类: ChromaClient#

构造函数

  • new ChromaClient(params?)

创建一个新的 ChromaClient 实例。

参数

名称类型描述
params.host?stringChroma 服务器的主机地址。默认为 'localhost'
params.port?numberChroma 服务器的端口号。默认为 8000
params.ssl?boolean是否使用 SSL/HTTPS 进行连接。默认为 false
params.tenant?string要连接的 Chroma 服务器中的租户名称。
params.database?string要连接的数据库名称。
params.headers?Record<string, string>随请求发送的额外 HTTP 头。
params.fetchOptions?RequestInitHTTP 请求的额外 fetch 选项。

示例

TypeScript
const client = new ChromaClient({ host: "localhost", port: 8000, ssl: false, tenant: "my_tenant", database: "my_database", });

方法#

countCollections

  • countCollections(): Promise<number>

统计所有集合。

返回

Promise<number>

一个 Promise,解析为集合的数量。

抛出

如果统计集合时出现问题。

示例

TypeScript
const collections = await client.countCollections();

createCollection

  • createCollection(params): Promise<Collection>

使用指定的属性创建一个新集合。

参数

名称类型描述
params.namestring集合的名称(必填)。
params.configuration?CreateCollectionConfiguration可选的集合配置。
params.metadata?CollectionMetadata集合的可选元数据。
params.embeddingFunction?EmbeddingFunction | null可选的嵌入函数。默认为 @chroma-core/default-embed 中的 DefaultEmbeddingFunction
params.schema?Schema描述索引配置的可选 schema。

返回

Promise<Collection>

一个 Promise,解析为创建的集合。

抛出

  • 如果客户端无法连接到服务器。
  • 如果创建集合时出现问题。

示例

TypeScript
const collection = await client.createCollection({ name: "my_collection", metadata: { description: "My first collection", }, });

deleteCollection

  • deleteCollection(params): Promise<void>

删除具有指定名称的集合。

参数

名称类型描述
params.namestring要删除的集合名称(必填)。

返回

Promise<void>

一个 Promise,在集合删除时解析。

抛出

如果删除集合时出现问题。

示例

TypeScript
await client.deleteCollection({ name: "my_collection", });

getCollection

  • getCollection(params): Promise<Collection>

获取具有指定名称的集合。

参数

名称类型描述
params.namestring要检索的集合名称(必填)。
params.embeddingFunction?EmbeddingFunction可选的嵌入函数。应与创建集合时使用的函数匹配。

返回

Promise<Collection>

一个 Promise,解析为该集合。

抛出

如果获取集合时出现问题。

示例

TypeScript
const collection = await client.getCollection({ name: "my_collection", });

getOrCreateCollection

  • getOrCreateCollection(params): Promise<Collection>

获取或创建具有指定属性的集合。

参数

名称类型描述
params.namestring集合的名称(必填)。
params.configuration?CreateCollectionConfiguration可选的集合配置(仅在创建时使用)。
params.metadata?CollectionMetadata集合的可选元数据(仅在创建时使用)。
params.embeddingFunction?EmbeddingFunction | null可选的嵌入函数。
params.schema?Schema描述索引配置的可选 schema(仅在创建时使用)。

返回

Promise<Collection>

一个 Promise,解析为已获取或创建的集合。

抛出

如果获取或创建集合时出现问题。

示例

TypeScript
const collection = await client.getOrCreateCollection({ name: "my_collection", metadata: { description: "My first collection", }, });

heartbeat

  • heartbeat(): Promise<number>

从 Chroma API 返回心跳。

返回

Promise<number>

一个 Promise,解析为 Chroma API 的心跳。

抛出

如果客户端无法连接到服务器。

示例

TypeScript
const heartbeat = await client.heartbeat();

listCollections

  • listCollections(params?): Promise<Collection[]>

列出所有集合。

参数

名称类型描述
params.limit?number要返回的集合的最大数量。默认值: 100
params.offset?number要跳过的集合数量。默认值: 0

返回

Promise<Collection[]>

一个 Promise,解析为 Collection 实例的数组。

抛出

如果列出集合时出现问题。

示例

TypeScript
const collections = await client.listCollections({ limit: 10, offset: 0, });

reset

  • reset(): Promise<void>

重置整个数据库,删除所有集合和数据。

返回

Promise<void>

一个 Promise,在重置完成时解析。

抛出

  • 如果客户端无法连接到服务器。
  • 如果服务器在重置时遇到错误。

示例

TypeScript
await client.reset();

version

  • version(): Promise<string>

返回 Chroma API 的版本。

返回

Promise<string>

一个 Promise,解析为 Chroma API 的版本。

抛出

如果客户端无法连接到服务器。

示例

TypeScript
const version = await client.version();