百度文心一言api Python调用ERNIE-Speed-8K具体方法

2024-04-20 10:04

本文主要是介绍百度文心一言api Python调用ERNIE-Speed-8K具体方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

ERNIE Speed是百度2024年最新发布的自研高性能大语言模型,通用能力优异,适合作为基座模型进行精调,更好地处理特定场景问题,同时具备极佳的推理性能。ERNIE-Speed-8K是模型的一个版本,本文介绍了相关API。

创建chat

调用本接口,发起一次对话请求。

注意事项

  • 本文API,支持2种鉴权方式。不同鉴权方式,调用方式不同,使用Header、Query参数不同,详见本文请求说明。开发者可以选择以下任一种方式进行鉴权。

    • 访问凭证access_token鉴权
    • 基于安全认证AK/SK进行签名计算鉴权

请求说明

基本信息

请求地址: https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/ernie_speed

请求方式: POST

Header参数

根据不同鉴权方式,查看对应Header参数。

  • 访问凭证access_token鉴权
名称类型必填描述
Content-Typestring固定值application/json
  • 基于安全认证AK/SK进行签名计算鉴权
名称类型必填描述
Content-Typestring固定值application/json
x-bce-datestring当前时间,遵循ISO8601规范,格式如2016-04-06T08:23:49Z
Authorizationstring用于验证请求合法性的认证信息,更多内容请参考鉴权认证机制,签名工具可参考IAM签名工具

Query参数

只有访问凭证access_token鉴权方式,需使用Query参数。

  • 访问凭证access_token鉴权
名称类型必填描述
access_tokenstring通过API Key和Secret Key获取的access_token,参考Access Token获取

Body参数

名称类型必填描述
messagesList(message)聊天上下文信息。说明:
(1)messages成员不能为空,1个成员表示单轮对话,多个成员表示多轮对话
(2)最后一个message为当前请求的信息,前面的message为历史对话信息
(3)必须为奇数个成员,成员中message的role必须依次为user、assistant
(4)message中的content总长度和system字段总内容不能超过24000个字符,且不能超过6144 tokens
streambool是否以流式接口的形式返回数据,默认false
temperaturefloat说明:
(1)较高的数值会使输出更加随机,而较低的数值会使其更加集中和确定
(2)默认0.95,范围 (0, 1.0],不能为0
top_pfloat说明:
(1)影响输出文本的多样性,取值越大,生成文本的多样性越强
(2)默认0.7,取值范围 [0, 1.0]
penalty_scorefloat通过对已生成的token增加惩罚,减少重复生成的现象。说明:
(1)值越大表示惩罚越大
(2)默认1.0,取值范围:[1.0, 2.0]
systemstring模型人设,主要用于人设设定,例如:你是xxx公司制作的AI助手,说明:长度限制,message中的content总长度和system字段总内容不能超过24000个字符,且不能超过6144 tokens
stopList(string)生成停止标识,当模型生成结果以stop中某个元素结尾时,停止文本生成。说明:
(1)每个元素长度不超过20字符
(2)最多4个元素
max_output_tokensint指定模型最大输出token数,说明:
(1)如果设置此参数,范围[2, 2048]
(2)如果不设置此参数,最大输出token数为2048
user_idstring表示最终用户的唯一标识符

message说明

名称类型描述
rolestring当前支持以下:
user: 表示用户
assistant: 表示对话助手
contentstring对话内容,不能为空

响应说明

响应头Header参数

部分参数如下。

名称描述
X-Ratelimit-Limit-Requests一分钟内允许的最大请求次数
X-Ratelimit-Limit-Tokens一分钟内允许的最大tokens消耗,包含输入tokens和输出tokens
X-Ratelimit-Remaining-Requests达到RPM速率限制前,剩余可发送的请求数配额,如果配额用完,将会在0-60s后刷新
X-Ratelimit-Remaining-Tokens达到TPM速率限制前,剩余可消耗的tokens数配额,如果配额用完,将会在0-60s后刷新

响应体参数

名称类型描述
idstring本轮对话的id
objectstring回包类型
chat.completion:多轮对话返回
createdint时间戳
sentence_idint表示当前子句的序号。只有在流式接口模式下会返回该字段
is_endbool表示当前子句是否是最后一句。只有在流式接口模式下会返回该字段
is_truncatedbool当前生成的结果是否被截断
resultstring对话返回结果
need_clear_historybool表示用户输入是否存在安全风险,是否关闭当前会话,清理历史会话信息。
true:是,表示用户输入存在安全风险,建议关闭当前会话,清理历史会话信息。
false:否,表示用户输入无安全风险
ban_roundint当need_clear_history为true时,此字段会告知第几轮对话有敏感信息,如果是当前问题,ban_round=-1
usageusagetoken统计信息

usage说明

名称类型描述
prompt_tokensint问题tokens数
completion_tokensint回答tokens数
total_tokensinttokens总数

注意 :同步模式和流式模式,响应参数返回不同,详细内容参考示例描述。

  • 同步模式下,响应参数为以上字段的完整json包。
  • 流式模式下,各字段的响应参数为 data: {响应参数}。

示例

以访问凭证access_token鉴权方式为例,说明如何调用API,示例如下。

请求示例(单轮) 

import requests
import jsondef get_access_token():"""使用 API Key,Secret Key 获取access_token,替换下列示例中的应用API Key、应用Secret Key"""url = "https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=[应用API Key]&client_secret=[应用Secret Key]"payload = json.dumps("")headers = {'Content-Type': 'application/json','Accept': 'application/json'}response = requests.request("POST", url, headers=headers, data=payload)return response.json().get("access_token")def main():url = "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/ernie_speed?access_token=" + get_access_token()payload = json.dumps({"messages": [{"role": "user","content": "介绍一下北京"}]})headers = {'Content-Type': 'application/json'}response = requests.request("POST", url, headers=headers, data=payload)print(response.text)if __name__ == '__main__':main()

响应示例(单轮)

HTTP/1.1 200 OK
Date: Wed, 28 Feb 2024 02:40:25 GMT
Content-Type: application/json;charset=utf-8
Statement: AI-generated
X-Ratelimit-Limit-Requests: 300
X-Ratelimit-Limit-Tokens: 300000 
X-Ratelimit-Remaining-Requests: 299 
X-Ratelimit-Remaining-Tokens: 299998{"id": "as-fkiyg0zixm","object": "chat.completion","created": 1709088025,"result": "北京,作为中国的首都和直辖市,是中国政治、文化、科技和国际交往的中心。以下是关于北京的详细介绍:\n\n1. 地理位置:北京位于华北平原的西北部,背靠燕山,毗邻天津市和河北省。\n2. 历史背景:北京有着丰富的历史文化遗产。自元朝开始,这里就是中国的政治中心。明清两代,北京更是成为全国的政治和文化中心。著名的故宫、天坛、长城等历史遗迹见证了北京的辉煌历史。\n3. 文化特色:北京汇聚了中国的传统文化和现代文明。京剧、相声、舞龙舞狮等传统文化活动在这里得以传承和发展。同时,现代艺术、时尚和设计也在北京崭露头角。\n4. 教育资源:北京拥有众多知名高校,如北京大学、清华大学等,为培养人才提供了优质的教育资源。\n5. 科技产业:北京的科技产业发达,尤其是电子信息、生物医药等领域,吸引了众多国内外企业入驻。\n6. 经济发展:作为中国的经济中心之一,北京不仅有着现代服务业的蓬勃发展,还在金融、贸易、旅游等方面取得了显著成就。\n7. 旅游景点:北京拥有丰富的旅游资源,如故宫、天安门广场、长城、颐和园等著名景点,每年都吸引着大量国内外游客。\n8. 美食文化:北京的美食文化独具特色,如北京烤鸭、炸酱面、豆汁等,让游客流连忘返。\n\n总之,北京是一座充满历史底蕴、文化气息和现代文明的城市,也是中国走向世界的重要窗口。","is_truncated": false,"need_clear_history": false,"usage": {"prompt_tokens": 2,"completion_tokens": 335,"total_tokens": 337}
}

请求示例(多轮) 

import requests
import jsondef get_access_token():"""使用 API Key,Secret Key 获取access_token,替换下列示例中的应用API Key、应用Secret Key"""url = "https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=[应用API Key]&client_secret=[应用Secret Key]"payload = json.dumps("")headers = {'Content-Type': 'application/json','Accept': 'application/json'}response = requests.request("POST", url, headers=headers, data=payload)return response.json().get("access_token")def main():url = "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/ernie_speed?access_token=" + get_access_token()payload = json.dumps({"messages": [{"role": "user","content": "介绍一下北京"},{"role": "assistant","content": "北京,作为中国的首都和直辖市,是中国政治、文化、科技和国际交往的中心。以下是关于北京的详细介绍:\n\n1. 地理位置:北京位于华北平原的西北部,背靠燕山,毗邻天津市和河北省。\n2. 历史背景:北京有着丰富的历史文化遗产。自元朝开始,这里就是中国的政治中心。明清两代,北京更是成为全国的政治和文化中心。著名的故宫、天坛、长城等历史遗迹见证了北京的辉煌历史。\n3. 文化特色:北京汇聚了中国的传统文化和现代文明。京剧、相声、舞龙舞狮等传统文化活动在这里得以传承和发展。同时,现代艺术、时尚和设计也在北京崭露头角。\n4. 教育资源:北京拥有众多知名高校,如北京大学、清华大学等,为培养人才提供了优质的教育资源。\n5. 科技产业:北京的科技产业发达,尤其是电子信息、生物医药等领域,吸引了众多国内外企业入驻。\n6. 经济发展:作为中国的经济中心之一,北京不仅有着现代服务业的蓬勃发展,还在金融、贸易、旅游等方面取得了显著成就。\n7. 旅游景点:北京拥有丰富的旅游资源,如故宫、天安门广场、长城、颐和园等著名景点,每年都吸引着大量国内外游客。\n8. 美食文化:北京的美食文化独具特色,如北京烤鸭、炸酱面、豆汁等,让游客流连忘返。\n\n总之,北京是一座充满历史底蕴、文化气息和现代文明的城市,也是中国走向世界的重要窗口。"},{"role": "user","content": "北京有哪些著名景点"}]})headers = {'Content-Type': 'application/json'}response = requests.request("POST", url, headers=headers, data=payload)print(response.text)if __name__ == '__main__':main()

响应示例(多轮)

HTTP/1.1 200 OK
Date: Wed, 28 Feb 2024 02:42:53 GMT
Content-Type: application/json;charset=utf-8
Statement: AI-generated
X-Ratelimit-Limit-Requests: 300
X-Ratelimit-Limit-Tokens: 300000
X-Ratelimit-Remaining-Requests: 299
X-Ratelimit-Remaining-Tokens: 299659{"id": "as-tsfapg1k0z","object": "chat.completion","created": 1709088173,"result": "北京有许多著名景点,其中包括天安门广场、故宫、长城、颐和园、天坛公园、圆明园、北海公园、北京欢乐谷等。天安门广场是北京的地标性景点之一,是世界上最大的城市广场之一;故宫是中国古代皇宫建筑的代表之一,也是世界文化遗产;长城是中国古代的军事防御工程,被誉为世界八大奇迹之一;颐和园是一座大型皇家园林,具有极高的艺术价值;天坛公园是古代皇家祭天和祈年的地方,也是中国现存最大的圜丘祈年建筑群;圆明园是清朝皇家的花园,融合了中西园林艺术的精华;北海公园是一座具有独特北方风格的皇家园林;北京欢乐谷是一个大型主题公园,集游乐、演艺、科普、文化等多种元素于一体。此外,北京还有许多其他著名景点,如慕田峪长城、八达岭长城等。","is_truncated": false,"need_clear_history": false,"usage": {"prompt_tokens": 341,"completion_tokens": 189,"total_tokens": 530}
}

请求示例(流式)​​​​​​​ 

import requests
import jsondef get_access_token():"""使用 API Key,Secret Key 获取access_token,替换下列示例中的应用API Key、应用Secret Key"""url = "https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=[应用API Key]&client_secret=[应用Secret Key]"payload = json.dumps("")headers = {'Content-Type': 'application/json','Accept': 'application/json'}response = requests.request("POST", url, headers=headers, data=payload)return response.json().get("access_token")def main():url = "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/ernie_speed?access_token=" + get_access_token()payload = json.dumps({"messages": [{"role": "user","content": "给我推荐一些自驾游路线"}],"stream": True})headers = {'Content-Type': 'application/json'}response = requests.request("POST", url, headers=headers, data=payload, stream=True)for line in response.iter_lines():print(line.decode("UTF-8"))if __name__ == '__main__':main()

响应示例(流式)

HTTP/1.1 200 OK
Date: Mon, 12 Apr 2021 06:27:55 GMT
Content-Type: text/event-stream;charset=utf-8
Cache-Control: no-cache
Statement: AI-generated
X-Ratelimit-Limit-Requests: 300
X-Ratelimit-Limit-Tokens: 300000
X-Ratelimit-Remaining-Requests: 299
X-Ratelimit-Remaining-Tokens: 299994data: {"id":"as-34jurid5xf","object":"chat.completion","created":1709088340,"sentence_id":0,"is_end":false,"is_truncated":false,"result":"以下为您","need_clear_history":false,"usage":{"prompt_tokens":6,"completion_tokens":0,"total_tokens":6}}data: {"id":"as-34jurid5xf","object":"chat.completion","created":1709088341,"sentence_id":1,"is_end":false,"is_truncated":false,"result":"推荐几条经典的自驾游路线:\n\n1. 海南环岛自驾游:从海口出发,沿着海南岛的海岸线前行,途经三亚、","need_clear_history":false,"usage":{"prompt_tokens":6,"completion_tokens":0,"total_tokens":6}}data: {"id":"as-34jurid5xf","object":"chat.completion","created":1709088341,"sentence_id":2,"is_end":false,"is_truncated":false,"result":"陵水、万宁等城市,欣赏海南的热带风情和美丽的海景。","need_clear_history":false,"usage":{"prompt_tokens":6,"completion_tokens":0,"total_tokens":6}}data: {"id":"as-34jurid5xf","object":"chat.completion","created":1709088342,"sentence_id":3,"is_end":false,"is_truncated":false,"result":"\n2. 西藏自驾游:从拉萨出发,沿途可以欣赏到壮丽的雪山、草原、湖泊等自然景观,体验浓郁的藏族文化。","need_clear_history":false,"usage":{"prompt_tokens":6,"completion_tokens":0,"total_tokens":6}}data: {"id":"as-34jurid5xf","object":"chat.completion","created":1709088342,"sentence_id":4,"is_end":false,"is_truncated":false,"result":"\n3. 丽江-香格里拉自驾游:从丽江古城出发,前往香格里拉,沿途可以游览泸沽湖、虎跳峡等景点,感受云南的","need_clear_history":false,"usage":{"prompt_tokens":6,"completion_tokens":0,"total_tokens":6}}data: {"id":"as-34jurid5xf","object":"chat.completion","created":1709088342,"sentence_id":5,"is_end":false,"is_truncated":false,"result":"多元文化和自然风光。","need_clear_history":false,"usage":{"prompt_tokens":6,"completion_tokens":0,"total_tokens":6}}data: {"id":"as-34jurid5xf","object":"chat.completion","created":1709088343,"sentence_id":6,"is_end":false,"is_truncated":false,"result":"\n4. 桂林-阳朔自驾游:桂林的漓江风光是必游之地,此外还可以前往阳朔的西街、十里画廊等景点,品尝","need_clear_history":false,"usage":{"prompt_tokens":6,"completion_tokens":0,"total_tokens":6}}data: {"id":"as-34jurid5xf","object":"chat.completion","created":1709088343,"sentence_id":7,"is_end":false,"is_truncated":false,"result":"当地美食,感受桂林山水甲天下的魅力。","need_clear_history":false,"usage":{"prompt_tokens":6,"completion_tokens":0,"total_tokens":6}}data: {"id":"as-34jurid5xf","object":"chat.completion","created":1709088344,"sentence_id":8,"is_end":false,"is_truncated":false,"result":"\n5. 大理-洱海自驾游:在大理游览古城、洱海等景点后,可以前往周边的苍山、剑川等地,体验白族","need_clear_history":false,"usage":{"prompt_tokens":6,"completion_tokens":0,"total_tokens":6}}data: {"id":"as-34jurid5xf","object":"chat.completion","created":1709088344,"sentence_id":9,"is_end":false,"is_truncated":false,"result":"文化和自然风光。","need_clear_history":false,"usage":{"prompt_tokens":6,"completion_tokens":0,"total_tokens":6}}data: {"id":"as-34jurid5xf","object":"chat.completion","created":1709088344,"sentence_id":10,"is_end":false,"is_truncated":false,"result":"\n6. 乌鲁木齐-天山自驾游:新疆的天山风光壮美,可以沿途游览天山天池、喀纳斯湖等景点,感受大自然的神奇魅力","need_clear_history":false,"usage":{"prompt_tokens":6,"completion_tokens":0,"total_tokens":6}}data: {"id":"as-34jurid5xf","object":"chat.completion","created":1709088344,"sentence_id":11,"is_end":false,"is_truncated":false,"result":"。","need_clear_history":false,"usage":{"prompt_tokens":6,"completion_tokens":263,"total_tokens":269}}data: {"id":"as-34jurid5xf","object":"chat.completion","created":1709088345,"sentence_id":12,"is_end":false,"is_truncated":false,"result":"\n7. 北京周边自驾游:北京周边有许多美丽的景点,比如坝上草原、承德避暑山庄、北戴河等,适合周末短途自驾游。","need_clear_history":false,"usage":{"prompt_tokens":6,"completion_tokens":263,"total_tokens":269}}data: {"id":"as-34jurid5xf","object":"chat.completion","created":1709088345,"sentence_id":13,"is_end":false,"is_truncated":false,"result":"\n8. 丝绸之路自驾游:从西安出发,沿着丝绸之路一路向西,可以游览许多历史文化遗址和自然景观。","need_clear_history":false,"usage":{"prompt_tokens":6,"completion_tokens":263,"total_tokens":269}}data: {"id":"as-34jurid5xf","object":"chat.completion","created":1709088345,"sentence_id":14,"is_end":false,"is_truncated":false,"result":"\n\n您可以根据自己的兴趣和时间来选择合适的路线,同时注意安全驾驶,享受旅行的乐趣。","need_clear_history":false,"usage":{"prompt_tokens":6,"completion_tokens":263,"total_tokens":269}}data: {"id":"as-34jurid5xf","object":"chat.completion","created":1709088346,"sentence_id":15,"is_end":true,"is_truncated":false,"result":"","need_clear_history":false,"usage":{"prompt_tokens":6,"completion_tokens":351,"total_tokens":357}}

错误码

如果请求错误,服务器返回的JSON文本包含以下参数。❤ TXB2196

名称描述
error_code错误码
error_msg错误描述信息,帮助理解和解决发生的错误

例如Access Token失效返回以下内容,需要重新获取新的Access Token再次请求。

{"error_code": 110,"error_msg": "Access token invalid or no longer valid"
}

定制Python脚本请私信

这篇关于百度文心一言api Python调用ERNIE-Speed-8K具体方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/919958

相关文章

百度/小米/滴滴/京东,中台架构比较

小米中台建设实践 01 小米的三大中台建设:业务+数据+技术 业务中台--从业务说起 在中台建设中,需要规范化的服务接口、一致整合化的数据、容器化的技术组件以及弹性的基础设施。并结合业务情况,判定是否真的需要中台。 小米参考了业界优秀的案例包括移动中台、数据中台、业务中台、技术中台等,再结合其业务发展历程及业务现状,整理了中台架构的核心方法论,一是企业如何共享服务,二是如何为业务提供便利。

python: 多模块(.py)中全局变量的导入

文章目录 global关键字可变类型和不可变类型数据的内存地址单模块(单个py文件)的全局变量示例总结 多模块(多个py文件)的全局变量from x import x导入全局变量示例 import x导入全局变量示例 总结 global关键字 global 的作用范围是模块(.py)级别: 当你在一个模块(文件)中使用 global 声明变量时,这个变量只在该模块的全局命名空

如何在页面调用utility bar并传递参数至lwc组件

1.在app的utility item中添加lwc组件: 2.调用utility bar api的方式有两种: 方法一,通过lwc调用: import {LightningElement,api ,wire } from 'lwc';import { publish, MessageContext } from 'lightning/messageService';import Ca

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

透彻!驯服大型语言模型(LLMs)的五种方法,及具体方法选择思路

引言 随着时间的发展,大型语言模型不再停留在演示阶段而是逐步面向生产系统的应用,随着人们期望的不断增加,目标也发生了巨大的变化。在短短的几个月的时间里,人们对大模型的认识已经从对其zero-shot能力感到惊讶,转变为考虑改进模型质量、提高模型可用性。 「大语言模型(LLMs)其实就是利用高容量的模型架构(例如Transformer)对海量的、多种多样的数据分布进行建模得到,它包含了大量的先验

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

nudepy,一个有趣的 Python 库!

更多资料获取 📚 个人网站:ipengtao.com 大家好,今天为大家分享一个有趣的 Python 库 - nudepy。 Github地址:https://github.com/hhatto/nude.py 在图像处理和计算机视觉应用中,检测图像中的不适当内容(例如裸露图像)是一个重要的任务。nudepy 是一个基于 Python 的库,专门用于检测图像中的不适当内容。该

pip-tools:打造可重复、可控的 Python 开发环境,解决依赖关系,让代码更稳定

在 Python 开发中,管理依赖关系是一项繁琐且容易出错的任务。手动更新依赖版本、处理冲突、确保一致性等等,都可能让开发者感到头疼。而 pip-tools 为开发者提供了一套稳定可靠的解决方案。 什么是 pip-tools? pip-tools 是一组命令行工具,旨在简化 Python 依赖关系的管理,确保项目环境的稳定性和可重复性。它主要包含两个核心工具:pip-compile 和 pip

HTML提交表单给python

python 代码 from flask import Flask, request, render_template, redirect, url_forapp = Flask(__name__)@app.route('/')def form():# 渲染表单页面return render_template('./index.html')@app.route('/submit_form',