基于文件写入数据

最近更新时间:2024-12-05 20:37:03

我的收藏

接口定义

LoadAndSplitTextParams() 接口用于给已创建的 AI 类集合视图中上传文件写入数据。
LoadAndSplitText(ctx context.Context, param tcvectordb.LoadAndSplitTextParams) (result *tcvectordb.LoadAndSplitTextResult, err error)

约束限制

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

使用示例

说明:
如果需要进行腾讯云向量数据库的测试,请获取 腾讯云向量数据库.pdf 文档。
import (
"context"
"encoding/json"
"log"
"github.com/tencent/vectordatabase-sdk-go/tcvectordb"
"github.com/tencent/vectordatabase-sdk-go/tcvectordb/api"
"github.com/tencent/vectordatabase-sdk-go/tcvectordb/api/ai_document_set"
collection_view "github.com/tencent/vectordatabase-sdk-go/tcvectordb/api/collection_view"
)
var (
ctx = context.Background()
aiDatabase = "go-sdk-test-ai-db"
collectionViewName = "go-sdk-test-ai-coll"
)

col := client.AIDatabase(aiDatabase).CollectionView(collectionViewName)
metaData := map[string]interface{}{
// 元数据只支持string、uint64类型的值
"author_name": "sam",
"fileKey": 1024,
}
appendTitleToChunk := false
appendKeywordsToChunk := true

result, _ := col.LoadAndSplitText(ctx, tcvectordb.LoadAndSplitTextParams{
DocumentSetName: "腾讯云向量数据库.pdf",
// Reader: fd,
LocalFilePath: "../example/腾讯云向量数据库.pdf",
MetaData: metaData,
SplitterPreprocess: ai_document_set.DocumentSplitterPreprocess{
AppendTitleToChunk: &appendTitleToChunk,
AppendKeywordsToChunk: &appendKeywordsToChunk,
},
ParsingProcess: &api.ParsingProcess{
ParsingType: string(tcvectordb.VisionModelParsing),
},
})
log.Printf("LoadAndSplitText success: %+v", result)

入参描述

参数名
子参数
是否必选
参数含义
LocalFilePath
-
本地上传文件路径。
DocumentSetName
-
存储在向量数据库中的文件名。若不设置该参数,则默认使用 LocalFilePath 中的文件名。
SplitterPreprocess
AppendTitleToChunk
在对文件拆分时,配置是否将 Title 追加到切分后的段落后面一并 Embedding。取值如下所示:
false:不追加。默认值为 false。
true:将段落 title 追加到切分后的段落。
AppendKeywordsToChunk
在对文件拆分时,配置是否将关键字 keywords 追加到切分后的段落一并 Embedding。取值如下所示:
false:不追加。
true:将全文的 keywords 追加到切分后的段落。默认值为 true。
ChunkSplitter
以正则表达式的方式配置文档拆分方式,例如:\\n{2,} 代表以两个及以上的换行进行拆分,常用在 QA 对文件拆分中。
ParsingProcess
ParsingType
指定 PDF 类型文件的解析方式,取值如下所示:
VisionModelParsing:文件依据解析模型解析,推荐使用,可解析 PDF 中双栏、表格等复杂格式。
AlgorithmParsing:文件依据算法解析,系统默认解析方式。Markdown、Word、PPT 类型,无需配置该参数,默认使用 AlgorithmParsing 解析。
MetaData
-
文件的 Metadata 元数据信息,可自定义扩展字段。例如:author_name、filekey 等。
上传文件时,可为创建 CollectionView 设置的 Filter 索引的字段赋值,以便在检索时,使用该字段的 Filter 表达式检索文件。
上传文件时,可以新增标量字段,但新增字段不会构建 Filter 索引。

出参描述

{
"GetCosTmpSecretResult": {
"DocumentSetId": "131383079**********",
"DocumentSetName": "腾讯云向量数据库.pdf",
"CosEndpoint": "https://vecterdb-backup-gz-********.cos.ap-guangzhou.myqcloud.com",
"CosRegion": "ap-guangzhou",
"CosBucket": "vecterdb-backup-gz-**********",
"UploadPath": "embedding_file/vdb-9eyhlf2m/go-sdk-test-ai-db/go-sdk-test-ai-coll-************/腾讯云向量数据库.pdf",
"TmpSecretID": "**********************************************************",
"TmpSecretKey": "8ZkQpR1KTgAwM7R65+5RVd8pPOv0zFnkq8svRsWEU/I=",
"SessionToken": "***********************************",
"Expiration": "2024-12-04T11:44:31Z",
"ExpiredTime": 1733312671,
"MaxSupportContentLength": 10485760
}
}
参数名
参数含义
CosEndpoint
腾讯云对象存储(COS)的服务端点(Endpoint),即 COS 服务的访问地址。
cosBucket
COS 服务端存储桶名称。
cosRegion
COS 服务端存储桶所属地域。
uploadPath
依据数据库名、集合名、文件名拼接生成的 COS 端存放路径。
TmpSecretId
密钥 ID
TmpSecretKey
密钥信息
Token
Token 信息
maxSupportContentLength
限制上传文件的最大字节数
DocumentSetName
文件存储于数据库中的名称。
documentSetId
COS 给文件分配的 ID 信息。