本页介绍了一些服务器提示模板最佳实践和注意事项,包括尚未支持的功能。请注意,其中许多功能仅在服务器提示模板的初始版本中不可用,因此请查看版本说明以了解最新动态!
最佳做法
管理模板中也详细介绍了许多此类最佳实践。
对模板进行版本控制
创建附加了使用语义版本控制 (semver) 的版本的模板 ID。
使用 Firebase Remote Config,以便您可以轻松更改请求中的模板和其他值。
保护您的模板
在投入生产之前锁定模板。并避免修改生产环境中使用的模板。
锁定模板可防止意外修改,但锁定并不会完全阻止修改。拥有相应权限的项目成员可以随时解锁模板以进行修改。
我们建议锁定代码正在使用的模板,尤其是生产代码。
为输入变量编写强大的输入验证,这有助于实现以下目标:
- 有助于防范提示注入。
- 有助于确保请求成功,并获得预期的响应。
尚不支持的功能
许多尚不支持的功能仅在初始版本中无法使用,因此请查看版本说明以了解最新动态!
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 网址(可作为输入变量提供)除外。