百度智能云文心大模型API - ERNIE 3.0系列使用说明
文档简介:
ERNIE 3.0 API接口调用从同步预测升级为异步预测,支持未返回结果前可同时提交多个任务请求。
升级至API接口调用异步预测服务时,需在请求参数中新增参数:async,查看参数描述。
重新安装 wenxin-api 工具包即可自动升级为调用异步预测服务。
【百度智能云】文心一言
#服务升级#
- ERNIE 3.0 API接口调用从同步预测升级为异步预测,支持未返回结果前可同时提交多个任务请求
- 升级至API接口调用异步预测服务时,需在请求参数中新增参数:async,查看参数描述
- 重新安装 wenxin-api 工具包即可自动升级为调用异步预测服务
-
API接口调用同步预测服务已于【1月31号晚上20:00】下线,届时线上API接口调用全部为异步预测服务。
接口说明
温馨提示:
如您有API付费调用需求,可以填写合作咨询与我们联系,感谢您的支持。
获取API Key
您可以登录文心大模型API服务平台个人中心获取您的专属API Key(AK)和Secret Key(SK),或者查看您的AK/SK。请注意保护您的密钥信息,避免泄露。您可以通过删除已泄露的密钥来保护您的账户安全。
提交需求
- 自2022年12月28日起,您重新安装wenxin-api工具包后,即自动升级为调用异步预测服务。
在本地Python环境调用接口
步骤一:安装wenxin-api工具包
pip install --upgrade wenxin-api
步骤二:在python环境中使用
- 注意:建议Python版本为Python3.7及以上版本。
# -*- coding: utf-8 -* import wenxin_api # 可以通过"pip install wenxin-api"
命令安装 from wenxin_api.tasks.free_qa import FreeQA wenxin_api.ak = "your ak" #输入您的API Key wenxin_api.sk = "your sk" #输入您的Secret
Key input_dict = { "text": "问题:交朋友的原则是什么?\n回答:", "seq_len": 512,
"topp": 0.5, "penalty_score": 1.2, "min_dec_len": 2, "min_dec_penalty_text": "。
?:![<S>]", "is_unidirectional": 0, "task_prompt": "qa", "mask_type": "paragraph"
} rst = FreeQA.create(**input_dict) print(rst)
其他语言调用接口
shell语言代码示例
步骤一:获取access_token
-
向授权服务地址 https://wenxin.baidu.com/moduleApi/portal/api/oauth/token 发送请求(使用POST),并在URL中带上以下参数:
- grant_type: 必须参数,固定为client_credentials;
- client_id: 必须参数,应用的API Key(AK) 从链接专区申请;
- client_secret: 必须参数,应用的Secret Key(SK) 从链接专区申请;
- Content-Type:application/x-www-form-urlencoded
- 需要将{your_ak}、{your_sk}替换成您的AK、SK(注意:连同花括号也一起替换)
- token有效期为24小时
curl -XPOST "https://wenxin.baidu.com/moduleApi/portal/api/oauth/token?grant_type=client
_credentials&client_id={your_ak}&client_secret={your_sk}" -H "Content-Type:application/x-www-form-urlencoded"
-
返回结果
得到accessToken(参数data的值即为accessToken)
# 输出的data值就是accessToken { "code":0, "msg":"success", "data":"24.821bce8e36a14712
7bbb820359f16994.86400000.1660985554034.beaabb134e7a26eabb9e2f1e17678d29-100063" }
步骤二:异步预测
- 每个技能对应一个请求地址,请求地址如下方“获取结果-请求地址”表格
- 需要将{accessToken}替换成上一步得到的data值(注意:连同花括号也一起替换)
curl -i -k "https://wenxin.baidu.com/moduleApi/portal/api/rest/1.0/ernie/3.0.25/zeus?
access_token={accessToken}" --data-urlencode "text=问题:交朋友的原则是什么?\n回答:
" -d "async=1&typeId=1&seq_len=512&min_dec_len=2&topp=0.8&task_prompt=qa&penalty
_score=1.2&is_unidirectional=0&min_dec_penalty_text=。?:![<S>]&mask_type=word"
- 返回结果(返回的参数code:错误码、msg:错误信息、data:结果对象)
{ "code":0, "msg":"success", "data":{ "taskId": 1229202, "requestId":
"7fad28872989e274914ee1687b8f2a13" } }
步骤三:获取结果
- 需要将{accessToken}替换成上一步得到的data值(注意:连同花括号也一起替换)
- 将第二步(异步预测)的返回结果中的taskId 作为参数传入
curl -i -k "https://wenxin.baidu.com/moduleApi/portal/api/rest/1.0/ernie/v1/getR
esult?access_token={accessToken}" --data-urlencode "taskId=${task_id}"
- 返回结果(返回的参数code:错误码、msg:错误信息、data:结果对象)
{ "code": 0, "msg": "success", "data": { "result": "因为我们有个好心情", "createTime":
"2022-12-16 16:02:10", "requestId": "71a6efb46acbd64394374f44579a01eb", "text":
"天为什么这么蓝", "taskId": 1000000, "status": 1 # 0表示生成中,1表示生成成功 } }
接口说明
获取accessToken请求参数
参数 | 值 |
---|---|
Content-Type | application/x-www-form-urlencoded |
参数名 | 类型 | 是否必传 | 描述 |
---|---|---|---|
access_token | string | 是 | 用户token |
技能参数 | 是 | 具体参数的设置请参考参数描述汇总 |
获取结果
用上一步得到的access_token和技能参数获取结果
内容 | 说明 |
---|---|
传输方式 | https (为提高安全性,强烈推荐https) |
请求地址 |
每个技能对应一个请求地址,请您按场景选择对应的请求地址 同义改写: https://wenxin.baidu.com/moduleApi/portal/api/rest/1.0/ernie/3.0.20/zeus 写作文: https://wenxin.baidu.com/moduleApi/portal/api/rest/1.0/ernie/3.0.21/zeus 写文案: https://wenxin.baidu.com/moduleApi/portal/api/rest/1.0/ernie/3.0.22/zeus 写摘要: https://wenxin.baidu.com/moduleApi/portal/api/rest/1.0/ernie/3.0.23/zeus 对对联: https://wenxin.baidu.com/moduleApi/portal/api/rest/1.0/ernie/3.0.24/zeus 自由问答: https://wenxin.baidu.com/moduleApi/portal/api/rest/1.0/ernie/3.0.25/zeus 写小说 https://wenxin.baidu.com/moduleApi/portal/api/rest/1.0/ernie/3.0.26/zeus 补全文本: https://wenxin.baidu.com/moduleApi/portal/api/rest/1.0/ernie/3.0.27/zeus 自定义: https://wenxin.baidu.com/moduleApi/portal/api/rest/1.0/ernie/3.0.28/zeus 问答对抽取:https://wenxin.baidu.com/moduleApi/portal/api/rest/1.0/ernie/3.0.30/zeus |
字符编码 | UTF-8 |
响应格式 | 统一采用JSON格式 |
开发语言 | 任意,只要可以向服务发起HTTP请求的均可 |
适用范围 | 任意操作系统,但因不支持跨域不适用于浏览器,请在后端调用接口 |
请求行 | POST |
请求QPS限制 | 2 |
平均响应时间 | 生成512需要16.3s,生成256需要8.1s,生成128需要4.1s |
返回参数
参数名 | 类型 | 描述 |
---|---|---|
code | int | 错误码 |
msg | string | 错误信息 |
data | object | 结果对象 |
code返回的错误码解释
错误码 | 错误描述 |
---|---|
0 | 正常返回 |
6101 | 请求参数格式错误,不是标准的JSON格式 |
6102 | API服务内部错误,缺少模型源 |
6103 | API服务内部错误,请求中指定的model错误 |
6104 | API服务内部错误,模型获取失败 |
6105 | API服务内部错误,模型删除失败 |
6106 | 请求参数错误,请检查必传参数是否齐全,参数类型等 |
6107 | prompt模式下的报错,embedding 没有提前部署 |
6108 | prompt模式下的报错,embedding shape错误 |
6109 | 总控服务command传参错误 |
6110 | API服务内部错误 |
6111 | 请求超时 |
6112 | 输入的text文本长度超长 |
6113 | 输入的数据格式错误 |
申请发布
由于大模型API处于前沿探索阶段,为了保证对大模型的使用安全可靠,您需要仔细阅读我们的《服务协议》,并遵循相关的各项法律法规。如果您需要将API应用到您的产品中,请务必通过邮件进行申请:wenxin-all@baidu.com。