和老表一起学:
白嫖百度的千帆大模型,到底有多爽!
目前可以免费使用百度千帆大模型有:

注意 Prompt模板、Fuyu-8B 并非 AI 对话模型。
注册一个账号
手机号或者其他方式注册登录即可。
网址:https://console.bce.baidu.com/qianfan/
创建一个应用
网址:https://console.bce.baidu.com/qianfan/ais/console/applicationConsole/application

进入页面后点击创建应用
,给一个应用名称和简介即可,模型默认都勾上了,直接点击确认即可。

创建好应用我们就可以获取到 API Key
和 Secret Key
。后面有大用。

2行代码白嫖
百度很贴心,已经给我们封装好了 Python SDK,我们只需运行pip 安装即可:
pip install qianfan
先问个问题试试看:
import os
import qianfan
# 将应用API_Key、应用Secret key值替换为你自己应用的对应值
os.environ["QIANFAN_AK"] = "你的应用API_Key"
os.environ["QIANFAN_SK"] = "你的应用Secret key"
qianfan.ChatCompletion(model="ernie-lite-8k").do(messages=[{"role": "user", "content": "Python学习有哪些必须掌握知识,列举最重要的5个"},], top_p=0.8, temperature=0.9, penalty_score=1.0)

运行发现回复内容很多,问题回答是在字典的result
字段中,单独打印:

整复杂点
设置单轮对话和多轮对话~
设计思路
1. 主菜单
• 程序启动时打印主菜单,提示用户选择服务:
1. 单轮对话
2. 多轮对话
3. 关闭程序
2. 单轮对话
• 用户输入问题
• 调用
chat_qf
函数传递问题,获取回复并打印
3. 多轮对话
• 用户首先设置角色,保存为系统消息
• 进入循环对话:
• 用户输入问题
• 输入
exit
退出对话,返回主菜单• 输入
restart
重置对话,重新设置角色• 将用户问题添加到对话上下文
• 调用
chat_qf
函数传递上下文,获取回复并打印• 将助手回复添加到对话上下文
4. API 调用
•
chat_qf
函数根据上下文类型(字符串或列表)构造消息• 使用
qianfan.ChatCompletion
获取回复
5. 程序控制
• 主菜单循环等待用户选择服务
• 根据用户选择调用相应功能
• 输入
3
关闭程序
功能说明
1. 主菜单:程序启动时打印主菜单,用户可以选择单轮对话、多轮对话或关闭程序。
2. 单轮对话:用户输入问题,直接调用
chat_qf
函数获取回复并打印。3. 多轮对话:用户首先设置角色,然后循环输入问题,调用
chat_qf
获取回复并打印。用户可以输入exit
退出对话,或输入restart
重置对话。4. API 调用:
chat_qf
函数根据context
的类型(字符串或列表)构造消息,并调用qianfan.ChatCompletion
获取回复。
代码
# 代码有点多,晚点我整理好发朋友圈
# 可以扫文末二维码加我微信 pythonbrief 领取
import os
import qianfan
# 替换下列示例中参数,将应用API_Key、应用Secret key值替换为真实值
os.environ["QIANFAN_AK"]="qxxxxx5"
os.environ["QIANFAN_SK"]="Dxxxxg"
defchat_qf(model, context):
# 代码有点多,晚点我整理好发朋友圈
# 可以扫文末二维码加我微信领取
defprint_menu():
print("Python专属助手为您服务,输入以下数字获得服务:")
print("1、单轮对话")
print("2、多轮对话")
print("3、关闭程序")
defsingle_round_dialogue():
# 代码有点多,晚点我整理好发朋友圈
# 可以扫文末二维码加我微信领取
defmain():
whileTrue:
print_menu()
choice =input("请输入选择:")
if choice =="1":
single_round_dialogue()
elif choice =="2":
multi_round_dialogue()
elif choice =="3":
print("程序已关闭。")
break
else:
print("无效选择,请重新输入。")
if __name__ =="__main__":
main()
运行效果
单轮对话:

多轮对话:
厉害了,解决了前段时间出现大模型世界的难题“9.11和9.8谁大”。
正常 9.11 - 9.8 = -0.69,计算机里计算留有余地,忽略即可。

趣闻
你以为它的很厉害吗,哈哈哈哈,再一问又傻了。

在我的耐心教导下,它终于认识到问题了,我不忍心再问一遍他 9.8和9.11谁大,我怕它又忘记了。。。

完整源码获取
为了能让需要的用户真的从中学到东西,避开白嫖党,本文源码不免费提供,扫下方二维码加我微信,备注:千帆,微信通过后转我0.99元以上金额即可获得完整源码+代码相关答疑服务。(解释到会,有付出有收获)
如果你确实手头紧,也可以联系我,我告诉你其他方式如你先赚到这个钱,再付费学代码。
想一起学习的朋友可以加我微信。
扫码加我微信,回复:分析,
一起迎接AI时代