提示模板

使用提示模板,您可以在一个地方无缝创建和管理您的LLM提示,并仅通过API调用进行部署。Portkey上的提示模板旨在具备生产就绪状态 - Portkey会自动跟踪更改,维护版本,并为开发者和提示工程师提供极大的灵活性,以便快速实验而不影响生产环境。

如何使用提示模板

  • 在 Portkey 应用中,只需点击左侧的“Prompts”按钮,然后点击“Create”,一个新的空白操作区就会打开。

  • 在这里,您可以选择您所需的提供者和模型 - Portkey 支持来自 20 多个提供者的 visionchatcompletions 模型。此处的提供者选择与 虚拟密钥 相关,因此根据您拥有的虚拟密钥数量,您可能会看到同一提供者的多个选项。

  • 您可以编写用户/助手消息,并配置所有模型参数,如 top_pmax_tokenslogit_bias 等 - 直接通过用户界面进行设置。

  • Portkey 提示还支持启用 JSON Mode,以及编写 Tools/Functions 调用链。


模板引擎

Portkey 使用 Mustache 作为底层支持来驱动提示模板。

Mustache 是一种常用的无逻辑模板引擎,遵循简单的架构来定义变量等。

使用 Mustache,提示模板变得更加可扩展,允许您在提示模板中包含各种 {{tags}} 并轻松传递您的数据。

Mustache 模板最常见的用法是 {{variables}},用于在运行时传递值。

使用变量

让我们看一下以下模板:

如您所见,{{customer_data}}{{chat_query}} 在模板中被定义为变量,您可以在运行时传递它们的值:

使用变量只是开始!Portkey 支持多种 Mustache 标签,让您扩展模板功能:

支持的标签

标签
功能
示例

{{variable}}

变量

模板:

嗨!我的名字是 {{name}}。我在 {{company}} 工作。

数据:

输出: 嗨!我的名字是 Chris。我在 Github 工作。

{{#variable}} <string> {{/variable}}

仅当变量为 true非空 时渲染 <string>

模板: 你好,我是特斯拉机器人。 {{#chat_mode_pleasant}} 很高兴能和你聊天! {{/chat_mode_pleasant}}

我能帮你什么? 数据:

输出: 你好,我是特斯拉机器人。我能帮你什么?

{{^variable}} <string>

{{/variable}}

仅当变量为 false 时渲染 <string>

模板: 你好,我是特斯拉机器人。 {{^chat_mode_pleasant}} 很高兴能和你聊天! {{/chat_mode_pleasant}}

我能帮你什么? 数据:

输出: 你好,我是特斯拉机器人。很高兴能和你聊天!我能帮你什么?

{{#variable}} {{sub_variable}} {{/variable}}

如果变量为 true非空,则迭代渲染所有 sub_variable 的值

模板: 给出以下元素的原子符号: {{#variable}} - {{sub_variable}} {{/variable}}

数据:

输出: 给出以下元素的原子符号: - Gold - Carbon - Zinc

{{! Comment}}

被忽略的注释

模板: 你好,我是特斯拉机器人。 {{! 标签是如何工作的?}}

我能帮你什么? 数据:

输出: 你好,我是特斯拉机器人。我能帮你什么?

{{>Partials}}

可以在运行时调用的“迷你模板”。

在 Portkey 上,您可以单独保存部分模板,并通过输入 {{> 在您的提示模板中调用它们。

模板: 你好,我是特斯拉机器人。 {{>pp-tesla-template}}

我能帮你什么? 数据在pp-tesla-template中:

输出: 你好,我是特斯拉机器人。从 {{context}} 获取上下文。并回答用户问题。我能帮你什么?

{{>>Partial Variables}}

通过创建带有双 >> 的标签,将您私下保存的部分传递给 Portkey 例如: {{>> }} 如果您不想将部分保存在 Portkey 中,而是在其他地方维护它们,这将很有帮助

模板: 你好,我是特斯拉机器人。 {{>>My Private Partial}}

我能帮你什么?

使用标签

您可以直接将包含所有变量/标签信息的数据对象(以 JSON 格式)传递给 Portkey 的 prompts.completions 方法,并使用 variables 属性。

例如,这里是一个包含 AI 支持机器人关键指令的提示部分:

提示模板使用部分如下:

我们可以将数据对象传递到变量中:


版本控制提示

每当您对提示模板进行更改时,Portkey 会在浏览器中保存您的更改 这些更改 不会推送 到 Portkey。您可以点击右上角的 更新 按钮,将最新版本的提示保存到 Portkey。

您可以在游乐场的右侧列中查看 所有 提示版本:

您可以通过点击省略号来 恢复发布 任何以前的版本。

发布提示

更新提示不会自动更新您在生产中的提示。在更新时,您可以勾选 发布提示更改,这也将把您的提示部署更新到最新版本。

Last updated