embedding_v2是 embedding 接口的较新版本,建议使用此接口进行向量化处理。 embedding用于将非结构化数据向量化,通过深度学习神经网络提取文本、图片、音视频等非结构化数据里的内容和语义,把文本、图片、音视频等变成特征向量。
异步调用使用async_embedding_v2接口,参数不变。
说明
参数 | 子参数 | 类型 | 是否必选 | 说明 |
---|---|---|---|---|
EmbModel 说明 EmbModel 结构体实例。 | ModelName | string | 是 | 指定模型名称,当前支持的模型有:
|
params | map | 否 | return_token_usage - 返回请求消耗的token数, 默认关闭 | |
RawData 说明 RawData 结构体实例或其构成的列表,最大 100 个。 | DataType | string | 是 | 支持如下类型:
|
Text | string | data_type 为 text 或 text-image时,必选 | 当 data_type=text 时,直接传入类型为 string 的文本。 | |
image | string | data_type 为 image 或 text-image时,必选 | data_type=image时,传入图片内容的base64编码 |
list := []vikingdb.RawData{ { DataType: "text", Text: "hello1", }, { DataType: "text", Text: "hello2", }, } res, err := service.EmbeddingV2(vikingdb.EmbModel{ModelName: "bge-m3", Params: map[string]interface{}{"return_token_usage": true}}, list) if err != nil { fmt.Println(err) } for key, item := range res { fmt.Println(key,item) fmt.Println("------------------------------") }
Go 调用执行上面的任务,返回结果 json,包括稠密向量和稀疏向量(如有)。