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

233星空xt 2024-06-16 13:31:04 阅读 95

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

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

首次使用会获得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 Keyset QIANFAN_SECRET_KEY=Secret Key"""# 方法2 (官方不推荐)import qianfanqianfan.AccessKey("Access Key")qianfan.SecretKey("Secret Key")# 方法3 (不如方法2,但官方说方法2以后可能不兼容,所以测试时可以用用方法3)import osos.environ["QIANFAN_ACCESS_KEY"] = "Access Key"os.environ["QIANFAN_SECRET_KEY"] = "Secret Key"

2:选择模型

import qianfanchat_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默认就是Assistantmsgs.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 qianfanchat_comp = qianfan.ChatCompletion()msgs = qianfan.Messages()user_msg: strwhile (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安装及使用流程 - 千帆大模型平台 | 百度智能云文档

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



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。