帮助与文档 > 产品文档 > 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签名类型v3true

签名生成方法如下:
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请求idtext
result结果
+embeddingListembedding结果,所有queries的embedding,每个embedding是768维,已经做了normalizearray
+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签名类型v3true

签名生成方法如下:
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账户已经欠费停
EB1001embedding模型请求失败
EB1002请求句子(q)过多
EB1003单句(q)过长