创建Prompt模板
更新时间:2024-02-27
功能介绍
本接口用于创建Prompt模板。
注意事项
- 鉴权机制,调用本文API,使用“安全认证/Access Key ”中的Access Key ID 和 Secret Access Key等鉴权,无法使用获取Access Token的方式鉴权,具体鉴权认证机制参考“百度云鉴权认证机制”。
在线调试
百度智能云千帆提供了 API在线调试平台-示例代码 ,用于帮助开发者调试接口,平台集成快速检索、查看开发文档、查看在线调用的请求内容和返回结果、复制和下载示例代码等功能,简单易用,更多内容请查看API在线调试介绍。
请求说明
基本信息
请求地址:https://qianfan.baidubce.com/wenxinworkshop/prompt/template/create
请求方式:POST
Header参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
Content-Type | string | 是 | 固定值:application/json |
x-bce-date | string | 否 | 当前时间,遵循ISO8601规范,格式如2016-04-06T08:23:49Z |
Authorization | string | 是 | 用于验证请求合法性的认证信息,更多内容请参考鉴权认证机制,签名工具可参考IAM签名工具 |
Body参数
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
templateName | string | 是 | Prompt模板的名称 |
labelIds | int[] 或 string[] | 否 | 模板标签Id数组,说明: (1)单个模板最多可选20个标签 (2)数组元素是标签id,数组所有元素类型必须一致,例如所有元素都是int,或所有元素都是string (3)通过调用获取标签列表接口,返回的labelId字段获取 |
templateContent | string | 是 | 模板内容,说明: (1)如果不使用框架,示例:请以{number}字数生成{province}省相关简介 (2)如果使用模型框架该字段值需符合框架要求,详见本文模板框架说明 |
templateVariables | string | 是 | 模板变量,示例:"var1,var2",说明:变量标识符号里面的内容,不包含变量标识符,且以逗号隔开 |
variableIdentifier | string | 是 | 变量识别符号,支持以下符号: · 大括号{} · 双大括号{{}} · 中括号[] · 双中括号[[]] · 小括号() · 双小括号(()) |
sceneType | int | 否 | 场景类型,可选值如下: · 1:文生文,如果不传默认是1 · 2:文生图 |
frameworkType | int | 否 | 模板框架,说明: (1)如果不使用模板框架,该字段值为0;如果该字段值不传,默认为0 (2)如果使用模板框架,可选值如下: · 1:Basic Prompt Framework · 2:CRISPE Prompt Framework · 3:Few-shot Promt 如果使用模板框架,参数templateContent需按照模板框架要求填写 |
negativeTemplateContent | string | 否 | 反向Prompt模板内容,表示不希望大模型生成的内容,说明:只有sceneType为2,即场景类型为文生图时,该字段有效 |
negativeTemplateVariables | string | 否 | 反向Prompt模板的变量,说明:只有sceneType为2时,即场景类型为文生图时,该字段有效 |
hyperParametersStatus | int | 否 | 推理参数开关,说明: · 0:关闭 · 1:开启 |
hyperParameters | hyperParameter | 否 | 推理参数 |
hyperParameter说明
- 文生文相关推理参数
名称 | 类型 | 描述 |
---|---|---|
modelName | string | 模型类别,说明: · EB-Turbo · ERNIE-Bot · open-source |
temperature | float | 温度,说明: (1)较高的数值会使输出更加随机,而较低的数值会使其更加集中和确定 (2)默认0.8,范围 (0, 1.0],不能为0 (3)建议该参数和top_p只设置1个 (4)建议top_p和temperature不要同时更改 |
topP | float | 多样性,说明: (1)影响输出文本的多样性,取值越大,生成文本的多样性越强 (2)默认0.8,取值范围 [0, 1.0] (3)建议该参数和temperature只设置1个 (4)建议top_p和temperature不要同时更改 |
penaltyScore | float | 重复惩罚,通过对已生成的token增加惩罚,减少重复生成的现象,说明: (1)值越大表示惩罚越大 (2)默认1.0,取值范围:[1.0, 2.0] |
disableSearch | bool | 实时搜索,是否强制关闭实时搜索功能,默认false,表示不关闭 |
enableCitation | bool | 角标返回,是否开启上角标返回,说明: (1)开启后,有概率触发搜索溯源信息search_info,search_info内容见search_info说明 (2)默认false,不开启 |
stop | string[] | 停止标识 |
system | string | 模型人设,主要用于人设设定,例如,你是xxx公司制作的AI助手,长度限制1024个字符 |
- 文生图相关推理参数
名称 | 类型 | 描述 |
---|---|---|
picSize | string | 图片比例,入参size。生成图片长宽,说明: (1)默认值 1024x1024 (2)取值范围如下:["512x512", "768x768", "768x1024", "1024x768", "576x1024", "1024x576", "1024x1024"] 注意:建议选择较大尺寸,结合完善的prompt,以保障图片质量 |
picNum | int | 图片数量,入参n。生成图片数量,说明: (1)默认值为1 (2)取值范围为1-4 (3)单次生成的图片较多及请求较频繁可能导致请求超时 |
samplingSteps | int | 采样步数,入参step。进行采样的次数,说明: (1)默认值为20 (2)取值范围为10-50 |
samplingMode | string | 采样方式,入参sampler_index,说明: (1)默认值:Euler a (2)值如下: · Euler · Euler a · DPM++ 2M · DPM++ 2M Karras · LMS Karras · DPM++ SDE · DPM++ SDE Karras · DPM2 a Karras · Heun · DPM++ 2M SDE · DPM++ 2M SDE Karras · DPM2 · DPM2 Karras · DPM2 a · LMS |
search_info说明
名称 | 类型 | 描述 |
---|---|---|
search_results | List(search_result) | 搜索结果列表 |
search_result说明
名称 | 类型 | 描述 |
---|---|---|
index | int | 序号 |
url | string | 搜索结果URL |
title | string | 搜索结果标题 |
模板框架说明
- (1) Basic Prompt Framework
⼀个简洁清晰的Prompt框架,包含了优质Prompt所包含的必要元素,在通⽤场景下推理表现较好。更多模板框架介绍和示例⻅帮助⽂档。
使用字段不同,content不同,示例如下:
- 填写全部信息,content为
"指令:xxx\n背景信息:xxx\n补充数据:xxx\n输出格式:xxx"
- 部分信息不填写,例如:不填写背景信息,content为
"指令:xxx\n\n补充数据:xxx\n输出格式:xxx"
模板字段 | 必填 | 说明 | 示例 |
---|---|---|---|
指令 | 是 | 希望大模型具体执行的任务 | 请生成一篇关于环保的文章 |
背景信息 | 否 | 上下文信息 | 全球变暖越来越严重 |
补充数据 | 否 | 补充的数据 | 自19世纪以来,全球平均温度每年增加约0.5度 |
输出格式 | 否 | 期望大模型生成内容的格式 | 输出一篇关于环保的文章,需要包括现状、重要性、具体措施等,字数在800字左右 |
- (2) CRISPE Prompt Framework
⼀个更完备的Prompt框架,所含元素更多,在特定推理场景下表现更稳定。更多模板框架介绍和示例⻅帮助⽂档。
使用字段不同,content不同,示例如下:
- 填写全部信息,content为
"能力与角色:xxx\n背景信息:xxx\n指令:xxx\n输出风格:xxx\n输出范围:xxx"
- 部分信息不填写,例如:不填写背景信息,
"能力与角色:xxx\n指令:xxx\n输出风格:xxx\n输出范围:xxx"
模板字段 | 必填 | 说明 | 示例 |
---|---|---|---|
能力与角色 | 否 | 输入你希望大模型扮演怎样的角色 | 我希望你成为一名熟悉人工智能领域的教授 |
背景信息 | 否 | 上下文信息 | 我正在准备报告的材料,报告的主题是人工智能的历史和未来趋势 |
指令 | 是 | 希望大模型具体执行的任务 | 我希望你能为我提供一些详细的信息,包括人工智能的历史发展,重要里程碑事件,以及未来的发展趋势 |
输出风格 | 否 | 期望大模型生成内容的风格 | 我希望你能以详细且专业的方式回答我 |
输出范围 | 否 | 期望大模型生成内容的范围 | 我希望你能以1980年至今的人工智能为例,字数在800字左右 |
- (3) Few-shot Promt
提供指导⼤模型推理的示例,适⽤于对输出内容的维度和格式等要求较⾼的场景。更多模板框架介绍和示例⻅帮助⽂档。
使用字段不同,content不同,示例如下:
- 填写全部信息,content为
"hello,我是背景及指令\n\n输入:1\n输出:32\n\n输入:4\n输出:33\n\n输入:3\n输出:\n\n"
- 部分信息不填写,例如:不填写背景及指令,
"输入:1\n输出:32\n\n输入:4\n输出:33\n\n输入:3\n输出:\n\n"
注意:该框架的content无需加字段名,换行需要两个 '\n'
,即 '\n\n '
,输入和输出之间由一个换行符'\n'
隔开。例如:"我现在在做一一个逻辑计算,希望每个数学公式都可以得到正确的答案。\n\n输入:1、1、3,计算总和\n输出:5\n\n输入:1、6、4,计算总和\n输出:11\n\n"
模板字段 | 必填 | 说明 | 示例 |
---|---|---|---|
背景及指令 | 否 | 背景信息和建议指令 | 现在在做一个数学计算游戏,请根据下述规则回答最后一个示例的问题 |
示例 | 是 | 序号从1递增,包含 输入与输出示例数量为1-20示例1的输入和输出必填。 |
序号1 ·输入:这个组中的奇数加起来就是偶数:4、8、9、15、12、2、1。 ·输出:将所有奇数相加得到25,答案是错误的 |
响应说明
名称 | 类型 | 说明 |
---|---|---|
log_id | string | 操作记录id |
result | object | 返回结果 |
status | int | 状态码 |
success | bool | 是否操作成功,说明: · true:成功 · false:失败 |
result说明
名称 | 类型 | 说明 |
---|---|---|
templateId | int | Prompt模板ID |
templatePK | string | Prompt模板ID,字符串类型 |
示例
创建文生文类型无框架Prompt模板
请求示例
# 替换下列示例中的Authorization值、x-bce-date值
curl -i --location 'https://qianfan.baidubce.com/wenxinworkshop/prompt/template/create'\
--header 'Authorization: bce-auth-v1/f0ee7axxxx/2023-09-19T13:42:13Z/180000/host;x-bce-date/9a8cfb8ee58a8f44a21a52640015de61bc55ca2e6d8cc23d080016e374525543'\
--header 'x-bce-date: 2023-09-19T13:37:10Z'\
--header 'Content-Type: application/json'\
--data '{
"templateName": "11",
"labelIds": [139,142],
"templateContent": "请以{number}字数生成{province}省相关简介",
"templateVariables": "number,province",
"variableIdentifier": "{}",
"sceneType": 1,
"frameworkType": 0
}'
响应示例
{
"log_id": "py3yxbi7ffdj7kuc",
"result": {
"templateId": 732,
"templatePK": "pt-b8ac2cad292c9f9d"
},
"status": 200,
"success": true
}
创建文生图类型Prompt模板
请求示例
# 替换下列示例中的Authorization值、x-bce-date值
curl -i --location 'https://qianfan.baidubce.com/wenxinworkshop/prompt/template/create'\
--header 'Authorization: bce-auth-v1/f0ee7axxxx/2023-09-19T13:42:13Z/180000/host;x-bce-date/9a8cfb8ee58a8f44a21a52640015de61bc55ca2e6d8cc23d080016e374525543'\
--header 'x-bce-date: 2023-09-19T13:37:10Z'\
--header 'Content-Type: application/json'\
--data '{
"templateName": "11",
"labelIds": [],
"templateContent": "one boy",
"templateVariables": "",
"negativeTemplateContent": "multi person",
"negativeTemplateVariables": "",
"variableIdentifier": "[[]]",
"sceneType": 2,
"frameworkType": 0
}'
响应示例
{
"log_id": "kw4yxdl7f3lj73dc",
"result": {
"templateId": 733,
"templatePK": "pt-d8ac2cad292c9f9d"
},
"status": 200,
"success": true
}
创建文生文类型Basic Prompt Framework框架Prompt模板
请求示例
# 替换下列示例中的Authorization值、x-bce-date值
curl -i --location 'https://qianfan.baidubce.com/wenxinworkshop/prompt/template/create'\
--header 'Authorization: bce-auth-v1/f0ee7axxxx/2023-09-19T13:42:13Z/180000/host;x-bce-date/9a8cfb8ee58a8f44a21a52640015de61bc55ca2e6d8cc23d080016e374525543'\
--header 'x-bce-date: 2023-09-19T13:37:10Z'\
--header 'Content-Type: application/json'\
--data '{
"templateName": "11",
"labelIds": [],
"templateContent": "指令:请生成一篇环保主题的文章\n背景信息:当前核污染越来越严重\n补充数据:19世纪起环境愈发恶劣\n输出格式:输出一篇环保相关文章,字数控制在800字左右",
"templateVariables": "",
"variableIdentifier": "{}",
"sceneType": 1,
"frameworkType": 1
}'
响应示例
{
"log_id": "98syd3l77dljek18",
"result": {
"templateId": 734,
"templatePK": "pt-d8ac2cad292c9f9d"
},
"status": 200,
"success": true
}
错误码
若请求错误,服务器将返回的JSON文本包含以下参数:
名称 | 描述 |
---|---|
error_code | 错误码 |
error_msg | 错误描述信息,帮助理解和解决发生的错误 |
例如参数错误返回:
{
"error_code": 500001,
"error_msg": "param invalid"
}
千帆大模型平台相关错误码,请查看错误码说明。