模板的最佳实践和注意事项


本页介绍了一些最佳实践和注意事项 ,适用于服务器提示模板,包括 尚未支持的功能。请注意,随着服务器提示模板的发展,许多此类 功能将会推出,因此请查看 版本说明以了解最新动态!

最佳实践

许多最佳实践也在 管理模板中进行了详细介绍。

对模板进行版本控制

保护模板

  • 除非您已彻底测试更改,否则请避免修改在生产环境中使用的模板。

  • 在投入生产环境之前锁定模板。

    • 锁定模板可以防止意外修改,但 锁定 并不能 完全阻止修改。具有相应权限的项目成员始终可以解锁模板以进行修改。

    • 我们建议锁定代码(尤其是生产代码)正在使用的模板。

保护 Gemini API 的使用

  • 为输入变量编写强大的 输入验证 ,这有助于实现以下目标:

    • 有助于防范提示注入。
    • 有助于确保请求成功,并确保响应符合预期。
  • 为 Firebase 项目强制执行 仅限模板模式 ,以便通过 Firebase AI Logic发起的所有 Gemini API 请求都必须使用服务器提示模板。

服务器提示模板尚未支持的功能

随着服务器提示模板的发展,许多此类功能将会推出, 因此请查看版本说明以了解最新动态!

模板尚未支持的 Firebase AI Logic 功能

服务器提示模板尚未支持 Firebase AI Logic 的以下标准功能:

  • 双向流式传输 (Gemini Live API)
  • 混合或设备端推断
  • 将输出限制为枚举列表

另请注意,如果您在 Firebase 控制台中使用 AI 监控,则 模板 ID 尚未填充到任何记录中。

模板尚未支持的 Dotprompt 常见元素

服务器提示模板 可能很快 会支持 Dotprompt 的以下常见元素:

  • 在 frontmatter 中使用 JSON 架构规范 来定义输入和输出架构。

    • 请注意,非服务器模板请求也不支持此规范。 我们目前仅支持 OpenAPI 架构规范
  • 使用 * 声明通配符字段定义。

  • 使用 @key 或通常遍历对象输入的字段(这是 @key 相关的情况)。

  • 使用 @root,无论当前的 this 是什么,您都可以引用根变量上下文。

服务器提示模板 可能不会 支持 Dotprompt 的以下常见元素:

  • 使用局部模板,这些局部模板是可重用的模板代码段,可以包含在其他模板中。

其他注意事项