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


本页介绍了一些服务器提示模板最佳实践和注意事项,包括尚未支持的功能。请注意,其中许多功能仅在服务器提示模板的初始版本中不可用,因此请查看版本说明以了解最新动态!

最佳做法

管理模板中也详细介绍了许多此类最佳实践。

对模板进行版本控制

保护您的模板

  • 在投入生产之前锁定模板。并避免修改生产环境中使用的模板。

    • 锁定模板可防止意外修改,但锁定会完全阻止修改。拥有相应权限的项目成员可以随时解锁模板以进行修改。

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

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

    • 有助于防范提示注入。
    • 有助于确保请求成功,并获得预期的响应。

尚不支持的功能

许多尚不支持的功能仅在初始版本中无法使用,因此请查看版本说明以了解最新动态!

Firebase AI Logic 尚未支持的功能

服务器提示模板尚支持 Firebase AI Logic 的以下功能。其中一些功能即将推出!

  • 聊天
  • 使用工具(包括函数调用和依托 Google 搜索进行接地)
  • 使用 Gemini 模型对图片进行迭代修改(聊天)(需要聊天)
  • 使用 Imagen 模型编辑图片
  • 双向流式传输 (Gemini Live API)
  • 混合设备端
  • 将输出限制为枚举列表
  • 配置与思考相关的设置
  • 配置安全设置

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

Dotprompt 尚未支持的常见元素

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

  • 在 YAML 前言中为输入和输出架构使用 JSON 架构规范

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

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

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

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

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

其他注意事项

  • 默认情况下,当您在 Firebase 控制台中使用引导式界面时,我们会为 Firebase AI Logic 在所有可用区域中预配模板。如果您使用 Vertex AI Gemini API,并且您的使用情形需要基于位置的限制,则可以使用 REST API 为模板指定位置

  • 如果您想以文件形式提供服务器提示模板(而不是使用 Firebase 控制台的引导式界面),可以使用 REST API。请注意,服务器提示模板支持在应用代码中定义并传递到模板中的架构。

  • 即使模板位于服务器上,它也无法直接与 Firebase 项目的其他服务器端资源(例如数据库)互动,Cloud Storage for Firebase 网址(可作为输入变量提供)除外。