JS 客户端
类: ChromaClient#
构造函数
- new ChromaClient(params?)
创建一个新的 ChromaClient 实例。
参数
| 名称 | 类型 | 描述 |
|---|---|---|
| params.host? | string | Chroma 服务器的主机地址。默认为 'localhost'。 |
| params.port? | number | Chroma 服务器的端口号。默认为 8000。 |
| params.ssl? | boolean | 是否使用 SSL/HTTPS 进行连接。默认为 false。 |
| params.tenant? | string | 要连接的 Chroma 服务器中的租户名称。 |
| params.database? | string | 要连接的数据库名称。 |
| params.headers? | Record<string, string> | 随请求发送的额外 HTTP 头。 |
| params.fetchOptions? | RequestInit | HTTP 请求的额外 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.name | string | 集合的名称(必填)。 |
| 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.name | string | 要删除的集合名称(必填)。 |
返回
Promise<void>
一个 Promise,在集合删除时解析。
抛出
如果删除集合时出现问题。
示例
TypeScript
await client.deleteCollection({
name: "my_collection",
});
getCollection
- getCollection(params): Promise<Collection>
获取具有指定名称的集合。
参数
| 名称 | 类型 | 描述 |
|---|---|---|
| params.name | string | 要检索的集合名称(必填)。 |
| params.embeddingFunction? | EmbeddingFunction | 可选的嵌入函数。应与创建集合时使用的函数匹配。 |
返回
Promise<Collection>
一个 Promise,解析为该集合。
抛出
如果获取集合时出现问题。
示例
TypeScript
const collection = await client.getCollection({
name: "my_collection",
});
getOrCreateCollection
- getOrCreateCollection(params): Promise<Collection>
获取或创建具有指定属性的集合。
参数
| 名称 | 类型 | 描述 |
|---|---|---|
| params.name | string | 集合的名称(必填)。 |
| 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();