ERNIE-Speed-128K的相关API介绍和使用说明
2024-06-07
百度发布的ERNIE-Speed-128K模型API提供了高性能的语言处理能力,支持多种参数配置和鉴权方式,适用于多轮对话和流式接口,具有强大的文本生成和处理功能。
百度最新发布的高性能大语言模型ERNIE-Speed-128K的相关API介绍和使用说明。ERNIE Speed具有优异的通用能力,适合作为基座模型进行精调,特别适合处理特定场景问题,同时具备极佳的推理性能。ERNIE-Speed-128K是其中的一个版本。
API使用说明
请求地址
https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/ernie-speed-128k
请求方式
POST
鉴权方式
API支持两种鉴权方式:
- 访问凭证access_token鉴权
- 基于安全认证AK/SK进行签名计算鉴权
Header参数
Content-Type
:application/json
根据不同鉴权方式,还需要以下参数:
x-bce-date
: 当前时间,遵循ISO8601规范(可选,基于AK/SK鉴权方式)Authorization
: 用于验证请求合法性的认证信息(基于AK/SK鉴权方式)
Query参数
只有在使用access_token鉴权时需要:
access_token
: 通过API Key和Secret Key获取的access_token
Body参数
messages
: 聊天上下文信息,必须为奇数个成员,成员的role
依次为user
、assistant
stream
: 是否以流式接口的形式返回数据,默认false
(可选)temperature
: 输出的随机性,默认0.95
,范围(0, 1.0](可选)top_p
: 输出文本的多样性,默认0.7
,范围[0, 1.0](可选)penalty_score
: 通过对已生成的token增加惩罚,减少重复生成,默认1.0
,范围[1.0, 2.0](可选)system
: 模型人设,用于设定模型角色(可选)stop
: 生成停止标识,最多4个元素,每个元素长度不超过20字符(可选)max_output_tokens
: 指定模型最大输出token数,范围[2, 4096],默认4096(可选)frequency_penalty
: 通过对现有频率进行惩罚,减少重复生成,默认0.1
,范围[-2.0, 2.0](可选)presence_penalty
: 通过惩罚已出现的token,增加新主题的可能性,默认0.0
,范围[-2.0, 2.0](可选)user_id
: 最终用户的唯一标识符(可选)
响应说明
响应头参数
X-Ratelimit-Limit-Requests
: 一分钟内允许的最大请求次数X-Ratelimit-Limit-Tokens
: 一分钟内允许的最大tokens消耗X-Ratelimit-Remaining-Requests
: 剩余可发送的请求数配额X-Ratelimit-Remaining-Tokens
: 剩余可消耗的tokens数配额
响应体参数
id
: 本轮对话的idobject
: 回包类型(如chat.completion
)created
: 时间戳sentence_id
: 当前子句的序号(流式接口模式下返回)is_end
: 当前子句是否是最后一句(流式接口模式下返回)is_truncated
: 当前生成的结果是否被截断result
: 对话返回结果need_clear_history
: 用户输入是否存在安全风险,是否关闭当前会话,清理历史会话信息ban_round
: 包含敏感信息的对话轮数usage
: token统计信息,包括prompt_tokens
、completion_tokens
、total_tokens
请求示例
获取access_token
curl 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=[API Key]&client_secret=[Secret Key]'
发起单轮对话请求
curl -XPOST 'https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/ernie-speed-128k?access_token=[access_token]' -d '{ "messages": [ {"role":"user","content":"介绍一下北京"} ] }' | iconv -f utf-8 -t utf-8
发起多轮对话请求
curl -XPOST 'https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/ernie-speed-128k?access_token=[access_token]' -d '{ "messages": [ {"role":"user","content":"介绍一下北京"}, {"role":"assistant","content":"北京,作为中国的首都和直辖市,是中国政治、文化、科技和国际交往的中心..."}, {"role":"user","content": "北京有哪些著名景点"} ] }' | iconv -f utf-8 -t utf-8
使用流式接口
curl -XPOST 'https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/ernie-speed-128k?access_token=[access_token]' -d '{ "messages": [ {"role":"user", "content": "给我推荐一些自驾游路线"} ], "stream": true }'
上述API请求示例中,需要替换相应的access_token
、API Key和Secret Key,以及请求地址。
Body参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
messages | List(message) | 是 | 聊天上下文信息。说明: (1)messages成员不能为空,1个成员表示单轮对话,多个成员表示多轮对话 (2)最后一个message为当前请求的信息,前面的message为历史对话信息 (3)必须为奇数个成员,成员中message的role必须依次为user、assistant (4)message中的content总长度和system字段总内容不能超过516096个字符,且不能超过126976 tokens |
stream | bool | 否 | 是否以流式接口的形式返回数据,默认false |
temperature | float | 否 | 说明: (1)较高的数值会使输出更加随机,而较低的数值会使其更加集中和确定 (2)默认0.95,范围 (0, 1.0],不能为0 |
top_p | float | 否 | 说明: (1)影响输出文本的多样性,取值越大,生成文本的多样性越强 (2)默认0.7,取值范围 [0, 1.0] |
penalty_score | float | 否 | 通过对已生成的token增加惩罚,减少重复生成的现象。说明: (1)值越大表示惩罚越大 (2)默认1.0,取值范围:[1.0, 2.0] |
system | string | 否 | 模型人设,主要用于人设设定,例如:你是xxx公司制作的AI助手,说明:长度限制,message中的content总长度和system字段总内容不能超过516096个字符,且不能超过126976 tokens |
stop | List(string) | 否 | 生成停止标识,当模型生成结果以stop中某个元素结尾时,停止文本生成。说明: (1)每个元素长度不超过20字符 (2)最多4个元素 |
max_output_tokens | int | 否 | 指定模型最大输出token数,说明: (1)如果设置此参数,范围[2, 4096] (2)如果不设置此参数,最大输出token数为4096 |
frequency_penalty | float | 否 | 正值根据迄今为止文本中的现有频率对新token进行惩罚,从而降低模型逐字重复同一行的可能性;说明:默认0.1,取值范围[-2.0, 2.0] |
presence_penalty | float | 否 | 正值根据token记目前是否出现在文本中来对其进行惩罚,从而增加模型谈论新主题的可能性;说明:默认0.0,取值范围[-2.0, 2.0] |
user_id | string | 否 | 表示最终用户的唯一标识符 |