本页介绍了一些最佳实践和注意事项 ,适用于服务器提示模板,包括 尚未支持的功能。请注意,随着服务器提示模板的发展,许多此类 功能将会推出,因此请查看 版本说明以了解最新动态!
最佳实践
许多最佳实践也在 管理模板中进行了详细介绍。
对模板进行版本控制
创建附加了使用 语义版本控制 (semver)的版本的模板 ID。
使用 Firebase Remote Config ,以便您可以轻松更改请求中的模板和其他值。
保护模板
除非您已彻底测试更改,否则请避免修改在生产环境中使用的模板。
在投入生产环境之前锁定模板。
锁定模板可以防止意外修改,但 锁定 并不能 完全阻止修改。具有相应权限的项目成员始终可以解锁模板以进行修改。
我们建议锁定代码(尤其是生产代码)正在使用的模板。
保护 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 的以下常见元素:
- 使用局部模板,这些局部模板是可重用的模板代码段,可以包含在其他模板中。
其他注意事项
默认情况下,当您在 Firebase 控制台中使用引导式界面时,我们会 为所有 可用区域预配模板,以用于 Firebase AI Logic。 如果您使用 Vertex AI Gemini API,并且您的用例需要 基于位置的限制,则可以使用 REST API 为模板指定位置 。
如果您想以文件形式提供服务器提示模板(而不是使用 Firebase 控制台的引导式界面),可以使用 REST API。请注意,服务器提示模板不支持在应用代码中定义并传递到模板的架构。
即使模板位于服务器上,它也无法 直接 与 Firebase 项目的其他服务器端资源(例如数据库)进行交互, 但 Cloud Storage for Firebase 网址除外(这些网址可以作为输入 变量提供)。