【测评】千帆大模型平台初体验:通过千帆调用大模型API接口
大模型开发/技术交流
- 开箱评测
- 大模型推理
- SFT
2023.08.2411503看过
在本篇文章中,我将给大家带来我对千帆大模型平台的使用感受。
平台的申请和使用感受
1.1 注册流程相对简单
申请文心千帆测试服务比较简单,作为对人工智能技术充满好奇的我,第一时间前往[官方申请地址](https://cloud.baidu.com/survey/qianfan.html)申请资格。申请流程十分简单,只需填写一些基本信息,选择测试版本和使用目的,然后提交申请即可。不久后,我便收到了测试资格,并立刻开始了我的体验。
经过一天的等待,我的申请通过了,我收到了平台的测试账号和相关凭证。接着,我下载了百度提供的SDK和API文档,开始了对千帆大模型平台的测试和开发工作。
登录文心千帆平台后,可以看到在左侧,是一栏清晰的文档目录,展示了所有可用的插件和预置模型,右侧则是内容展示区域,这种布局使得查找和管理模型变得非常便捷。
1.2 试用初体验
首先我在后台创建了应用:海拥-AI
然后来到操作台,先尝试了大模型服务中的"在线测试"。我让它用python帮我写一个猜数字的游戏,响应速度很快。
然后我拿着代码去VS code 测试了一下,如下图
可以完美运行,就是代码缩进需要修改一下。
随后,我又问了一些其他的问题,无论是进行智能问答、内容创作还是代码编写,文心一言都给出了非常专业并且精准的回答。
二、千帆大模型平台功能介绍
2.1 对话式语言模型
千帆大模型平台提供了对话式语言模型,它可以通过自然语言交互的形式,根据用户的指令,完成问答、文本创作、代码查错等各种任务。这种对话式语言模型让我惊叹不已,它的应用场景非常广泛,可以帮助企业和个人快速构建智能化的应用和服务。
2.2 应用场景
我发现它可以应用于搜索和数据分析领域,根据用户的查询,自动搜索和分析相关的数据,并以图表或文本的形式呈现给用户。同时,它还可以在程序生成和分析方面发挥作用,根据用户的描述或示例,自动生成或修改相应的代码,并对代码进行检查和优化,比如Python、Java、C++等。此外,支持内容创作,可以根据用户的需求和喜好,自动创作各种类型和形式的内容,比如音乐、视频、图片等。总之,文心千帆大模型平台的功能非常强大,让人眼花缭乱。
三、如何使用 API
3.1 API 列表
ERNIE-Bot
ERNIE-Bot是百度自行研发的大语言模型,覆盖海量中文数据,具有更强的对话问答、内容创作生成等能力。
ERNIE-Bot-turbo
ERNIE-Bot-turbo是百度自行研发的大语言模型,覆盖海量中文数据,具有更强的对话问答、内容创作生成等能力,响应速度更快。
BLOOMZ-7B
BLOOMZ-7B是业内知名的大语言模型,由Hugging Face研发并开源,能够以46种语言和13种编程语言输出文本。
Embedding-V1
Embedding-V1是基于百度文心大模型技术的文本表示模型,将文本转化为用数值表示的向量形式,用于文本检索、信息推荐、知识挖掘等场景。
Prompt模板
Prompt工程指针对于Prompt进行结构、内容等维度进行优化的AI技术,它把大模型的输入限定在了一个特定的范围之中,进而更好地控制模型的输出。
3.2 API 调用基本流程
3.2.1 创建智能云应用
首先,我们需要在控制台中创建应用,这里我在一开始就创建了一个名为”海拥-AI“的应用。创建好应用后,保存AppID、API Key、Secret Key,后面我们需要用到。
3.2.2 服务授权
应用创建后,选择对应授权的公有云服务。
3.2.3 获取访问凭证
根据第一步中获取的API Key、Secret Key,获取access_token。更多详情方法可参考 鉴权认证机制 。或参考以下curl命令向鉴权服务器请求access_token。
Bash
# 填充API Key与Secret Key
curl https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=【API Key】&client_secret=【Secret Key】
# 填充API Key与Secret Key
curl https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=【API Key】&client_secret=【Secret Key】
注意:access_token默认有效期30天,生产环境注意及时刷新。
3.2.4 调用API接口
请求示例
请求数据(body)
生成的代码(Python):
Python
import requests
import json
API_KEY = "cEZ2lRZ*******jKEmlyxk"
SECRET_KEY = "H4WLr8djnL*******M5jMZjmi"
def main():
url = "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/completions?access_token=" + get_access_token()
payload = json.dumps({
"messages": [
{
"role": "user",
"content": "介绍一下你自己"
},
{
"role": "assistant",
"content": "您好,我是文心一言,英文名是ERNIE Bot。我能够与人对话互动,回答问题,协助创作,高效便捷地帮助人们获取信息、知识和灵感。"
}
]
})
headers = {
'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
def get_access_token():
"""
使用 AK,SK 生成鉴权签名(Access Token)
:return: access_token,或是None(如果错误)
"""
url = "https://aip.baidubce.com/oauth/2.0/token"
params = {"grant_type": "client_credentials", "client_id": API_KEY, "client_secret": SECRET_KEY}
return str(requests.post(url, params=params).json().get("access_token"))
if __name__ == '__main__':
main()
import requests
import json
API_KEY = "cEZ2lRZ*******jKEmlyxk"
SECRET_KEY = "H4WLr8djnL*******M5jMZjmi"
def main():
url = "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/completions?access_token=" + get_access_token()
payload = json.dumps({
"messages": [
{
"role": "user",
"content": "介绍一下你自己"
},
{
"role": "assistant",
"content": "您好,我是文心一言,英文名是ERNIE Bot。我能够与人对话互动,回答问题,协助创作,高效便捷地帮助人们获取信息、知识和灵感。"
}
]
})
headers = {
'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
def get_access_token():
"""
使用 AK,SK 生成鉴权签名(Access Token)
:return: access_token,或是None(如果错误)
"""
url = "https://aip.baidubce.com/oauth/2.0/token"
params = {"grant_type": "client_credentials", "client_id": API_KEY, "client_secret": SECRET_KEY}
return str(requests.post(url, params=params).json().get("access_token"))
if __name__ == '__main__':
main()
对话展示
四、Prompt 工程(如何在文心一言中限制问题范围)
有些企业在接入文心一言时,可能希望限制文心回复的问题范围,以确保用户获得的答案与公司相关。这个问题是值得考虑的,千帆大模型平台提供了相应的解决方案。
4.1 什么是 Prompt
Prompt 也叫提示词,简单的理解成它是给大模型的指令。它可以是一个问题、一段文字描述,甚至可以是带有一堆参数的文字描述。大模型会基于 prompt 所提供的信息,生成对应的文本或者图片。
Prompt工程的作用,就是通过提供清晰和具体的指令,引导模型输出生成高相关、高准确且高质量的文本对答内容,属于自然语言处理领域突破的重要工程。
4.2 Prompt模板的使用
4.2.1 创建Prompt模板
在 Prompt 模板界面,选择“创建Prompt模板”按钮。填好模版名称后,模板标签可选,模版内容可以直接填入引用的内容,也可以用“{}”注入变量。
4.2.2 操作Prompt模板
在Prompt模板列表中可对指定模版进行如下操作:
编辑:重新编辑Prompt模板内容,包括模型名称、标签和内容。可查看创建Prompt模板相关内容。
删除:删除Prompt模板,一旦删除不可恢复。
复制ID:复制Prompt模版的ID,可以在后续API中或者检索备份中留有标识认证。
4.2.3 引用Prompt模板
Prompt 模版可以直接在预测服务测试中进行实现
在线测试支持测试工作台选择服务和应用进行参数配置,输入或引用prompt模板进行输入,完成测试。
检索需要引用的prompt模板,点击“引用”按钮,对于无变量设置的prompt模板,会直接输入,对于有变量设置的prompt模板需要输入变量才可进行验证,如下图所示:
部分或全部变量输出完成之后,点击“确定”即可引入模版至对话框。
通过千帆大模型平台的 Prompt 功能,企业或开发者定制微调大模型,从而获取面向特定场景更精准的输出。在具体操作上,开发者们可以提供更多专属行业场景的数据,让模型在特定领域中进行微调,从而限制回复问题的范围。这种个性化的微调可以让文心一言更好地满足企业的需求,并提供与需求相关的答案,确保用户获得最准确的信息。
评论