使用 Vertex AI in Firebase SDK 从应用中调用 Gemini API 时,您可以提示 Gemini 模型根据多模态输入生成文本。多模态提示可以包含多种模态(或输入类型),例如文本以及图片、PDF、纯文本文件、视频和音频。
在每个多模态请求中,您都必须提供以下内容:
文件的
mimeType
。了解每个输入文件支持的 MIME 类型。文件。您可以将文件作为内嵌数据(如本页所示)提供,也可以使用其网址或 URI 提供。
如需测试和迭代多模态提示,我们建议使用 Vertex AI Studio。
准备工作
如果您尚未完成入门指南,请先完成该指南。该指南介绍了如何设置 Firebase 项目、将应用连接到 Firebase、添加 SDK、初始化 Vertex AI 服务以及创建 GenerativeModel
实例。
根据文本和单张图片生成文本 根据文本和多张图片生成文本 根据文本和视频生成文本
媒体文件示例
如果您还没有媒体文件,可以使用以下公开提供的文件。由于这些文件存储在不在 Firebase 项目中的存储分区中,因此您需要为网址使用 https://storage.googleapis.com/BUCKET_NAME/PATH/TO/FILE
格式。
图片:
https://storage.googleapis.com/cloud-samples-data/generative-ai/image/scones.jpg
,MIME 类型为image/jpeg
。查看或下载此图片。PDF:
https://storage.googleapis.com/cloud-samples-data/generative-ai/pdf/2403.05530.pdf
,MIME 类型为application/pdf
。查看或下载此 PDF 文件。视频:
https://storage.googleapis.com/cloud-samples-data/video/animals.mp4
,MIME 类型为video/mp4
。观看或下载此视频。音频:
https://storage.googleapis.com/cloud-samples-data/generative-ai/audio/pixel.mp3
,MIME 类型为audio/mp3
。收听或下载此音频。
根据文本和单张图片生成文本
在尝试此示例之前,请确保您已完成本指南的准备工作部分。
您可以使用包含文本和单个文件(例如图片,如本例所示)的多模态提示调用 Gemini API。对于这些调用,您需要使用支持提示中媒体的模型(例如 Gemini 2.0 Flash)。
请务必查看输入文件的要求和建议。
选择是流式传输回答 (generateContentStream
),还是等待系统生成完整结果 (generateContent
)。
在线播放
您可以通过不等待模型生成的完整结果,而是使用流式处理部分结果,从而实现更快的互动。
不流式传输
或者,您也可以等待整个结果,而不是流式传输;只有在模型完成整个生成过程后,才会返回结果。
根据文本和多张图片生成文本
在尝试此示例之前,请确保您已完成本指南的准备工作部分。
您可以使用包含文本和多个文件(例如图片,如本例所示)的多模态提示调用 Gemini API。对于这些调用,您需要使用支持提示中媒体的模型(例如 Gemini 2.0 Flash)。
请务必查看输入文件的要求和建议。
选择是流式传输回答 (generateContentStream
),还是等待系统生成完整结果 (generateContent
)。
在线播放
您可以通过不等待模型生成的完整结果,而是使用流式处理部分结果,从而实现更快的互动。
不流式传输
或者,您也可以等待整个结果,而不是流式传输;只有在模型完成整个生成过程后,才会返回结果。
通过文本和视频生成文本
在尝试此示例之前,请确保您已完成本指南的准备工作部分。
您可以使用包含文本和视频文件的多模态提示调用 Gemini API(如此示例所示)。对于这些调用,您需要使用支持提示中媒体内容的模型(例如 Gemini 2.0 Flash)。
请务必查看输入文件的要求和建议。
选择是流式传输回答 (generateContentStream
),还是等待系统生成完整结果 (generateContent
)。
在线播放
您可以通过不等待模型生成的完整结果,而是使用流式处理部分结果,从而实现更快的互动。
不流式传输
或者,您也可以等待整个结果,而不是流式传输;只有在模型完成整个生成过程后,才会返回结果。
输入文件的要求和建议
如需了解以下内容,请参阅 Vertex AI Gemini API 支持的输入文件和要求:
- 在请求中提供文件的不同方法
- 支持的文件类型
- 支持的 MIME 类型以及如何指定这些类型
- 文件和多模态请求的要求和最佳实践
您还可以执行以下操作
- 了解如何在向模型发送长提示之前计算令牌数。
- 设置 Cloud Storage for Firebase,以便在多模式请求中添加大型文件,并获得更可控的解决方案,以便在问题中提供文件。 文件可以是图片、PDF、视频和音频。
- 开始考虑为正式版做好准备,包括设置 Firebase App Check,以保护 Gemini API 免遭未经授权的客户端滥用。 此外,请务必查看正式版核对清单。
试用其他功能
- 构建多轮对话(聊天)。
- 根据纯文本提示生成文本。
- 从文本和多模态提示生成结构化输出(例如 JSON)。
- 根据文本提示生成图片。
- 使用函数调用将生成式模型连接到外部系统和信息。
了解如何控制内容生成
- 了解提示设计,包括最佳实践、策略和示例提示。
- 配置模型参数,例如温度和输出 token 数上限(适用于 Gemini)或宽高比和人物生成(适用于 Imagen)。
- 使用安全设置来调整收到可能被视为有害的回答的可能性。
详细了解支持的模型
了解适用于各种用例的模型及其配额和价格。提供有关 Vertex AI in Firebase 使用体验的反馈