You need to enable JavaScript to run this app.
导航
Embedding
最近更新时间:2024.11.07 12:03:00首次发布时间:2024.06.14 11:34:52

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

说明

  • 当前 Embedding 服务支持将文本/图片生成向量。
  • 当前 Embedding 服务接口不支持承载高并发请求,请求数量过多时请求会被丢弃。
  • 图片大小:建议图片大小不要超过1MB,因embedding v2接口的请求限制为4M,当图片超过1MB时,我们建议用户压缩图片后再次请求,防止接口截断;
  • 图片压缩尺寸推荐:经过我们的实验,将图片的长和宽分别缩放到自身的0.30-0.35倍,可以得到与原图embedding较为相近的结果。其中,0.30-0.35倍 是缩放的拐点,比例再低的话精度劣化会比较明显,缩放比例可以在拐点以上。

请求参数

Embedding 有两个参数,分别是 ModelParamsDataParams[]

ModelParams

字段名

类型

是否必传

说明

ModelName

ModelName

使用模型名称

ReturnTokenUsage

boolean

是否返回消耗 token 数

ReturnDense

boolean

是否返回稠密向量

ReturnSparse

boolean

是否返回稀疏向量

ModelName

type ModelName = "bge-large-zh" | "bge-m3" | "bge-large-zh-and-m3" | "bge-visualized-m3"

DataParams

type DataParams = TextDataParams | ImageDataParams | TextImageDataParams

enum DataType {
  Text = "text",
  Image = "image",
  TextImage = "text-image",
}
type DataParams = TextDataParams | ImageDataParams | TextImageDataParams

enum DataType {
  Text = "text",
  Image = "image",
  TextImage = "text-image",
}

TextDataParams

字段名

类型

是否必传

说明

DataType

DataType.Text

数据类型

Text

string

文本数据

ImageDataParams

字段名

类型

是否必传

说明

DataType

DataType.Image

数据类型

Image

string

图片 base64 编码

TextImageDataParams

字段名

类型

是否必传

说明

DataType

DataType.TextImage

数据类型

Image

string

图片 base64 编码

Text

string

文本数据

响应参数
declare class EmbeddingResponse {
  readonly Result: EmbeddingResult[];
  readonly OriginalRequest: string;
  readonly LogId: string;
  constructor(
    Result: EmbeddingResult[],
    OriginalRequest: string,
    LogId: string
  );
}

EmbeddingResult

字段值根据传入的 ModelParams 决定。

字段名

类型

是否必传

说明

SentenceDenseEmbedding

number[][]

稠密向量

SentenceSparseEmbedding

Record<string, number>[]

稀疏向量

TokenUsage

TokenUsage

资源用量

TokenUsage

字段名

类型

是否必传

说明

PromptTokens

number

CompletionTokens

number

TotalTokens

number

参考示例
import { vikingdb } from '@volcengine/openapi'

declare const service: vikingdb.VikingdbService // 替换为你初始化好的实例

const response await service.embedding.Embedding({
  ModelName: 'bge-large-zh',
  ReturnTokenUsage: true, // optional,传入该字段则返回值类型也会有该字段
  ReturnDense: true, // optional,传入该字段则返回值类型也会有该字段
  ReturnSparse: true, // optional,传入该字段则返回值类型也会有该字段
})

console.log(response.Result) // 获取 Embedding 结果