百度智能云千帆大模型平台提供了千帆 SDK,开发者可使用 SDK,快捷地开发功能,提升开发效率。SDK 支持对话Chat、续写Completions、向量Embeddings、模型管理、模型服务、模型调优等调用。
SDK 安装流程
pip install qianfan
千帆SDK目前只提供了 Python 语言的SDK,支持 Python >= 3.7版本。
SDK 使用流程简介
千帆平台提供了2种鉴权方式。调用API不同,使用的鉴权方式可能不同。开发者可以根据实际使用,选择合适的方式进行调用。
方式一,使用应用AK/SK鉴权
调用SDK前,需确保已完成SDK安装。安装后,调用SDK使用流程如下:
步骤一,获取应用的API Key(AK) 和 Secret Key(SK);如果无应用,需先创建应用。
步骤二,初始化AK 和 SK。
步骤三,调用相关SDK。适用以下:
- 对话Chat
- 续写Completions
- 向量Embeddings
- 插件
方式二,使用安全认证AK/SK鉴权
调用SDK前,需确保已完成SDK安装。安装后,调用SDK使用流程如下:
步骤一,获取“安全认证/Access Key”中的Access Key ID(AK) 和 Secret Access Key(SK)。
步骤二,初始化AK 和 SK。
步骤三,调用对应的SDK。适用以下:
- 模型调优
- 模型管理
- 模型服务
演示调用我自己的知识库——插件应用
官方文档有2个问题将导致报错,第二个问题通过3个工单换了好几位工程师耗时3天才解决报错。1. #注意:官方文档有误,没有引入qianfan模块;2. endpoint根据经验就是http地址,网上查错误也认为是http没有s,实际情况:它不是应用详情页面的服务地址,而是地址的最后一段内容,这个问题我明确在工单里询问endpoint是否配置正确,但是没人讲出来正确写法。
另外发现qianfan.Plugin(endpoint="fq4cdyfyuxcynusv")比qianfan.Plugin(ak=client_id, sk=client_secret)的返回结果更准确。
- 非流式调用
示例代码如下:
import qianfan
# Plugin 知识库展示
plugin = qianfan.Plugin(endpoint="your_endpoint")
resp = plugin.do(plugins=["uuid-zhishiku"], prompt="who are you")
print(resp)
可调通代码:
import qianfan
import os
os.environ["QIANFAN_AK"] = "1vd17icSxGT41Ka888888"
os.environ["QIANFAN_SK"] = "M2KAelbXtIfCq9TK09UOTK888888888"
# 注意endpoint写法
plugin = qianfan.Plugin(endpoint="fq4cdyfyuxcynusv")
resp = plugin.do(plugins=["uuid-zhishiku"], prompt="郭鸾几岁开始跳舞")
print(resp)
在本机Windows环境和服务器Linux环境均运行正常。
- 流式调用
#注意:官方文档有误,没有引入qianfan模块
import qianfan
# Plugin 知识库展示
plugin = qianfan.Plugin(endpoint="your_endpoint")
# 流式调用
resp = plugin.do(endpoint="your_custom_endpoint", prompt="政策上规定深度合成服务提供者应当设置哪些内容?", stream=True)
for r in resp:
print(r["result"])
可运行代码:
import qianfan
import os
os.environ["QIANFAN_AK"] = "1vd17icSxGT41Ka888888"
os.environ["QIANFAN_SK"] = "M2KAelbXtIfCq9TK09UOTK88888888U"
# Plugin 知识库展示
plugin = qianfan.Plugin(endpoint="fq4cdyfyuxcynusv")
# 流式调用
resp = plugin.do(endpoint="fq4cdyfyuxcynusv", prompt="郭鸾几岁开始跳舞?", stream=True)
for r in resp:
print(r["result"])
运行效果: