创建Prompt优化任务
更新时间:2024-12-26
注意:
- 为提升开发者使用体验,推荐使用Prompt工程V2版本接口,功能更全面、且接口更规范,详见Prompt工程API列表。
- Prompt工程V1版本接口功能不再升级,本文档于2024年8月5日下线;由于V1版本接口后续可能下线停止服务,为避免影响使用,建议接入Prompt工程V2版本接口。
功能介绍
本接口用于创建prompt优化任务。
SDK调用
使用说明
调用本文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_optimiztion_task(
content="帮我写一份{job}年终总结",
operations=[
{"opType":1,"payload":1},
{"opType":2,"payload":0},
{"opType":3,"payload":1},
{"opType":4,"payload":0}
],
)
print(resp)
返回示例
QfResponse(
code=200,
headers={...},
body={
'log_id': '13d4th5mh73dqmwi',
'result': {'id': 'task-up1pwjkph1bx85mt'},
'status': 200,
'success': True
},
statistic={...},
request=QfRequest(...)
)
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
content | string | 是 | 原始prompt内容 |
operations | list[object] | 是 | 算子类型及其设置值。说明: (1)4种算子必须都包括,有且仅有一条,不可重复、缺项 (2)算子设置的值见operations 说明 |
appID | int | 否 | 选择的应用AppID。通过以下方法获取该字段值:在控制台-模型服务-应用接入列表中查看 |
serviceName | string | 否 | 选择的模型服务名称,包括预置服务和自定义服务。示例:ERNIE-Bot,可以通过以下方式获取该字段值:在控制台-Prompt优化-在线优化页面,查看支持的模型服务列表。例如,支持的预置服务,部分模型名称如下图所示, |
operations 说明
名称 | 类型 | 描述 |
---|---|---|
opType | int | 优化算子的类型。说明: (1)该字段每个值对应一种算子,目前共4种算子 (2)各算子说明如下 · 1:质量优化;启用此功能会提供可能更好质量的提示词,但花费更长的时间优化 · 2:缩短提示词;可以省去“的”、“吧”等含义不强的文本实体,精炼语料内容并降低推理成本 · 3:迭代轮次;反复迭代Prompt优化,更多的迭代次数意味着优化效果越强,但也需要花费更长时间 · 4:思维链条;开启后将指引模型拆解Prompt内容,逐步进行推理。建议仅在数学计算、逻辑推理等场景下开启使用 |
payload | int | 各类型优化算子对应的输入参数,说明: (1)当opType值为3,该字段取值1或2 (2)当opType值为1、2或4时,该字段可选值如下: · 1:开启 · 0:关闭 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
log_id | string | 操作记录id |
result | dict | 返回结果 |
status | int | 状态码 |
success | bool | 是否操作成功,说明: · true:成功 · false:失败 |
result说明
名称 | 类型 | 描述 |
---|---|---|
id | string | prompt优化任务id |
HTTP调用
鉴权说明
调用本文API,使用“基于安全认证AK/SK”进行签名计算鉴权,即使用安全认证中的Access Key ID 和 Secret Access Key进行鉴权,具体鉴权认证机制参考HTTP调用鉴权说明。
请求说明
- 基本信息
请求地址: https://qianfan.baidubce.com/wenxinworkshop/prompt/singleOptimize/create
请求方式: POST
- Header参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
Content-Type | string | 是 | 固定值:application/json |
x-bce-date | string | 否 | 当前时间,遵循ISO8601规范,格式如2016-04-06T08:23:49Z |
Authorization | string | 是 | 用于验证请求合法性的认证信息,更多内容请参考鉴权认证机制,签名工具可参考IAM签名工具 |
- Body参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
content | string | 是 | 原始prompt内容 |
operations | list[object] | 是 | 算子类型及其设置值。说明: (1)4种算子必须都包括,有且仅有一条,不可重复、缺项 (2)算子设置的值见operations 说明 |
appID | int | 否 | 选择的应用AppID。通过以下方法获取该字段值:在控制台-模型服务-应用接入列表中查看 |
serviceName | string | 否 | 选择的模型服务名称,包括预置服务和自定义服务。可以通过以下方式获取该字段值:在控制台-Prompt优化-在线优化页面,查看支持的模型服务列表。例如,支持的预置服务,部分模型名称如下图所示, |
operations 说明
名称 | 类型 | 描述 |
---|---|---|
opType | int | 优化算子的类型。说明: (1)该字段每个值对应一种算子,目前共4种算子 (2)各算子说明如下 · 1:质量优化;启用此功能会提供可能更好质量的提示词,但花费更长的时间优化 · 2:缩短提示词;可以省去“的”、“吧”等含义不强的文本实体,精炼语料内容并降低推理成本 · 3:迭代轮次;反复迭代Prompt优化,更多的迭代次数意味着优化效果越强,但也需要花费更长时间 · 4:思维链条;开启后将指引模型拆解Prompt内容,逐步进行推理。建议仅在数学计算、逻辑推理等场景下开启使用 |
payload | int | 各类型优化算子对应的输入参数,说明: (1)当opType值为3,该字段取值1或2 (2)当opType值为1、2或4时,该字段可选值如下: · 1:开启 · 0:关闭 |
响应说明
名称 | 类型 | 描述 |
---|---|---|
log_id | string | 操作记录id |
result | object | 返回结果 |
status | int | 状态码 |
success | bool | 是否操作成功,说明: · true:成功 · false:失败 |
result说明
名称 | 类型 | 描述 |
---|---|---|
id | string | prompt优化任务id |
请求示例
# 替换下列示例中的Authorization值、x-bce-date值
curl -i --location 'https://qianfan.baidubce.com/wenxinworkshop/prompt/singleOptimize/create' \
--header 'Authorization: bce-auth-v1/f0ee7axxxx/2023-09-19T13:42:13Z/180000/host;x-bce-date/9a8cfb8ee58a8fxxxxxx3d080016e374525543' \
--header 'x-bce-date: 2023-09-19T13:37:10Z' \
--header 'Content-Type: application/json' \
--data '{
"content": "老虎的习性{type}是什么样的",
"operations": [
{
"opType": 1,
"payload": 1
},
{
"opType": 2,
"payload": 1
},
{
"opType": 3,
"payload": 1
},
{
"opType": 4,
"payload": 0
}
],
"appID": 1483416585,
"serviceName": "ERNIE-Bot-turbo"
}'
响应示例
{
"log_id": "sfcie8dcxyat7mwy",
"result": {
"id": "task-h5ifxxxxx9tp5p"
},
"status": 200,
"success": true
}
错误码
若请求错误,服务器将返回的JSON文本包含以下参数:
名称 | 描述 |
---|---|
error_code | 错误码 |
error_msg | 错误描述信息,帮助理解和解决发生的错误 |
例如参数错误返回:
{
"error_code": 500001,
"error_msg": "param invalid"
}
更多相关错误码,请查看错误码说明。