第一步:注册账号,开通服务
进入百度智能云千帆大模型平台,注册账号
首次使用会获得20元代金券,可以让你免费体验一下
在平台左边找到在线服务选项,开通你想要的服务,服务都是按量付费的,也就是说你不用,就不花钱,所以你可以全部开通(我是这么做的)
至少ERNIE-Bot-turbo服务你得开通,这是我们接下来要用的
第二步:获得Access Key/Secret Key
点击右上角的“用户账号->安全认证”进入Access Key管理界面,创建Access Key,获得Access Key和Secret Key
第三步:安装千帆sdk
打开命令行,用pip安装qianfan库
pip install qianfan -i https://pypi.tuna.tsinghua.edu.cn/simple
第四步:开始编写测试代码
1:进行安全验证
# 方法1 """ 可以用环境变量设置Access Key和Secret Key,在命令行输入下面两个命令 set QIANFAN_ACCESS_KEY=Access Key set QIANFAN_SECRET_KEY=Secret Key """ # 方法2 (官方不推荐) import qianfan qianfan.AccessKey("Access Key") qianfan.SecretKey("Secret Key") # 方法3 (不如方法2,但官方说方法2以后可能不兼容,所以测试时可以用用方法3) import os os.environ["QIANFAN_ACCESS_KEY"] = "Access Key" os.environ["QIANFAN_SECRET_KEY"] = "Secret Key"
2:选择模型
import qianfan chat_comp = qianfan.ChatCompletion() # 默认模型为ERNIE-Bot-turbo # chat_comp = qianfan.ChatCompletion(model="ERNIE-Bot") 使用其他预制模型 # chat_comp = qianfan.ChatCompletion(endpoint="") 使用自定义模型
3:创建对话
msgs = qianfan.Messages() # 创建一个消息列表 msgs.append("你好") # 添加用户消息,=msgs.append("你好", role=qianfan.QfRole.User) # 第一轮对话 resp = chat_comp.do(msgs) # 返回QfResponse对象 body = resp.body # 有用的内容 print(body["usage"]) # 本轮对话的token使用情况,是个字典 print(body["result"]) # 模型输出
4:连续对话
连续对话需要注意的是messages的内容必须是你一句,ai助手一句,而且在请求时messages最后一句必须是你的句子
比如[你,ai,你,ai,你]
不能是[你,你,ai,你]
也不能是[你,ai,你,ai]
# 第二轮对话 # msgs.append会识别参数是str还是QfResponse # 如果是添加的str类型,role默认就是User,如果是QfResponse,role默认就是Assistant msgs.append(resp) # 将QfResponse添加进消息列表,=msgs.append(resp.body["result"], role=qianfan.QfRole.Assistant) msgs.append("我今天起的好早") # =msgs.append("我今天起的好早", role=qianfan.QfRole.User) resp2 = chat_comp.do( messages=msgs, temperature=0.5, # 温度,越大输出越随机,越小越稳定,可以修改为0.5,可修改范围取决于模型 # 此外还有别的参数可以选,可以查看此模型的官方文档 ) print(resp2.body["result"])
返回内容
{'prompt_tokens': 1, 'completion_tokens': 8, 'total_tokens': 9}
你好,有什么我可以帮助你的吗?
早上好!今天起得早确实是个好习惯。你今天有什么计划吗?
第五步:写一个用于对话的命令行程序
代码
import qianfan chat_comp = qianfan.ChatCompletion() msgs = qianfan.Messages() user_msg: str while (user_msg := input("输入(按q退出):")) != "q": msgs.append(user_msg) result = chat_comp.do(msgs) print(result.body["result"]) msgs.append(result)
就这么简单,前提是环境变量设置好了(以及:=是python3.8的写法)
输出
输入(按q退出):你好
你好,有什么我可以帮助你的吗?
输入(按q退出):我今天起的好早
哦,很高兴听到你早早起床的消息。早起对身体健康和精力充沛都有很多好处。你通常会做什么在这么早的时间呢?
输入(按q退出):吃个面包然后上课
听起来你的一天已经开始了。上课是充实的一天的一部分,这很好。早餐是一天中最重要的一餐,它为你的身体提供了所需的能量和营养,帮助你应对一天的学习和工作。有什么特别的课程吗?
输入(按q退出):我们刚刚说到哪了?
我们刚刚讨论了早餐的重要性以及你早早起床后的一般活动。
输入(按q退出):我说我早餐吃了什么?
哦,你早餐吃了面包。这是你一天中非常重要的一个环节,是吗?还有什么问题或者需要我帮助的吗?
输入(按q退出):q
文档
更多的设置需要更好的了解千帆平台的使用,比如自制模型(这个贼贵),搜索插件什么的
Python SDK安装及使用流程 - 千帆大模型平台 | 百度智能云文档
喜欢的话就关注收藏点赞转发吧~
chatapptokenbot命令行sdk大模型python百度智能连续对话assistant在线服务自定义模型prompt自定义安全认证按量付费python sdkai助手