Appearance
API 文档
请求方式均为 POST;参数均为数组形式,操作单个数据则只放在一个数组元素即可。
连接地址
连接地址可在数据集管理页面获得
新增数据
请求地址
/api/collection/add
入参
typescript
{
ids: string[],
embeddings?: number[][],
metadatas?: Record<string, any>[],
documents?: string[]
}
出参
typescript
{
code: number,
data: {
ids: string[]
},
message: string,
success: boolean
}
删除数据
请求地址
/api/collection/delete
入参
typescript
{
ids: string[]
}
出参
typescript
{
code: number,
data: {
ids: string[]
},
message: string,
success: boolean
}
修改数据
/api/collection/delete
入参
typescript
{
ids: string[],
embeddings?: number[][],
metadatas?: Record<string, any>[],
documents?: string[]
}
当 ID 不存在时,将会新建;embedding
, metadata
, document
均为覆盖更新;metadata
会做递归 Merge。
出参
typescript
{
code: number,
data: {
ids: string[]
},
message: string,
success: boolean
}
查询数据
/api/collection/get
入参
typescript
{
ids?: string[];
where?: WhereOptions; // 查询条件,详见下文 WhereOptions
limit?: number; // 用于分页,限制条数,默认 10
offset?: number; // 用于分页,起始位置,默认 0
}
出参
typescript
{
code: number;
data: {
list: {
id: string
embedding: number[]
metadata: Record<string, any>
document: string
createdAt: string
updatedAt: string
}[],
total: number
};
message: string;
success: boolean;
}
向量搜索
/api/collection/search
入参
typescript
{
embedding: number[];
limit?: number; // 限制条数
where?: WhereOptions; // 查询条件,详见下文 WhereOptions
}
出参
typescript
{
code: number;
data: {
list: {
id: string
embedding: number[]
metadata: Record<string, any>
document: string
createdAt: string
updatedAt: string
}[],
total: number
};
message: string;
success: boolean;
}
WhereOptions
用于根据 metadata 过滤结果。
假如已经创建一条数据,内容如下
json
{
"id": "id1",
"embedding": [1, 2, 3],
"metadata": {
"a": 1,
"b": 2
},
"document": "document1",
"createdAt": "2023-10-16T09:47:17.586Z",
"updatedAt": "2023-10-16T15:05:59.420Z"
}
如果我想查询 metadata.a 等于 1 的数据,则 whereOptions 为
json
{
"where": {
"a": {
"$eq": 1
}
}
}
支持操作符列表
操作符 | 含义 | 其他 |
---|---|---|
$gt | 大于操作符,表示字段的值大于给定的值 | |
$lt | 小于操作符,表示字段的值小于给定的值 | |
$gte | 大于等于操作符,表示字段的值大于或等于给定的值 | |
$lte | 小于操作符,表示字段的值小于给定的值 | |
$eq | 等于操作符,表示字段的值等于给定的值 | |
$ne | 不等于操作符,表示字段的值不等于给定的值 | |
$in | 包含于操作符,表示字段的值在给定的数组中 | |
$notIn | 不包含于操作符,表示字段的值不在给定的数组中 | |
$between | 在范围内操作符,表示字段的值在给定的范围内 | |
$notBetween | 不在范围内操作符,表示字段的值不在给定的范围内 | |
$like | 模糊匹配操作符,表示字段的值符合给定的模式(可以使用 % 和 _ 通配符) | |
$notLike | 不模糊匹配操作符,表示字段的值不符合给定的模式 | |
$iLike | 不区分大小写的模糊匹配操作符,表示字段的值符合给定的模式,不区分大小写 | |
$notILike | 不区分大小写的不模糊匹配操作符,表示字段的值不符合给定的模式,不区分大小写 |
文本生成向量数据
/api/db/embedding/create
最大支持 8192 个 Token,生成结果 1024 维度,支持中、英文。
入参
typescript
{
input: string;
}
出参
typescript
{
code: number;
data: {
embedding: number[]
};
message: string;
success: boolean;
}