接口定义
createCollectionView() 用于为已创建的 AI 类向量数据库创建 CollectionView。
public CollectionView createCollectionView(@NotNull CreateCollectionViewParam param)
使用示例
在 AI 类数据库 db-test-ai 下,创建一个名为 coll-ai-files 的集合视图,用于上传并存储文件。
// link database, client 为 VectorDBClient() 创建的客户端对象AIDatabase db = client.aiDatabase("db-test-ai");// 初始化 ColletionView 参数CreateCollectionViewParam collectionParam = CreateCollectionViewParam.newBuilder().withName("coll-ai-files").withDescription("test create ai collection").withEmbedding(EmbeddingParams.newBuilder().withEnableWordEmbedding(true).withLanguage(LanguageType.ZH).Build()).addField(new FilterIndex("author", FieldType.String, IndexType.FILTER)).addField(new FilterIndex("tags", FieldType.Array, IndexType.FILTER)).withSplitterPreprocess(SplitterPreprocessParams.newBuilder().withAppendKeywordsToChunkEnum(true).withAppendTitleToChunkEnum(false)// ChunkSplitter 参数以正则表达式的方式配置文档拆分方式,如下:\\n{2,}
代表以两个及以上的换行进行拆分,常用在QA对文件拆分中。//.withChunkSplitter("\\n{2,}").Build()).build();// Create CollectionViewCollectionView cv = db.createCollectionView(collectionParam);
入参描述
参数 | 参数含义 | 子参数 | 是否必选 | 配置方法 |
Name | 指定 CollectionView 的名称。 | - | 是 | CollectionView 命名要求如下: 只能使用英文字母,数字,下划线_、中划线-,并以英文字母开头。 长度要求:[1,128]。 |
Description | 指定 CollectionView 的描述信息。 | - | 否 | 取值类型:string。 字符长度要求:[1,256]。 示例:this is the collection description。 |
Embedding | Embedding 相关配置。 | Language | 否 | 取值如下所示: ZH:中文。 EN:英文。 MULTI:多语言。 |
| | EnableWordEmbedding | 否 | 配置在检索时,是否开启词(Words)向量精排,并进行词向量化。 true:开启。 false:不开启,默认为 false。 |
SplitterPreprocess
| 文件预处理方式配置。 |
AppendTitleToChunkEnum
| 否 | 在对文件拆分时,配置是否将 Title 追加到切分后的段落后面一并 Embedding。取值如下所示: true:将段落 Title 追加到切分后的段落。 false:不追加。默认值为 false。 |
| |
AppendKeywordsToChunkEnum
| 否 | 在对文件拆分时,配置是否将关键字 keywords 追加到切分后的段落一并 Embedding。取值如下所示: true:将全文的 keywords 追加到切分后的段落。默认值为 true。 false:不追加。 |
| | ChunkSplitter | 否 | 以正则表达式的方式配置文档拆分方式,例如: \\n{2,} 代表以两个及以上的换行进行拆分,常用在 QA 对文件拆分中。 |
Field
| 配置需使用 FilterIndex 索引的标量字段,以便使用该字段的 Filter 条件表达式过滤查找文件。 说明: 文件上传之后,会为文件 ID 构建主键索引,为文件名构建 Filter 索引。 | fieldName | 是 | 配置可作为 FilterIndex 自定义扩展的标量字段名。请求示例中为:author、tags。 说明: Filter 索引(Filter Index)是建立在标量字段的索引。该标量字段名称、类型均由用户自定义,不限制标量字段数量。 标量字段被建立 Filter 索引之后,向量检索时,将依据 Filter 指定的标量字段的条件表达式进行过滤查询和范围查询以此来匹配相似向量。 建立 Filter 索引时,选取文件 Metadata 信息需要使用 Filter 表达式高效过滤数据的标量字段。不做过滤查询、检索的标量字段不必建立 Filter 索引。切勿将所有标量字段建立索引,导致内存资源的浪费。 |
| | filedType | 是 | 指定 FilterIndex 自定义字段的数据类型。取值如下: String:字符型。 Uint64:指无符号整数(unsigned integer)。 Array:数组类型,默认数组元素为 string。 |
| | indexType | 是 | 该参数固定设置为 FILTER 。 |
出参说明
说明:
createCollectionView() 执行之后,如果抛出异常,说明创建 CollectionView 失败。具体异常原因,可根据提示信息进行分析。无任何提示信息说明创建 CollectionView 执行成功,可使用 describeCollectionView() 查看已经创建的 CollectionView。