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

embedding v2

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

首次发布时间2024.04.16 13:11:59

概述

embedding_v2是 embedding 接口的较新版本,建议使用此接口进行向量化处理。 embedding用于将非结构化数据向量化,通过深度学习神经网络提取文本、图片、音视频等非结构化数据里的内容和语义,把文本、图片、音视频等变成特征向量。

说明

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

请求参数

参数

子参数

类型

是否必选

说明

EmbModel

说明

EmbModel 实例。

modelName

string

指定模型名称,当前支持的模型有:

  • bge-large-zh:最多能处理 512 个 token,数量超长时会截断,数量不足时会做 padding。 输出 embedding 维度是 1024,类型是 float。
  • bge-m3:基于 m3 模型,默认返回稠密向量和稀疏向量。最多能处理 8192 个 token,数量超长时会截断,数量不足时会做 padding。 输出稠密向量维度是 1024,类型是 float。输出稀疏向量为字典类型,k 为 Tokenizer 输出的 token,v 为这个 token 的权重。
  • bge-large-zh-and-m3:基于 bge v1.5 和m3 模型,使用混合检索模式。稠密向量由 bge v1.5 抽取,稀疏向量由 bge m3 抽取。最多能处理 512 个 token,数量超长时会截断,数量不足时会做 padding。 输出稠密向量维度是 1024,类型是 float。输出稀疏向量为字典类型,k 为 Tokenizer 输出的 token,v 为这个 token 的权重。

params

map

return_token_usage - 返回请求消耗的token数, 默认关闭
return_dense - 返回稠密向量, 默认打开
return_sparse - 返回稀疏向量, 支持提取稀疏向量的模型默认打开, 其他模型开启了会报错

RawData

说明

RawData 实例或者列表,最大 100 个。

dataType

string

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

text

string

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

示例

请求参数

HashMap<String, Object> params = new HashMap<>();
params.put("return_token_usage", true);
ArrayList<RawData> rawDatas = new ArrayList<>();
rawDatas.add(new RawData().setDataType("text").setText("hello1").build());
rawDatas.add(new RawData().setDataType("text").setText("hello2").build());
Map<String, Object> res = vikingDBService.embeddingV2(new EmbModel().setModelName("bge-m3").setParams(params).build(), rawDatas);
System.out.println(res);.build(), new RawData().setDataType("text").setText("hello1").build());

返回值

Python 调用执行上面的任务,返回 list<float> 、list<list<float>> 类型的向量。