上传文件

最近更新时间:2024-01-17 17:19:01

我的收藏

功能介绍

loadAndSplitText() 接口用于上传文件至 AI 类向量数据库。

约束限制

每次仅能上传一个文件,上传之后,将自动进行拆分、向量化等。
该接口当前不支持使用别名替换集合视图上传文件。

请求示例

// link database, client 为 VectorDBClient() 创建的客户端对象
AIDatabase db = client.aiDatabase("db-test-ai");
// link collectionView
CollectionView collection = db.describeCollectionView("coll-ai-files");
// LocalFilePath 配置上传文件的本地路径
// DocumentSetName 指定文件存储于数据库的名称
LoadAndSplitTextParam param = LoadAndSplitTextParam.newBuilder()
.withLocalFilePath("/tmp/腾讯云向量数据库.md")
.withDocumentSetName("腾讯云向量数据库.md")
.withSplitterProcess(SplitterPreprocessParams.newBuilder()
.withAppendKeywordsToChunkEnum(true)
.withAppendTitleToChunkEnum(false)
.Build())
.Build();
// 配置文件 Meatdata 标量字段的值
Map<String, Object> metaDataMap = new HashMap<>(); metaDataMap.put("author", "Tencent"); metaDataMap.put("tags", Arrays.asList("Embedding","向量","AI"));
// 调用 loadAndSplitText() 上传文件
collection.loadAndSplitText(param, metaDataMap);

请求参数

参数名
子参数
是否必选
参数含义
LocalFilePath
-
本地上传文件路径。
DocumentSetName
-
存储在向量数据库中的文件名。若不设置该参数,则默认使用 LocalFilePath 中的文件名。
splitter_process
append_title_to_chunk
在对文件拆分时,配置是否将 Title 追加到切分后的段落后面一并 Embedding。取值如下所示:
false:不追加。默认值为 false。
true:将段落 title 追加到切分后的段落。
append_keywords_to_chunk
在对文件拆分时,配置是否将关键字 keywords 追加到切分后的段落一并 Embedding。取值如下所示:
false:不追加。
true:将全文的 keywords 追加到切分后的段落。默认值为 true。
metaDataMap
-
文件的 Metadata 元数据信息,可自定义扩展字段。例如:author、tags 等。
上传文件时,可为创建 CollectionView 设置的 Filter 索引的字段赋值,以便在检索时,使用该字段的 Filter 表达式检索文件。
上传文件时,可以新增标量字段,但新增字段不会构建 Filter 索引。

返回消息

说明:
loadAndSplitText() 执行之后如果抛出异常,说明上传文件失败。具体异常原因,可根据提示信息进行分析。无任何提示信息说明执行成功,可使用 getFile() 查看上传的文件内容。