文章目录
一、百度智能云 开发者注册
1、实名认证
进入 百度智能云 https://cloud.baidu.com/ 网站 , 登录 百度账号 后 , 首先要进行 实名认证 , 使用 微信扫码 即可进行 刷脸认证 , 之后才能开通 大模型服务 ;
实名认证 完成后 , 将鼠标移动到 右上角 用户名下方 , 会显示 " 实名认证用户 " ;
2、开通模型服务
回到 百度智能云 https://cloud.baidu.com/ 首页 , 点击界面中间的 " 立即体验 " 按钮 ;
进入 千帆ModelBuilder 页面 https://console.bce.baidu.com/qianfan/overview , 此时在页面顶部 提示 " 您尚未开通模型服务,开通后可通过体验中心或调用API使用预置模型服务。 " , 点击右侧的 " 立即开通 " 按钮 , 开通 模型服务 ;
在弹出的 对话框 中 , 点击 " 确认开通 " 按钮 , 开通 模型服务 ;
成功开通 , 会有如下提示 ;
二、开发文档 和 视频教程
初次接触 百度千帆大模型 , 可以参考官方提供的 文档 和 视频教程 了解大模型使用 ;
1、视频教程
百度智能云 课程中心 : https://cloud.baidu.com/partner/course-center/index.html
选择 " 百度智能云千帆AI加速器 / 百度智能云千帆ModelBuilder / 对话chat_API调用 " 在页面中会刷新符合筛选条件的课程 , 对话chat_API调用 课程页面
2、开发文档
文档首页 : 百度智能云千帆大模型服务与开发平台ModelBuilder
参考 平台使用指引 https://cloud.baidu.com/doc/WENXINWORKSHOP/s/7ltgucw50 逐步了解 百度智能云千帆ModelBuilder 的功能 ;
三、模型广场
在 模型广场 https://console.bce.baidu.com/qianfan/modelcenter/model/buildIn/list 中 , 可以看到 百度 提供的 68 个大模型 ,
四、体验中心
在 体验中心 https://console.bce.baidu.com/qianfan/ais/console/onlineTest/LLM 可以体验各种大模型 ;
目前可以白嫖体验 DeepSeek R1 模型 , 过几天开始收费了 , 不过费用很便宜 ;
五、在线推理
在 在线推理 https://console.bce.baidu.com/qianfan/ais/console/onlineService 页面 可以查看各种 大模型的 付费状态 , 操作 ;
大部分模型都是默认 按量后付费 , 一旦使用就会产生费用 , 注意不要乱用 ;
六、Python SDK 简单调用
1、参考文档
参考文档 Python SDK调用对话Chat V1教程 ;
2、开发环境准备
首先 安装 Python 环境 和 PyCharm 开发工具 :
- 【开发环境】Windows 中安装 Python 各个版本 ( 下载 Python 各版本 SDK | 安装 Python )
- 【开发环境】Windows 安装 PyCharm 开发环境 ( 下载 PyCharm | 安装 PyCharm | 在 PyCharm 中创建 Python 工程 )
执行
Python -V
命令 , 查看 Python 版本 , 需要保证 Python 版本大于等于 3.7 版本 ; 执行结果如下 :
C:\Users\octop>Python -V
Python 3.7.9
3、安装 SDK
运行
pip install qianfan
命令 , 安装 千帆ModelBuilder SDK ; 执行结果如下 :
C:\Users\octop>pip install qianfan
Collecting qianfan
Downloading qianfan-0.4.12.2-py3-none-any.whl (470 kB)
|████████████████████████████████| 470 kB 85 kB/s
WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='pypi.org', port=443): Read timed out. (read timeout=15)")': /simple/aiohttp/
Collecting aiohttp>=3.7.0
Downloading aiohttp-3.8.6-cp37-cp37m-win_amd64.whl (326 kB)
|████████████████████████████████| 326 kB 2.2 MB/s
Collecting prompt-toolkit>=3.0.38
Downloading prompt_toolkit-3.0.48-py3-none-any.whl (386 kB)
|████████████████████████████████| 386 kB 2.2 MB/s
Requirement already satisfied: typing-extensions>=4.0.0; python_full_version <= "3.10.0" in d:\001_develop\022_python\python37_64\lib\site-packages (from qianfan) (4.7.1)
Requirement already satisfied: requests>=2.24 in d:\001_develop\022_python\python37_64\lib\site-packages (from qianfan) (2.31.0)
Collecting rich>=13.0.0
Downloading rich-13.8.1-py3-none-any.whl (241 kB)
|████████████████████████████████| 241 kB 3.3 MB/s
Collecting aiolimiter>=1.1.0
Downloading aiolimiter-1.1.0-py3-none-any.whl (7.2 kB)
Collecting multiprocess>=0.70.12
Downloading multiprocess-0.70.15-py37-none-any.whl (116 kB)
|████████████████████████████████| 116 kB 2.2 MB/s
Collecting python-dotenv<=0.21.1; python_version < "3.8"
Downloading python_dotenv-0.21.1-py3-none-any.whl (19 kB)
Collecting diskcache>=5.6.3
Downloading diskcache-5.6.3-py3-none-any.whl (45 kB)
|████████████████████████████████| 45 kB 1.7 MB/s
Collecting tenacity<9.0.0,>=8.2.3
Downloading tenacity-8.2.3-py3-none-any.whl (24 kB)
Collecting pyyaml<7.0.0,>=6.0.1
Downloading PyYAML-6.0.1-cp37-cp37m-win_amd64.whl (153 kB)
|████████████████████████████████| 153 kB 726 kB/s
Requirement already satisfied: pydantic>=1.0 in d:\001_develop\022_python\python37_64\lib\site-packages (from qianfan) (2.5.3)
Collecting bce-python-sdk>=0.8.79
Downloading bce_python_sdk-0.9.25-py3-none-any.whl (337 kB)
|████████████████████████████████| 337 kB 2.2 MB/s
Collecting typer>=0.9.0
Downloading typer-0.15.1-py3-none-any.whl (44 kB)
|████████████████████████████████| 44 kB 1.7 MB/s
Requirement already satisfied: cachetools>=5.0.0 in d:\001_develop\022_python\python37_64\lib\site-packages (from qianfan) (5.4.0)
Collecting frozenlist>=1.1.1
Downloading frozenlist-1.3.3-cp37-cp37m-win_amd64.whl (34 kB)
Collecting multidict<7.0,>=4.5
Downloading multidict-6.0.5-cp37-cp37m-win_amd64.whl (26 kB)
Collecting asynctest==0.13.0; python_version < "3.8"
Downloading asynctest-0.13.0-py3-none-any.whl (26 kB)
Collecting yarl<2.0,>=1.0
Downloading yarl-1.9.4-cp37-cp37m-win_amd64.whl (77 kB)
|████████████████████████████████| 77 kB 1.1 MB/s
Requirement already satisfied: attrs>=17.3.0 in d:\001_develop\022_python\python37_64\lib\site-packages (from aiohttp>=3.7.0->qianfan) (23.2.0)
Collecting aiosignal>=1.1.2
Downloading aiosignal-1.3.1-py3-none-any.whl (7.6 kB)
Collecting async-timeout<5.0,>=4.0.0a3
Downloading async_timeout-4.0.3-py3-none-any.whl (5.7 kB)
Requirement already satisfied: charset-normalizer<4.0,>=2.0 in d:\001_develop\022_python\python37_64\lib\site-packages (from aiohttp>=3.7.0->qianfan) (3.3.2)
Requirement already satisfied: wcwidth in d:\001_develop\022_python\python37_64\lib\site-packages (from prompt-toolkit>=3.0.38->qianfan) (0.2.5)
Requirement already satisfied: idna<4,>=2.5 in d:\001_develop\022_python\python37_64\lib\site-packages (from requests>=2.24->qianfan) (3.7)
Requirement already satisfied: urllib3<3,>=1.21.1 in d:\001_develop\022_python\python37_64\lib\site-packages (from requests>=2.24->qianfan) (2.0.7)
Requirement already satisfied: certifi>=2017.4.17 in d:\001_develop\022_python\python37_64\lib\site-packages (from requests>=2.24->qianfan) (2024.6.2)
Collecting markdown-it-py>=2.2.0
Downloading markdown_it_py-2.2.0-py3-none-any.whl (84 kB)
|████████████████████████████████| 84 kB 998 kB/s
Collecting pygments<3.0.0,>=2.13.0
Downloading pygments-2.17.2-py3-none-any.whl (1.2 MB)
|████████████████████████████████| 1.2 MB 1.1 MB/s
Collecting importlib_metadata<5.0,>=1.3; python_version < "3.8"
Downloading importlib_metadata-4.13.0-py3-none-any.whl (23 kB)
Collecting dill>=0.3.7
Downloading dill-0.3.7-py3-none-any.whl (115 kB)
|████████████████████████████████| 115 kB 3.3 MB/s
Requirement already satisfied: annotated-types>=0.4.0 in d:\001_develop\022_python\python37_64\lib\site-packages (from pydantic>=1.0->qianfan) (0.5.0)
Requirement already satisfied: pydantic-core==2.14.6 in d:\001_develop\022_python\python37_64\lib\site-packages (from pydantic>=1.0->qianfan) (2.14.6)
Collecting future>=0.6.0
Downloading future-1.0.0-py3-none-any.whl (491 kB)
|████████████████████████████████| 491 kB 3.3 MB/s
Requirement already satisfied: six>=1.4.0 in d:\001_develop\022_python\python37_64\lib\site-packages (from bce-python-sdk>=0.8.79->qianfan) (1.16.0)
Collecting pycryptodome>=3.8.0
Downloading pycryptodome-3.21.0-cp36-abi3-win_amd64.whl (1.8 MB)
|████████████████████████████████| 1.8 MB 2.2 MB/s
Collecting shellingham>=1.3.0
Downloading shellingham-1.5.4-py2.py3-none-any.whl (9.8 kB)
Collecting click>=8.0.0
Downloading click-8.1.8-py3-none-any.whl (98 kB)
|████████████████████████████████| 98 kB 1.8 MB/s
Collecting mdurl~=0.1
Downloading mdurl-0.1.2-py3-none-any.whl (10.0 kB)
Requirement already satisfied: zipp>=0.5 in d:\001_develop\022_python\python37_64\lib\site-packages (from importlib_metadata<5.0,>=1.3; python_version < "3.8"->aiolimiter>=1.1.0->qianfan) (3.15.0)
Requirement already satisfied: colorama; platform_system == "Windows" in d:\001_develop\022_python\python37_64\lib\site-packages (from click>=8.0.0->typer>=0.9.0->qianfan) (0.4.4)
ERROR: frida-tools 5.1.0 has requirement prompt-toolkit<3.0.0,>=2.0.0, but you'll have prompt-toolkit 3.0.48 which is incompatible.
Installing collected packages: frozenlist, multidict, asynctest, yarl, aiosignal, async-timeout, aiohttp, prompt-toolkit, mdurl, markdown-it-py, pygments, rich, importlib-metadata, aiolimiter, dill, multiprocess, python-dotenv, diskcache, tenacity, pyyaml, future, pycryptodome, bce-python-sdk, shellingham, click, typer, qianfan
Attempting uninstall: prompt-toolkit
Found existing installation: prompt-toolkit 2.0.10
Uninstalling prompt-toolkit-2.0.10:
Successfully uninstalled prompt-toolkit-2.0.10
Attempting uninstall: pygments
Found existing installation: Pygments 2.10.0
Uninstalling Pygments-2.10.0:
Successfully uninstalled Pygments-2.10.0
Attempting uninstall: importlib-metadata
Found existing installation: importlib-metadata 6.7.0
Uninstalling importlib-metadata-6.7.0:
Successfully uninstalled importlib-metadata-6.7.0
Successfully installed aiohttp-3.8.6 aiolimiter-1.1.0 aiosignal-1.3.1 async-timeout-4.0.3 asynctest-0.13.0 bce-python-sdk-0.9.25 click-8.1.8 dill-0.3.7 diskcache-5.6.3 frozenlist-1.3.3 future-1.0.0 importlib-metadata-4.13.0 markdown-it-py-2.2.0 mdurl-0.1.2 multidict-6.0.5 multiprocess-0.70.15 prompt-toolkit-3.0.48 pycryptodome-3.21.0 pygments-2.17.2 python-dotenv-0.21.1 pyyaml-6.0.1 qianfan-0.4.12.2 rich-13.8.1 shellingham-1.5.4 tenacity-8.2.3 typer-0.15.1 yarl-1.9.4
WARNING: You are using pip version 20.1.1; however, version 24.0 is available.
You should consider upgrading via the 'd:\001_develop\022_python\python37_64\python.exe -m pip install --upgrade pip' command.
C:\Users\octop>
开始执行 :
执行结束 :
4、拷贝示例代码
拷贝示例代码到 PyCharm 中 , 下面的代码中 必须到 百度智能云 安全认证 界面找到自己的 Access Key 和 Secret Key 替换到代码中 ;
import os
import qianfan
# 通过环境变量初始化认证信息
# 方式一:【推荐】使用安全认证AK/SK
# 替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk,如何获取请查看https://cloud.baidu.com/doc/Reference/s/9jwvz2egb
os.environ["QIANFAN_ACCESS_KEY"] = "your_iam_ak"
os.environ["QIANFAN_SECRET_KEY"] = "your_iam_sk"
# 方式二:【不推荐】使用应用AK/SK鉴权
# 替换下列示例中参数,将应用API_Key、应用Secret key值替换为真实值
#os.environ["QIANFAN_AK"] = "应用API_Key"
#os.environ["QIANFAN_SK"] = "应用Secret_Key"
chat_comp = qianfan.ChatCompletion()
# 指定特定模型
resp = chat_comp.do(model="ERNIE-3.5-8K", messages=[{
"role": "user",
"content": "你好"
}])
print(resp["body"])
5、查找 Access Key 和 Secret Key
参考 如何获取AKSK 页面 获取 SK 和 AK ;
到 百度智能云 安全认证 页面 https://console.bce.baidu.com/iam/#/iam/accesslist 的 Access Key 面板中 , 查找 AK 和 SK ;
下面的页面中 , 蓝色矩形框中的是 Access Key , 红色矩形框中是 Secret Key ;
SK 查看需要进行 手机验证码验证 , 验证完毕后 , 即可查看 SK ;
将上面查找到的 AK 和 SK 替换到下面的 字符串中 ;
os.environ["QIANFAN_ACCESS_KEY"] = "your_iam_ak"
os.environ["QIANFAN_SECRET_KEY"] = "your_iam_sk"
6、执行结果
执行 Python 代码 , 得到如下结果 :
D:\001_Develop\022_Python\Python37_64\python.exe D:/002_Project/011_Python/OpenAI/qianfan_demo.py
[WARNING][2025-02-06 11:00:39.517] logging.py:109 [t:18380]: No redis installed, RedisRateLimiter unavailable. Ignore this warning if you don't need to use qianfan SDK in distribution environment
{'id': 'as-zjhf28z29i', 'object': 'chat.completion', 'created': 1738810840, 'result': '你好!很高兴与你交流。请问有什么我可以帮助你的吗?无论是知识问答、文本创作还是其他任务,我都会尽力提供帮助。', 'is_truncated': False, 'need_clear_history': False, 'finish_reason': 'normal', 'usage': {'prompt_tokens': 1, 'completion_tokens': 27, 'total_tokens': 28}}
Process finished with exit code 0