You need to enable JavaScript to run this app.
导航

Embedding

最近更新时间2024.04.16 13:11:56

首次发布时间2023.12.21 19:03:21

概述

Embedding 用于将非结构化数据向量化,通过深度学习神经网络提取文本、图片、音视频等非结构化数据里的内容和语义,把文本、图片、音视频等变成特征向量。

说明

  • 当前 Embedding 服务仅支持将文本生成向量。
  • 当前 Embedding 服务接口不支持承载高并发请求,请求数量过多时请求会被丢弃。

请求参数

参数

子参数

类型

是否必选

说明

EmbModel

说明

EmbModel 结构体实例。

ModelName

string

指定模型名称,当前支持的模型有 bge-large-zh。

  • 不同模型能够处理的 token 数量有限制,bge-large-zh 最多能处理 512 个 token,数量超长时会截断,数量不足时会做 padding。
  • 输出 embedding 维度是 1024,类型是 float。

RawData

说明

RawData 结构体实例或其构成的列表,最大 100 个。

DataType

string

指定数据类型,当前仅支持文本 text。

Text

string

当 DataType=text 时,直接传入类型为 string 的文本。

示例

请求参数

list := []vikingdb.RawData{
    {
       DataType: "text",
       Text:     "hello1",
    },
    {
       DataType: "text",
       Text:     "hello2",
    },
}
res, err := service.Embedding(vikingdb.EmbModel{ModelName: "bge_large_zh"}, list)
if err != nil {
    fmt.Println(err)
}
for _, item := range res {
    fmt.Println(item)
    fmt.Println("------------------------------")
}

返回值

Go 调用执行上面的任务,返回 [][]float64 类型的向量。