创建Prompt模板
更新时间:2024-11-04
注意: 为提升开发者使用体验,本文内容已合并至对应API文档,请查看API鉴权及调用-Prompt工程-Prompt工程V1-创建Prompt模板文档;本文档已于2024年6月28日在平台文档中心下线,内容不再更新。
功能介绍
用于创建Prompt模板。
创建 Prompt 模板最简单的方式是直接使用 Prompt.create 方法,传入 Prompt 名称和模板内容即可创建 Prompt,模板中通过 {} 表示待填充的变量名。返回结果可以通过 ['result']['templateid'] 字段获取模板 ID。
注意事项
调用本文API,需使用安全认证AK/SK鉴权,调用流程及鉴权介绍详见SDK安装及使用流程。
调用示例
import os
from qianfan.resources import Prompt
# 使用安全认证AK/SK鉴权,通过环境变量方式初始化;替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk
os.environ["QIANFAN_ACCESS_KEY"] = "your_iam_ak"
os.environ["QIANFAN_SECRET_KEY"] = "your_iam_sk"
resp = Prompt.create(
name="test_sdk04",
# 变量必须字母开头,仅包含字母、数字和下划线,长度 2-30
template="example template {var1}",
)
print(resp)
SDK 也提供了其他参数,能够根据需求创建 Prompt,例如通过 identifier 字段指定识别变量的符号,示例如下。
import os
os.environ["QIANFAN_ACCESS_KEY"] = "your_ak"
os.environ["QIANFAN_SECRET_KEY"] = "your_sk"
from qianfan.resources import Prompt
from qianfan.consts import PromptFrameworkType
resp = Prompt.create(
name="example_prompt",
identifier="()", # 支持的标识符有 ()、[]、{}、(())、[[]]、{{}}
template="template (v1) {v2} (v3)", # 由于指定了标识符,所以此处 v2 不是变量
framework=PromptFrameworkType.CRISPE, # 指定框架类型
variables=["v1"], # 指定变量,不指定则自动识别
label_ids=[10, 20] # 指定该 Prompt 对应的标签,获取方式见下方 `获取标签列表`
)
返回示例
QfResponse(code=200,
headers={...},
body={
'log_id': 'gv1amq7qundnmv6s',
'result': {
'templateId': 11955,
'templatePK': 'pt-b8acxxxx2c9f9d'
},
'status': 200,
'success': True
})
参数说明
请求参数
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
name | string | 是 | Prompt模板的名称 |
label_ids | List[int] 或 List[string] | 否 | 模板标签Id数组,说明: · 单个模板最多可选20个标签 · 数组元素是标签id,数组所有元素类型必须一致,例如所有元素都是int,或所有元素都是string · 通过调用获取标签列表接口,返回的labelId字段获取 |
template | string | 是 | 模板内容,说明: (1)如果不使用框架,示例:请以{number}字数生成{province}省相关简介 (2)如果使用模型框架该字段值需符合框架要求,详见模板框架说明 |
variables | List[string] | 是 | 模板变量,示例:"var1,var2",说明:变量标识符号里面的内容,不包含变量标识符,且以逗号隔开 |
identifier | string | 是 | 变量识别符号,支持以下符号: · 大括号{} · 双大括号{{}} · 中括号[] · 双中括号[[]] · 小括号() · 双小括号(()) |
scene | PromptSceneType | 否 | 场景类型,可选值如下: · PromptSceneType.Text2Text:文生文;如果scene字段值不传,默认为PromptSceneType.Text2Text · PromptSceneType.Text2Image:文生图 |
framework | PromptFrameworkType | 否 | 模板框架,说明: (1)如果不使用模板框架,该字段值为PromptFrameworkType.NotUse (2)如果使用模板框架,可选值如下: · PromptFrameworkType.Basic:Basic Prompt Framework · PromptFrameworkType.Fewshot:CRISPE Prompt Framework · PromptFrameworkType.Fewshot:Few-shot Promt 如果使用模板框架,参数template需按照模板框架要求填写 |
negative_template | string | 否 | 反向prompt模板内容,表示不希望大模型生成的内容,说明:只有scene为Text2Image,即场景类型为文生图时,该字段有效 |
negative_variables | List[string] | 否 | 反向prompt模板的变量,说明:只有scene为PromptSceneType.Text2Image时,即场景类型为文生图时,该字段有效 |
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 | 搜索结果标题 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
log_id | string | 操作记录id |
result | dict | 返回结果 |
status | int | 状态码 |
success | bool | 是否操作成功,说明: · true:成功 · false:失败 |
result说明
名称 | 类型 | 描述 |
---|---|---|
templateId | int | Prompt模板ID |
templatePK | string | Prompt模板ID,字符串类型 |