调用大模型API-文心一言

一、准备工作

进入百度智能云千帆大模型平台,点击应用接入-创建应用;按提默认完成创建

二、开始使用

单轮调用

进入API列表 - ModelBuilder以第一个ERNIE-4.0-8K为例,选择“HTTP请求调用”,把第一步创建应用的 应用API Key、应用Secret Key替换到代码中,即可进行单轮对话。


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/completions_pro?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()

多轮调用

每次请求调用5轮之前的会话,并且把response保存在会话记录参与到下一轮的调用。

import timeimport pandas as pd
import json
import requestsAPI_KEY="API_KEY"
SECRET_KEY="SECRET_KEY"menu=['query1','query2','query3','query4']#上下文初始化
context=[]context_prefix="文本的内容是:"
context_suffix="。文本中内容区分开便于后期做embedding"
#initial_question="你好,能帮我描述系统菜单吗?"all_responses=[]def get_access_token():
"""
使用AK,SK生成鉴权签名(AccessToken)
:return:access_token,或是None(如果错误)
"""url="https://aip.baidubce.com/oauth/2.0/token"params={"grant_type":"client_credentials","client_id":API_KEY,"client_secret":SECRET_KEY}returnstr(requests.post(url,params=params).json().get("access_token"))#Functiontoaddanewmessagetothecontextandmaintainthelatest5rounds
def update_context(new_assistant_response):#添加用户的新提问#context.append({"role":"user","content":new_user_input})#添加模型的新回答context.append({"role":"assistant","content":new_assistant_response})#保持上下文的最新五轮对话(即10条消息)
if len(context)>9:context.pop(0)context.pop(0)def get_desc_by_api(context):url="https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/completions_pro?   access_token="+get_access_token()payload=json.dumps({"messages":context
})headers={'Content-Type':'application/json'
}response=requests.request("POST",url,headers=headers,data=payload)returnresponsedefinitialize_context():context.extend([
{
"role":"user",
"content":"query1"
},{
"role":"assistant",
"content":"response1"
},{
"role":"user",
"content":"query2"
},{
"role":"assistant",
"content":"response2"
}
])
#context=context[0]initialize_context()
print("context",context)
#模拟多轮对话
for i in range(len(menu)):current_menu_item=menu[i]#生成用户提问new_user_input=context_prefix+current_menu_item+context_suffixcontext.append({"role":"user","content":new_user_input})#发送请求api_response=get_desc_by_api(context)print("status_code:",api_response.text)ifapi_response.status_code==200:new_assistant_response=api_response.json().get("result")#更新上下文update_context(new_assistant_response)print(f"对话轮次{i+1},当前上下文:{context}")response_entry={"menu_item":current_menu_item,"response":new_assistant_response}all_responses.append(response_entry)#将所有回答存储到一个JSON文件中
with open('responses.json','w',encoding='utf-8') as f:json.dump(all_responses,f,ensure_ascii=False,indent=4)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/405646.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

汽车服务管理系统 _od8kr

TOC springboot580汽车服务管理系统 _od8kr--论文 系统概述 该系统由个人管理员和员工管理,用户三部分组成。其中:用户进入系统首页可以实现首页,热销汽车,汽车配件,汽车资讯,后台管理,在线客…

微服务的基本理解和使用

目录​​​​​​​ 一、微服务基础知识 1、系统架构的演变 (1)单体应用架构 (2)垂直应用架构 (3)分布式SOA架构 (4)微服务架构 (5)SOA与微服务的关系…

什么是UDP?

UDP是工作在OSI(开放系统互连,Open Systems Interconnection)模型中传输层的协议。它使用IP作为底层协议,是为应用程序提供一种以最少的协议机制向其他程序发送消息的协议。其主要特点是无连接,不保证可靠传输和面向报…

[机器学习]--线性回归算法

线性回归算法原理 线性关系在生活中有很多案例: 摄氏度和华氏度的转化: F C ⋅ 9 5 32 F C \cdot\frac{9}{5}32 FC⋅59​32学科最终成绩的计算: 最终成绩 0.3 \times 平时成绩 0.7 \times 期末成绩 线性回归(Linear regression)就是利用回归函数对一个或多个自变量…

Qt中英文支持

目的 就是想让QT编的软件支持中英文。 情况 1、首先配置项目的pro文件: 这样就会生成相应的翻译配置文件,当前是: translate1_cn.ts:中文的配置文件,因为一般默认就是中文,所以一般中文的翻译文件是不需…

小程序商城被盗刷,使用SCDN安全加速有用吗?

在电子商务蓬勃发展的今天,小程序商城因其便捷性和灵活性成为商家和消费者的新宠。然而,随着其普及,小程序商城的安全问题也日益凸显,尤其是盗刷现象频发,给商家和用户带来了巨大损失。面对这一挑战,是否可…

虚拟机安装centos7-桥接模式

1、打开虚拟机,点击文件,选择新建虚拟机 2、选择典型,点击下一步 3、选择稍后安装操作系统,点击下一步 4、选择系统类型及版本,点击下一步,因centos7是Linux操作系统,且是64位的,所以…

主存编址例题

知识点 存储单元个数最大地址-最小地址1 存储单元个数BFFFFH-80000H13FFFFH140000H 这是个十六进制,转换为十进制4*16^44*2^4^44*2^164*2^6*2^10字节 1kb1024字节2^10字节 因此可以转换为4*2^6kb256kb 1byte8bit,1个字节8比特 16k*4bit16*1024*0.5…

高性能web服务器

目录 一、简介 (一)nginx-高性能的web服务端 (二)用户访问体验 二、I/O模型 (一)概念 (二)网络I/O模型 (三)阻塞型 I/O 模型 (四&#xf…

数据库MySQL之事务、索引

目录 1.概述 2.事务 3.索引 3.1索引结构 3.2操作语法 1.概述 场景:假如我们需要解散教学部,那么该部门下的所有员工都需要删除。如果教学部成功删除了,但员工出于某些原因(比如SQL语句写错了等)并没有删除,此时就会出现数据…

Unity Dots学习 (一)

先学习怎么使用,再研究底层代码。Dots大家都有所耳闻。一直没时间研究,最近研究一下 看上图可知,哪怕是CPU的第三级缓存也比内存要快2-5倍。 资料: 《DOTS之路》第零节——前导课(1)——DOTS的5W1H问题_哔哩哔哩_bilibili 《DOT…

保姆级-C#与Halcon的窗体界面展示阈值分割图像教程(机器视觉保姆级教程)

经历上一篇《零基础小白实现C#调用halcon dll的过程,并测试程序证明C#halcon联合开发成功》的发布已经过去三天啦, 零基础小白实现C#调用halcon dll的过程,并测试程序证明C#halcon联合开发成功-CSDN博客 在友友的催更下,我将用我…

人脸识别设计

总体思路 人脸识别使用的算法思路为:首先,定位一张图像中所有的人脸位置;其次,对于同一张脸,当光线改变或者朝向方位改变时,算法还能判断是同一张脸;然后找到每一张脸不同于其他脸的独特之处&a…

【秋招笔试】8.18大疆秋招(第一套)-后端岗

🍭 大家好这里是 春秋招笔试突围,一起备战大厂笔试 💻 ACM金牌团队🏅️ | 多次AK大厂笔试 | 编程一对一辅导 ✨ 本系列打算持续跟新 春秋招笔试题 👏 感谢大家的订阅➕ 和 喜欢💗 和 手里的小花花🌸 ✨ 笔试合集传送们 -> 🧷春秋招笔试合集 🍒 本专栏已收…

Linux安装redis和使用redisDesktop连接

目录 Linux安装redis及启动 第一步:下载redis压缩包 第二步:下载gcc-c 第三步:解压redis文件 第四步:进入redis-4.0.0.0目录执行make命令 第五步:安装redis到redis目录 第五步:复制redis.conf配置文件…

std::wcout,std::cout控制台输出中文乱码,std::cerr字符串的字符无效

系列文章目录 文章目录 系列文章目录前言一、中文乱码原因二、解决方法1.如果是windos11下,使用英文语言,需要加以下代码2.如果是中文语言只需要一行关键代码3.如果在异常处理中显示宽字符中文4.完整代码如下:实现文件测试代码输出打印 前言 …

Java异常捕获与处理:深入理解与实践

个人名片 🎓作者简介:java领域优质创作者 🌐个人主页:码农阿豪 📞工作室:新空间代码工作室(提供各种软件服务) 💌个人邮箱:[2435024119qq.com] &#x1f4f1…

SAM 2——视频和图像实时实例分割的全新开源模型

引言 源码地址:https://github.com/facebookresearch/segment-anything-2 过去几年,人工智能领域在文本处理的基础人工智能方面取得了显著进步,这些进步改变了从客户服务到法律分析等各个行业。然而,在图像处理方面,我…

高考志愿智能推荐系统-计算机毕设Java|springboot实战项目

🍊作者:计算机毕设匠心工作室 🍊简介:毕业后就一直专业从事计算机软件程序开发,至今也有8年工作经验。擅长Java、Python、微信小程序、安卓、大数据、PHP、.NET|C#、Golang等。 擅长:按照需求定制化开发项目…

数据采集监控平台内置SPC系统 提供统计控制功能

数据采集监控平台为了能多方位的为工作人员提供可视化界面,而不仅仅是采集显示这种单一功能,内置多种配置,而SPC系统就是提供统计控制功能的一个重要系统。 数据采集监控平台内置的统计过程控制(Statistical Process Control, SPC…