接口定义
LoadAndSplitTextParams()
接口用于给已创建的 AI 类集合视图中上传文件写入数据。LoadAndSplitText(ctx context.Context, param tcvectordb.LoadAndSplitTextParams) (result *tcvectordb.LoadAndSplitTextResult, err error)
约束限制
每次仅能上传一个文件,上传之后,将自动进行拆分、向量化等。
该接口当前不支持使用别名替换集合视图上传文件。
使用示例
说明:
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 := falseappendKeywordsToChunk := trueresult, _ := 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 信息。 |