跳到主要内容

Prompt Template

使用 Prompt Template 流程组件来构造 Prompt,把指令和上下文独立于聊天消息、文件上传等其他输入之外单独组织起来。

Prompt 本质上是一种结构化输入,可以结合:

  • 自然语言说明
  • 固定值
  • 动态变量

它常用于:

  • 为用户问题定义一致的提示结构
  • 要求 LLM 按指定格式输出,例如 JSON 或结构化文本
  • 指定角色设定,例如 You are a helpful assistant
  • 让 LLM 能够引用聊天记忆

Prompt Template 组件还可以把变量化后的提示传递给流程中的其他组件。

Prompt Template 参数

名称显示名说明
templateTemplate输入参数。通过大括号声明动态变量,例如 {VARIABLE_NAME}

如果你的模板同时包含字面文本和变量,你可以使用双层花括号来转义字面花括号,从而避免该文本被解释为变量。 例如:This is a template with {{literal text in curly braces}} and a {variable}

promptPrompt Message输出参数。由 build_prompt 方法生成的提示消息。

在 Prompt 中定义变量

Prompt Template 中使用变量时,组件会根据模板中的变量动态增加输入字段,使流程可以从其他组件、SkillFlaw 全局变量或固定值中获取这些变量的定义。

例如,配合 Message History 组件,你可以使用 {memory} 变量把聊天历史注入提示词。 不过 Agent 组件本身默认就带有聊天记忆功能。 更多说明请参阅 Memory management options

以下步骤演示如何给 Prompt Template 添加变量:

  1. 基于 Basic prompting 模板创建一个流程
  2. 点击 Prompt Template 组件,在 Template 字段中加入变量
  3. 变量通过大括号声明,例如 {context}{user_question}

示例:


_10
Given the context:
_10
_10
{context}
_10
_10
Answer the question:
_10
_10
{user_question}

如果你的模板同时包含字面文本和变量,你可以使用双层花括号来转义字面花括号,从而避免该文本被解释为变量。 例如:This is a template with {{literal text in curly braces}} and a {variable}

  1. 点击 Check & Save 保存模板
  2. 保存后,组件会为每个变量自动生成一个新字段
  3. 你可以通过以下方式为这些变量提供值:
    • 连接其他组件输出
    • 使用 SkillFlaw 全局变量
    • 直接手动填写固定值

你可以定义任意数量的变量,例如:

  • {references}
  • {instructions}

并通过 Text InputURLRead File 等组件把内容传给它们。

另请参阅