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
温馨提示:
baseUrl: https://openapi.youdao.com
Content-Type: x-www-form-urlencoded
获取文本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 |
1、、请求的q,每个q的文本的单词数不要超过400,超过部分可能不会进行计算,同时会有警告说明信息返回;
2、可用于中英文档;
3、传入q时,最好自己先组好一个batch(最多可传16个q);
4、模型版本自动校验:注意在自己的应用中加入model version的自动校验逻辑,避免embedding模型更新之后,模型版本不一致,导致检索失败!
错误码 | 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)过长 |