帮助与文档 > 产品文档 > AIGC > API文档 > Embedding
Embedding

embedding简介

概念解释

Embedding服务是一种机器学习服务,它能够将文本、图像或其他类型的数据转换为低维向量表示, 这些向量被称为嵌入向量(Embedding Vector)。 其针对知识库和LLM问答场景(文档问答)有特殊优化,对用户query的语义理解能力强,基于用户query理解定位到看似字符重叠度少的相关信息, 检索召回率高;同时可以支持跨语种的知识检索,同一个api,不仅支持中英文单语种场景的知识检索,我们还依托有道翻译的技术积累, 在中英文跨语种场景有特殊优化。也就是我们embedding不仅可以支持英文->英文和中文->中文单语种知识检索, 还支持中文->英文和英文->中文的跨语种知识检索。

说明

Hi,您好,欢迎使用有道智云embedding接口服务。

本文档主要针对需要集成HTTP API的技术开发工程师,详细描述embedding能力相关的技术内容。

如果您有与我们商务合作的需求,可以通过以下方式联系我们:

商务邮箱: AIcloud_Business@corp.youdao.com

如果您对文档内容有任何疑问,可以通过以下几种方式联系我们:

客服QQ:1906538062

AIGC产品技术交流群 :837394306

联系邮箱: zhiyun@corp.youdao.com

温馨提示:

  • 本文档主要针对开发人员,接入测试前需要获取应用ID和应用密钥,并创建应用;如果您还没有,请按照 新手指南 获取。
  • 平台向每个账户赠送50元的体验金,供用户集成前测试所用。

接口调用参数

请求地址

baseUrl: https://openapi.youdao.com

接口说明

Content-Type: x-www-form-urlencoded

embedding接口

接口说明:

获取文本embedding

地址:

baseUrl + /textEmbedding/queryTextEmbeddings POST

字段名 含义 备注 必填
appKey 应用标识(应用 ID) true
curtime 时间戳(秒) true
q 要上传的文本内容 每个q不超过400个单词或汉字, 最多不超过16个q文本。请求中该字段可包含多个,即批量请求。 true
salt 随机字符串 true
sign 签名信息:sha256(appKey+input+salt+curtime+密钥) true
signType 签名类型 v3 true

签名生成方法如下: signType=v3; sign=sha256(应用ID+input+salt+curtime+应用密钥); 其中,input的计算方式为:input=q前10个字符 + q长度 + q后10个字符(当q长度大于20)或 input=q字符串(当q长度小于等于20); 传多个q时,需要拼接为一个字符串参与签名计算。例:第一个q=文本1,第二个q=文本2,则参与计算签名q=文本1文本2

返回结果:
参数名称 描述 类型
errorCode 错误码 text
msg 描述 text
requestId 请求id text
result 结果
+embeddingList embedding结果,所有queries的embedding,每个embedding是768维,已经做了normalize array
+modelVersion 模型版本号 text
+tokenNum 输入的q总共花费的tokens数量 long
+warning 警告说明信息,入参不合法时存在 text

查询模型版本接口

接口说明:

获取embedding模型版本

地址:

baseUrl + /textEmbedding/queryTextEmbeddingVersion GET

字段名 含义 备注 必填
appKey 应用标识(应用 ID) true
curtime 时间戳(秒) true
salt 随机字符串 true
sign 签名信息:sha256(appKey+input+salt+curtime+密钥) true
signType 签名类型 v3 true

签名生成方法如下: signType=v3; sign=sha256(应用ID+input+salt+curtime+应用密钥); 其中,本接口input取值为空字符串"";

返回结果:
参数名称 描述 类型
errorCode 错误码 text
msg 描述 text
result 结果
+modelVersion 模型版本号 text

api说明

1、、请求的q,每个q的文本的单词数不要超过400,超过部分可能不会进行计算,同时会有警告说明信息返回; 2、可用于中英文档; 3、传入q时,最好自己先组好一个batch(最多可传16个q); 4、模型版本自动校验:注意在自己的应用中加入model version的自动校验逻辑,避免embedding模型更新之后,模型版本不一致,导致检索失败!

常用语言 Demo

Java 示例

Embedding Java demo

Python3 示例

Embedding python3 demo

C#示例

Embedding c# demo

错误代码列表

错误码 msg
101 缺少必填的参数,首先确保必填参数齐全,然后,确认参数书写是否正确。
104 不支持的API类型
105 不支持的签名类型
106 不支持的响应类型
110 无相关服务的有效应用,应用没有绑定服务,可以新建服务。注:某些服务的结果发音需要tts服务,需要在控制台创建语音合成实例绑定应用后方能使用。
111 开发者账号无效
202 签名检验失败,如果确认应用ID和应用密钥的正确性,仍返回202,一般是编码问题。请确保翻译文本 q 为UTF-8编码.
203 访问IP地址不在可访问IP列表
205 请求的接口与应用的平台类型不一致,确保接入方式(Android SDK、IOS SDK、API)与创建的应用平台类型一致。如有疑问请参考入门指南
206 因为时间戳无效导致签名校验失败
207 重放请求
303 服务端的其它异常
401 账户已经欠费停
EB1001 embedding模型请求失败
EB1002 请求句子(q)过多
EB1003 单句(q)过长