当前位置:AIGC资讯 > AIGC > 正文

Python使用百度文心一言AI方法

第一步:注册账号,开通服务

进入百度智能云千帆大模型平台,注册账号

首次使用会获得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安装及使用流程 - 千帆大模型平台 | 百度智能云文档

喜欢的话就关注收藏点赞转发吧~

更新时间 2024-06-18