小P老師簡(jiǎn)介
概念解釋
小P老師服務(wù)可以提供全科答疑能力,包含答案解析和思路指引,講解更加生動(dòng)自然。
說明
Hi,您好,歡迎使用有道智云小P老師接口服務(wù)。
本文檔主要針對(duì)需要集成HTTP API的技術(shù)開發(fā)工程師,詳細(xì)描述小P老師能力相關(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ā)人員,接入測(cè)試前需要獲取應(yīng)用ID和應(yīng)用密鑰,并創(chuàng)建應(yīng)用;如果您還沒有,請(qǐng)按照 新手指南 獲取。
- 平臺(tái)向每個(gè)賬戶贈(zèng)送50元的體驗(yàn)金,供用戶集成前測(cè)試所用。
接口調(diào)用參數(shù)
請(qǐng)求地址
baseUrl: https://openapi.youdao.com/llmserver
通用對(duì)話
baseUrl + /ai/teacher/dialogue/chat
請(qǐng)求方式: POST
Content-Type: multipart/form-data
Accept: text/event-stream
接口參數(shù)
字段名 | 含義 | 示例 | 必填 |
---|
app_key | 應(yīng)用標(biāo)識(shí)(應(yīng)用 ID) | true |
curtime | 時(shí)間戳(秒) | true |
salt | 隨機(jī)字符串,建議使用UUID | true |
sign | 簽名信息:sha256(應(yīng)用ID+curtime+salt+curtime+應(yīng)用密鑰) | true |
sign_type | 簽名類型 | v3 | true |
os_type | 系統(tǒng)類型 | api | true |
user_id | 用戶id,用來標(biāo)識(shí)用戶,最多100個(gè)字符 | true |
task_id | 任務(wù)id,用來標(biāo)識(shí)用戶一次會(huì)話session(關(guān)聯(lián)一組對(duì)話歷史),由服務(wù)生成,首輪對(duì)話為空,非首輪對(duì)話以服務(wù)端返回的上一次對(duì)話為準(zhǔn) | false |
task_name | 任務(wù)名稱,最多20個(gè)字符,首輪對(duì)話創(chuàng)建任務(wù)使用,為空時(shí)由系統(tǒng)生成 | false |
parent_chat_id | 當(dāng)前輸入的父對(duì)話id,首輪對(duì)話為空,非首輪對(duì)話以服務(wù)端返回的上一次對(duì)話為準(zhǔn) | false |
chat_info | 輸入內(nèi)容,格式為chat_item的列表(目前只支持一個(gè)chat_item),chat_item格式在后文中說明 | [{"type":"text","content":"你好!"}] | true |
template_id | prompt模版id,實(shí)現(xiàn)業(yè)務(wù)定制prompt | false |
subscribe | 訂閱事件。sse流固定返回begin、message、end、error事件。對(duì)于其他想要的事件,需要調(diào)用方主動(dòng)傳遞此參數(shù)訂閱,多個(gè)訂閱事件傳值以英文逗號(hào)分隔,默認(rèn)是空-無事件訂閱 | false |
接口參數(shù)chat_info中chat_item的格式說明:
一、包含字段
type:輸入類型枚舉【text、image、image_url】
content:輸入內(nèi)容,text文本/image圖片ocr識(shí)別的結(jié)果有 token 4096 長(zhǎng)度限制
二、type詳細(xì)說明
text:文本輸入U(xiǎn)TF-8
當(dāng) type = text 時(shí),chat_info = [{"type":"text","content":"文本輸入內(nèi)容"}]
image:圖片base64編碼:支持圖片格式:.bmp、.jpg、.png,圖片大小Base64后≤2M
當(dāng) type = image 時(shí),chat_info = [{"type":"image","content":"圖片base64編碼"}]
image_url:整張圖片的URL(需要公網(wǎng)能訪問下載)
當(dāng) type = image_url 時(shí),chat_info = [{"type":"image_url","content":"圖片的鏈接URL"}]
接口參數(shù)subscribe可訂閱事件說明:
query_suggestion :插件能力,訂閱才執(zhí)行——猜你想問
響應(yīng)結(jié)果
一個(gè)成功的返回示例:
"id": "fb981fde-0080-4933-b87b-4a29eaba8d17"
"event":"begin"
"data":{
"request_id": "fb981fde-0080-4933-b87b-4a29eaba8d17",
"task_id": "046dba1a-7f47-4f96-91f2-be4676aa1347",
"chat_id": 1705045207475
}
"id": "fb981fde-0080-4933-b87b-4a29eaba8d17"
"event":"message"
"data":{
"content": "你好,",
"type": "text"
}
"id": "fb981fde-0080-4933-b87b-4a29eaba8d17"
"event":"message"
"data":{
"content": "有什么可以",
"type": "text"
}
"id": "fb981fde-0080-4933-b87b-4a29eaba8d17"
"event":"message"
"data":{
"content": "幫助你的嗎?",
"type": "text"
}
"id": "fb981fde-0080-4933-b87b-4a29eaba8d17"
"event":"end"
"data":{
"request_id": "fb981fde-0080-4933-b87b-4a29eaba8d17",
"usage":[
{"type":"input_ocr_token","value":110},
{"type":"output_text_token","value":253},
{"type":"query","value":1}
]}
響應(yīng)結(jié)果詳解
正常結(jié)果包含的事件 1個(gè)begin、1-N個(gè) message、1個(gè)end
發(fā)生異常時(shí)包含的事件
- 對(duì)話過程中的異常:1個(gè)begin、0-N個(gè) message、1個(gè)error
- 參數(shù)異常:1個(gè)error
事件說明
- begin事件:[基礎(chǔ)事件類型——開始]
"id": "fb981fde-0080-4933-b87b-4a29eaba8d17" // 請(qǐng)求id
"event":"begin" // 事件類型
"data":{
"request_id": "fb981fde-0080-4933-b87b-4a29eaba8d17", // 請(qǐng)求id
"task_id": "046dba1a-7f47-4f96-91f2-be4676aa1347", // 任務(wù)id
"chat_id": 1705045207475 // 系統(tǒng)回復(fù)對(duì)話的id,下一輪對(duì)話的parent_chat_id
}
- message事件:[基礎(chǔ)事件類型——消息]
"id": "fb981fde-0080-4933-b87b-4a29eaba8d17" // 請(qǐng)求id
"event":"message" // 事件類型
"data":{
"content": "你好,", // 模型回答
"type": "text" // 回答類型
}
- end事件:[基礎(chǔ)事件類型——結(jié)束 ]
end 事件中的 usage 可以認(rèn)為是接口調(diào)用的賬單明細(xì),明細(xì)列表從前到后依次包含三個(gè)部分:
- 輸入明細(xì)部分:和 chat_info 參數(shù)中的條目一一對(duì)應(yīng)
(1) type為"input_text_token"的明細(xì):對(duì)應(yīng)chat_info中type為"text"的文本token數(shù)量
(2) type為"input_ocr_token"的明細(xì):對(duì)應(yīng)chat_info中type為"image"或“imageUrl”的OCR識(shí)別文本token數(shù)量
- 輸出明細(xì)部分:
type為"output_text_token"的明細(xì):目前都是文本輸出(返回事件流中message的type為"text")
- 插件使用明細(xì)部分:非必填,在訂閱插件能力并有正確的返回時(shí),返回對(duì)應(yīng)的明細(xì)
(1) type為"query_suggestion"的明細(xì):訂閱猜你想問插件并有正確返回
"id":"e9141d83-e76a-4581-bfeb-0bd6569d8339"
"event":"end" // 事件類型
"data":{
"usage": // 賬單明細(xì)
[{
"type": "input_text_token", // chat_info中type為"text"的文本token數(shù)量
"value": 80 // token數(shù)
},{
"type": "input_ocr_token", // chat_info中type為"image"或“imageUrl”的OCR識(shí)別文本token數(shù)量
"value": 110 // token數(shù)
},{
"type": "output_text_token", // 模型輸出token數(shù)量
"value": 64 // token數(shù)
},{
"type": "query", // 系統(tǒng)服務(wù),按次計(jì)費(fèi)
"value": 1 // 次數(shù)
},{
"type": "query_suggestion", // 訂閱猜你想問插件且成功,按次計(jì)費(fèi)
"value": 1 // 次數(shù)
}],
"request_id": "e9141d83-e76a-4581-bfeb-0bd6569d8339"
}
- error事件:[基礎(chǔ)事件類型——結(jié)束]
error 事件中的 usage 格式同 end 事件,對(duì)于不收費(fèi)異常返回空列表
"id":"e9141d83-e76a-4581-bfeb-0bd6569d8339" // 請(qǐng)求id
"event":"error" // 事件類型
"data":{
"code": 99,
"msg": "系統(tǒng)錯(cuò)誤",
"request_id": "e9141d83-e76a-4581-bfeb-0bd6569d8339" // 請(qǐng)求id
"usage": []
}
"id":"e9141d83-e76a-4581-bfeb-0bd6569d8339"
"event":"query_suggestion" // 事件類型
"data":{
"suggestion":["微積分主要包括哪兩大部分?","微分學(xué)的主要研究對(duì)象是什么?","積分學(xué)的核心研究?jī)?nèi)容是什么?"],
"code":0,
"msg":"SUCCESS"
}
異常結(jié)果
業(yè)務(wù)異常(通過sse的error事件返回)
- 缺少公共參數(shù)user_id:[100101-USER_LACK_USER_ID]
- 缺少業(yè)務(wù)參數(shù)task_id:[100101-USER_LACK_TASK_ID]
- 缺少業(yè)務(wù)參數(shù)parent_chat_id:[100101-USER_LACK_PARENT_CHAT_ID]
- 對(duì)話內(nèi)容為空或缺少對(duì)話內(nèi)容:[100101-USER_LACK_CHAT_CONTENT]
- 任務(wù)名稱為空串:[100102-USER_WRONG_TASK_NAME]
- 對(duì)話內(nèi)容參數(shù)格式錯(cuò)誤:[100102-USER_WRONG_CHAT_INFO]
- 圖片base64無法解析:[100102-USER_WRONG_IMAGE_PARAM]
- chat_info的type類型不在枚舉范圍:[100102-USER_WRONG_CHAT_TYPE]
- 沒有查到歷史對(duì)話:[100102-USER_WRONG_CHAT_HISTORY]
- 用戶id超過100字符:[100103-USER_USER_ID_LENGTH_OVER]
- 任務(wù)名超過20字符:[100103-USER_TASK_NAME_LENGTH_OVER]
- 圖片base64編碼超過2M:[100103-USER_IMAGE_BASE64_LENGTH_OVER]
- 輸入token超過4096:[100103-USER_INPUT_TOKEN_OVER]
- 模板id參數(shù)錯(cuò)誤取值:[100102-USER_WRONG_TEMPLATE_ID]
- 模板id參數(shù)沒有權(quán)限:[100102-USER_TEMPLATE_ID_FORBID]
- 訂閱事件參數(shù)錯(cuò)誤取值:[100102-USER_WRONG_SUBSCRIBE]
- 訂閱事件參數(shù)沒有權(quán)限:[100102-USER_SUBSCRIBE_FORBID]
- 用戶輸入高度敏感:[100111-USER_INPUT_SENSITIVE_HIGH]
- 用戶輸入中度敏感:[100112-USER_INPUT_SENSITIVE_NORMAL]
- 用戶使用太頻繁:[100117-USER_RATE_LIMIT ]
其他異常(通過sse的error事件返回)
- 模型回答內(nèi)容高度敏感:[100201-CUR_ANSWER_SENSITIVE_HIGH]
- 模型回答內(nèi)容中度敏感:[100202-CUR_ANSWER_SENSITIVE_NORMAL]
- 請(qǐng)求需要使用token超限:[100243-CUR_OVER_TOTAL_TOKEN]
- 其他錯(cuò)誤碼:[100299-CUR_SERVER_ERROR],用于排查系統(tǒng)問題,可認(rèn)為是系統(tǒng)錯(cuò)誤碼
猜你想問
通過對(duì)話歷史,或者提供的問題和回答,推薦3個(gè)問題。
baseUrl + /plugin/suggest
請(qǐng)求方式: POST
Content-Type: multipart/form-data
接口參數(shù)
字段名 | 含義 | 示例 | 必填 |
---|
app_key | 應(yīng)用標(biāo)識(shí)(應(yīng)用 ID) | true |
curtime | 時(shí)間戳(秒) | TimeStamp | true |
salt | 隨機(jī)字符串,建議使用UUID | true |
sign | 簽名信息:sha256(應(yīng)用ID+curtime+salt+curtime+應(yīng)用密鑰) | true |
sign_type | 簽名類型 | v3 | true |
os_type | 系統(tǒng)類型 | api | true |
user_id | 用戶id,用來標(biāo)識(shí)用戶,當(dāng)query/answer為空時(shí)必填 | false |
task_id | 任務(wù)id,用來標(biāo)識(shí)用戶一次會(huì)話session(關(guān)聯(lián)一組對(duì)話歷史),當(dāng)query/answer為空時(shí)必填 | false |
chat_id | chat接口返回的begin事件中的chat_id,最近一次模型回答的id,當(dāng)query/answer為空時(shí)必填 | false |
query | 需要推薦問題的原始問題 | false |
answer | 原始問題的回答 | false |
響應(yīng)結(jié)果
{
"code": "0", //錯(cuò)誤碼
"msg": "ok", //詳細(xì)信息
"requestId": "", //請(qǐng)求唯一id
"data": { //結(jié)果對(duì)象
"suggestion": [ //返回結(jié)果
"推薦問題1","推薦問題2","推薦問題3"
],
"requestId": "" //請(qǐng)求id,onetime接口時(shí)用于定位請(qǐng)求
}
}
異常結(jié)果
業(yè)務(wù)異常
- 缺少公共參數(shù)user_id:[100101-USER_LACK_USER_ID]
- 缺少業(yè)務(wù)參數(shù)task_id:[100101-USER_LACK_TASK_ID]
- 缺少業(yè)務(wù)參數(shù)chat_id:[100101-USER_LACK_CHAT_ID]
- 錯(cuò)誤業(yè)務(wù)參數(shù)task_id:[100102-USER_WRONG_TASK_ID]
- 錯(cuò)誤業(yè)務(wù)參數(shù)chat_id:[100102-USER_WRONG_CHAT_ID]
- 查詢不到歷史對(duì)話:[100102-USER_WRONG_CHAT_HISTORY]
- 沒有猜你想問的使用權(quán)限:[102601-SUGGESTION_FORBID]
其他異常
- 系統(tǒng)內(nèi)部異常:[100299-CUR_SERVER_ERROR]
常用語言 Demo
Java 示例
Xiaop Java demo
Python3 示例
Xiaop python3 demo
go示例
Xiaop go 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)停 |
405 | 鑒權(quán)失敗 |
100101 | 缺少必要參數(shù) |
100102 | 參數(shù)錯(cuò)誤 |
100103 | 參數(shù)長(zhǎng)度超過限制 |
100111 | 輸入內(nèi)容高度敏感 |
100112 | 輸入內(nèi)容中度敏感 |
100117 | 用戶使用太頻繁 |
100201 | 模型回答內(nèi)容高度敏感 |
100202 | 模型回答內(nèi)容中度敏感 |
100243 | 請(qǐng)求需要使用的token超出限制 |
100299 | 系統(tǒng)內(nèi)部異常 |
102601 | 沒有猜你想問插件的使用權(quán)限 |