Skip to content

Jinja2 模板

系统(train)消息在每次请求前通过 Jinja2 模板渲染。这就是向 system prompt 注入记忆、配置与动态上下文的方式。

模板上下文

模板接收以下变量:

变量含义
train原始 train 消息
memory会话 MemoryModel(消息等)
chatobj当前 ChatObject
config运行时 AmritaConfig
jinja2_vars你的自定义变量(合并进来)
jinja2
You are a helpful assistant.
Today is {{ memory.metadata.today }}.
User prefers: {{ jinja2_vars.user_language }}

通过 ChatObject(..., jinja2_vars={...})agent.get_chatobject(..., jinja2_vars={...}) 传入自定义变量。

变量命名安全

你不能在 jinja2_vars 中使用与内置变量同名的键trainmemorychatobjconfig)——Python 会收到重复关键字参数并 抛 TypeError。请使用其他任何名字。

最佳实践

  • 保持模板小巧;把指令推入模板,而不是整段对话
  • config 变量按部署切换行为
  • 渲染错误会立即暴露——上线前用 工作流调试器 验证模板

下一步

异常排查——常见失败模式与修复。

Apache 2.0 许可证(一些内容可能没有完全翻译成中文,请以英文文档为准。)