第一步:注册账号,开通服务
进入百度智能云千帆大模型平台,注册账号
首次使用会获得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安装及使用流程 - 千帆大模型平台 | 百度智能云文档
喜欢的话就关注收藏点赞转发吧~