embedding簡介
概念解釋
Embedding服務(wù)是一種機(jī)器學(xué)習(xí)服務(wù),它能夠?qū)⑽谋尽D像或其他類型的數(shù)據(jù)轉(zhuǎn)換為低維向量表示,
這些向量被稱為嵌入向量(Embedding Vector)。
其針對(duì)知識(shí)庫和LLM問答場景(文檔問答)有特殊優(yōu)化,對(duì)用戶query的語義理解能力強(qiáng),基于用戶query理解定位到看似字符重疊度少的相關(guān)信息,
檢索召回率高;同時(shí)可以支持跨語種的知識(shí)檢索,同一個(gè)api,不僅支持中英文單語種場景的知識(shí)檢索,我們還依托有道翻譯的技術(shù)積累,
在中英文跨語種場景有特殊優(yōu)化。也就是我們embedding不僅可以支持英文->英文和中文->中文單語種知識(shí)檢索,
還支持中文->英文和英文->中文的跨語種知識(shí)檢索。
說明
Hi,您好,歡迎使用有道智云embedding接口服務(wù)。
本文檔主要針對(duì)需要集成HTTP API的技術(shù)開發(fā)工程師,詳細(xì)描述embedding能力相關(guān)的技術(shù)內(nèi)容。
如果您有與我們商務(wù)合作的需求,可以通過以下方式聯(lián)系我們:
商務(wù)郵箱: AIcloud_Business@corp.youdao.com
如果您對(duì)文檔內(nèi)容有任何疑問,可以通過以下幾種方式聯(lián)系我們:
客服QQ:1906538062
AIGC產(chǎn)品技術(shù)交流群 :837394306
聯(lián)系郵箱: zhiyun@corp.youdao.com
溫馨提示:
- 本文檔主要針對(duì)開發(fā)人員,接入測試前需要獲取應(yīng)用ID和應(yīng)用密鑰,并創(chuàng)建應(yīng)用;如果您還沒有,請(qǐng)按照 新手指南 獲取。
- 平臺(tái)向每個(gè)賬戶贈(zèng)送50元的體驗(yàn)金,供用戶集成前測試所用。
接口調(diào)用參數(shù)
請(qǐng)求地址
baseUrl: https://openapi.youdao.com
接口說明
Content-Type: x-www-form-urlencoded
embedding接口
接口說明:
獲取文本embedding
地址:
baseUrl + /textEmbedding/queryTextEmbeddings
POST
字段名 | 含義 | 備注 | 必填 |
---|
appKey | 應(yīng)用標(biāo)識(shí)(應(yīng)用 ID) | true |
curtime | 時(shí)間戳(秒) | true |
q | 要上傳的文本內(nèi)容 | 每個(gè)q不超過400個(gè)單詞或漢字, 最多不超過16個(gè)q文本。請(qǐng)求中該字段可包含多個(gè),即批量請(qǐng)求。 | true |
salt | 隨機(jī)字符串 | true |
sign | 簽名信息:sha256(appKey+input+salt+curtime+密鑰) | true |
signType | 簽名類型 | v3 | true |
簽名生成方法如下:
signType=v3;
sign=sha256(應(yīng)用ID+input+salt+curtime+應(yīng)用密鑰);
其中,input的計(jì)算方式為:input=q前10個(gè)字符 + q長度 + q后10個(gè)字符(當(dāng)q長度大于20)或 input=q字符串(當(dāng)q長度小于等于20);
傳多個(gè)q時(shí),需要拼接為一個(gè)字符串參與簽名計(jì)算。例:第一個(gè)q=文本1,第二個(gè)q=文本2,則參與計(jì)算簽名q=文本1文本2
返回結(jié)果:
參數(shù)名稱 | 描述 | 類型 |
---|
errorCode | 錯(cuò)誤碼 | text |
msg | 描述 | text |
requestId | 請(qǐng)求id | text |
result | 結(jié)果 |
+embeddingList | embedding結(jié)果,所有queries的embedding,每個(gè)embedding是768維,已經(jīng)做了normalize | array |
+modelVersion | 模型版本號(hào) | text |
+tokenNum | 輸入的q總共花費(fèi)的tokens數(shù)量 | long |
+warning | 警告說明信息,入?yún)⒉缓戏〞r(shí)存在 | text |
查詢模型版本接口
接口說明:
獲取embedding模型版本
地址:
baseUrl + /textEmbedding/queryTextEmbeddingVersion
GET
字段名 | 含義 | 備注 | 必填 |
---|
appKey | 應(yīng)用標(biāo)識(shí)(應(yīng)用 ID) | true |
curtime | 時(shí)間戳(秒) | true |
salt | 隨機(jī)字符串 | true |
sign | 簽名信息:sha256(appKey+input+salt+curtime+密鑰) | true |
signType | 簽名類型 | v3 | true |
簽名生成方法如下:
signType=v3;
sign=sha256(應(yīng)用ID+input+salt+curtime+應(yīng)用密鑰);
其中,本接口input取值為空字符串"";
返回結(jié)果:
參數(shù)名稱 | 描述 | 類型 |
---|
errorCode | 錯(cuò)誤碼 | text |
msg | 描述 | text |
result | 結(jié)果 |
+modelVersion | 模型版本號(hào) | text |
api說明
1、、請(qǐng)求的q,每個(gè)q的文本的單詞數(shù)不要超過400,超過部分可能不會(huì)進(jìn)行計(jì)算,同時(shí)會(huì)有警告說明信息返回;
2、可用于中英文檔;
3、傳入q時(shí),最好自己先組好一個(gè)batch(最多可傳16個(gè)q);
4、模型版本自動(dòng)校驗(yàn):注意在自己的應(yīng)用中加入model version的自動(dòng)校驗(yàn)邏輯,避免embedding模型更新之后,模型版本不一致,導(dǎo)致檢索失??!
常用語言 Demo
Java 示例
Embedding Java demo
Python3 示例
Embedding python3 demo
C#示例
Embedding c# demo
錯(cuò)誤代碼列表
錯(cuò)誤碼 | msg |
---|
101 | 缺少必填的參數(shù),首先確保必填參數(shù)齊全,然后,確認(rèn)參數(shù)書寫是否正確。 |
104 | 不支持的API類型 |
105 | 不支持的簽名類型 |
106 | 不支持的響應(yīng)類型 |
110 | 無相關(guān)服務(wù)的有效應(yīng)用,應(yīng)用沒有綁定服務(wù),可以新建服務(wù)。注:某些服務(wù)的結(jié)果發(fā)音需要tts服務(wù),需要在控制臺(tái)創(chuàng)建語音合成實(shí)例綁定應(yīng)用后方能使用。 |
111 | 開發(fā)者賬號(hào)無效 |
202 | 簽名檢驗(yàn)失敗,如果確認(rèn)應(yīng)用ID和應(yīng)用密鑰的正確性,仍返回202,一般是編碼問題。請(qǐng)確保翻譯文本 q 為UTF-8編碼. |
203 | 訪問IP地址不在可訪問IP列表 |
205 | 請(qǐng)求的接口與應(yīng)用的平臺(tái)類型不一致,確保接入方式(Android SDK、IOS SDK、API)與創(chuàng)建的應(yīng)用平臺(tái)類型一致。如有疑問請(qǐng)參考入門指南 |
206 | 因?yàn)闀r(shí)間戳無效導(dǎo)致簽名校驗(yàn)失敗 |
207 | 重放請(qǐng)求 |
303 | 服務(wù)端的其它異常 |
401 | 賬戶已經(jīng)欠費(fèi)停 |
EB1001 | embedding模型請(qǐng)求失敗 |
EB1002 | 請(qǐng)求句子(q)過多 |
EB1003 | 單句(q)過長 |