使用 Vertex AI in Firebase SDK 从应用调用 Vertex AI Gemini API 时,您可以提示 Gemini 模型根据多模态输入生成文本。多模态提示可以包含多种模态(或多种输入类型),例如文本以及图片、PDF、视频和音频。
对于输入内容的非文本部分(例如媒体文件),您需要使用支持的文件类型,指定支持的 MIME 类型,并确保文件和多模态请求符合要求并遵循最佳实践。
本页面介绍了支持的 MIME 类型、最佳实践和限制:
针对 Vertex AI in Firebase SDK 的要求
对于 Vertex AI in Firebase SDK,总请求大小上限为 20 MB。如果请求过大,您会收到 HTTP 413 错误。
如果文件的大小会导致请求总大小超过 20 MB,请使用 Cloud Storage for Firebase 网址将文件添加到多模式请求中。
如果文件较小,您通常可以直接将其作为内嵌数据传递。不过请注意,以内嵌数据形式提供的文件会在传输过程中编码为 base64,这会增加请求的大小。如需查看有关如何将文件作为内嵌数据添加的示例,请参阅使用 Gemini API 根据多模态提示生成文本。
图片:要求、最佳做法和限制
图片:要求
在本部分中,您将了解图片支持的 MIME 类型以及每项请求的限制。
支持的 MIME 类型
Gemini 多模态模型支持以下图片 MIME 类型:
图片 Mime 类型 | Gemini 1.5 Flash | Gemini 1.5 Pro | Gemini 1.0 Pro Vision |
---|---|---|---|
PNG - image/png |
|||
JPEG - image/jpeg |
|||
WebP - image/webp |
每个请求的限额
对图片中的像素数量没有具体限制。不过,对于较大的图片,系统会将其缩小和填充,以适应 3072 x 3072 的最大分辨率,同时保留其原始宽高比。
以下是提示请求中允许的图片文件的数量上限:
- Gemini 1.0 Pro Vision:16 张图片
- Gemini 1.5 Flash 和 Gemini 1.5 Pro:3,000 张图片
图片:令牌化
以下是图片的令牌计算方式:
- Gemini 1.0 Pro Vision:每张图片分配 258 个词元。
- Gemini 1.5 Flash 和 Gemini 1.5 Pro:
- 如果图片的两个维度小于或等于 384 像素,则使用 258 个词元。
- 如果图片的某个维度大于 384 像素,则图片会被剪裁成图块。每个图块大小默认为最小维度(宽度或高度)除以 1.5。如有必要,系统会调整每个图块,使其不小于 256 像素且不大于 768 像素。随后系统会将每个图块的大小调整为 768x768,并使用 258 个词元。
图片:最佳实践
使用图片时,请遵循以下最佳实践和相关信息,以获得最佳效果:
- 如果您想要检测图片中的文本,则使用包含单张图片的提示可生成比包含多张图片的提示更好的结果。
- 如果提示包含单张图片,请将该图片放置在请求中的文本提示之前。
- 如果您的提示包含多个图片,并且您希望稍后在提示中引用这些图片,或者希望模型在模型响应中引用这些图片,则在图片之前为每张图片提供索引会有所帮助。对于索引,请使用
或a
b
c
。以下是在提示中使用已编入索引的图片的示例:image 1
image 2
image 3
image 1
image 2 image 3 Write a blogpost about my day using image 1 and image 2. Then, give me ideas for tomorrow based on image 3. - 使用分辨率更高的图片,这样可以获得更好的结果。
- 在提示中添加一些示例。
- 在将图片添加到提示之前,请先将图片旋转到适当的方向。
- 避免使用模糊的图片。
图片:限制
虽然多模态 Gemini 模型在许多多模态应用场景中表现出强大功能,但了解模型的限制非常重要:
- 内容审核:对于违反我们安全政策的图片,模型拒绝提供答案。
- 空间推理:此类模型在定位图片中的文本或对象方面不够精确。它们可能仅返回大致的对象数量。
- 医疗用途:此类模型不适合解读医学图片(例如 X 光片和 CT 扫描片)或提供医疗建议。
- 人物识别:这些模型不能用于识别图片中不是名人的人物。
- 准确率:模型在解释低质量、旋转或极低分辨率的图片时可能会出现幻觉或出错。在解读图片文档中的手写文本时,模型也可能会产生幻觉。
视频:要求、最佳做法和限制
视频:要求
在本部分中,您将了解支持的 MIME 类型和每个视频广告请求的限制。
支持的 MIME 类型
多模态 Gemini 模型支持以下视频 MIME 类型:
视频 MIME 类型 | Gemini 1.5 Flash | Gemini 1.5 Pro | Gemini 1.0 Pro Vision |
---|---|---|---|
FLV - video/x-flv |
|||
MOV - video/quicktime |
|||
MPEG - video/mpeg |
|||
MPEGPS - video/mpegps |
|||
MPG - video/mpg |
|||
MP4 - video/mp4 |
|||
WEBM - video/webm |
|||
WMV - video/wmv |
|||
3GPP - video/3gpp |
每个请求的限额
以下是提示请求中允许的视频文件数量上限:
- Gemini 1.0 Pro Vision:1 个视频文件
- Gemini 1.5 Flash 和 Gemini 1.5 Pro:10 个视频文件
视频:令牌化
视频广告词元的计算方式如下:
- 所有多模态 Gemini 模型:视频采用
1 帧/秒 (fps) 进行采样。每个视频帧占 258 个词元。 - Gemini 1.5 Flash 和 Gemini 1.5 Pro:音轨是通过视频帧编码的。音轨还会拆分为
时长 1 秒的主干 ,每个主干占 32 个词元。视频帧和音频词元与其时间戳交错在一起。时间戳表示为 7 个词元。
视频:最佳做法
使用视频时,请遵循以下最佳实践和信息以获得最佳结果:
- 如果提示包含单个视频,请将该视频放在文本提示前面。
- 如果需要对包含音频的视频进行时间戳本地化,请让模型生成
MM:SS
格式的时间戳,其中前两位数表示分钟,后两位数表示秒。对于询问时间戳的问题,请使用相同的格式。 如果您使用的是 Gemini 1.0 Pro Vision,请注意以下事项:
- 每个提示最多使用一个视频。
- 模型仅在视频的前两分钟内处理信息。
- 该模型将视频作为视频中的非连续图片帧处理。音频不包括音频。如果您发现该模型从视频中缺少某些内容,请尝试缩短视频,以便该模型捕获更多视频内容。
- 该模型不会处理任何音频信息或时间戳元数据。因此,在需要音频输入(例如为音频添加字幕)或时间相关信息(例如速度或节奏)的用例中,模型可能表现不佳。
视频:限制
虽然多模态 Gemini 模型在许多多模态应用场景中表现出强大功能,但了解模型的限制非常重要:
- 内容审核:模型拒绝对违反我们安全政策的视频提供回答。
- 非语音声音识别:支持音频的模型可能会在识别非语音声音时犯错。
- 高速运动:由于固定的
1 帧/秒 (fps) 采样率,因此模型在理解视频中的高速运动时可能会出错。 - 转写标点符号:(如果使用 Gemini 1.5 Flash)模型可能会返回不包含标点符号的转写内容。
音频:要求和限制
音频:要求
在本部分中,您将了解音频的支持 MIME 类型和每个请求的限制。
支持的 MIME 类型
多模态 Gemini 模型支持以下音频 MIME 类型:
音频 MIME 类型 | Gemini 1.5 Flash | Gemini 1.5 Pro |
---|---|---|
AAC - audio/aac |
||
FLAC - audio/flac |
||
MP3 - audio/mp3 |
||
MPA - audio/m4a |
||
MPEG - audio/mpeg |
||
MPGA - audio/mpga |
||
MP4 - audio/mp4 |
||
OPUS - audio/opus |
||
PCM - audio/pcm |
||
WAV - audio/wav |
||
WEBM - audio/webm |
每个请求的限额
您最多可以在提示请求中包含
音频:限制
虽然多模态 Gemini 模型在许多多模态应用场景中表现出强大功能,但了解模型的限制非常重要:
- 非语音声音识别:支持音频的模型可能会在识别非语音声音时犯错。
- 仅音频的时间戳:如需为仅音频文件准确生成时间戳,您必须在
generation_config
中配置audio_timestamp
参数。 - 转写标点符号:(如果使用 Gemini 1.5 Flash)模型可能会返回不包含标点符号的转写内容。
文件(如 PDF):要求、最佳做法和限制
文档:要求
在本部分中,您将了解支持的 MIME 类型和文档(如 PDF)每次请求所受的限制。
支持的 MIME 类型
Gemini 多模态模型支持以下文档 MIME 类型:
文档 MIME 类型 | Gemini 1.5 Flash | Gemini 1.5 Pro | Gemini 1.0 Pro Vision |
---|---|---|---|
PDF - application/pdf |
|||
文本 - text/plain |
每个请求的限额
PDF 被视为图片,因此一个 PDF 的单个页面被视为一张图片。问题中允许的页面数量取决于模型可以支持的图片数量:
- Gemini 1.0 Pro Vision:16 页
- Gemini 1.5 Pro 和 Gemini 1.5 Flash:1000 页
文档:令牌化
PDF 令牌化
PDF 被视为图片,因此 PDF 的每个页面都以与图片相同的方式进行词元化。
此外,PDF 的费用遵循 Gemini 图片价格。 例如,如果您在 Gemini API 调用中包含了一个两页的 PDF 文件,则需要为处理两张图片支付输入费用。
纯文本标记化
纯文本文档会作为文本进行标记化。例如,如果您在 Gemini API 调用中包含一个 100 个字词的纯文本文档,则需要支付处理 100 个字词的输入费用。
文档:最佳做法
使用 PDF 时,请遵循以下最佳实践和信息,以获得最佳结果:
- 如果提示包含一个 PDF,请将该 PDF 放置在请求中的文本提示之前。
- 如果您的文档很长,请考虑将其拆分为多个 PDF 进行处理。
- 使用以文本形式呈现的文本(而不是在扫描图片中使用文本)创建的 PDF。此格式可确保文本是机器可读的,因此与扫描的图片 PDF 相比,模型更容易编辑、搜索和操作。在处理包含大量文本的文档(如合同)时,这种做法可提供最佳结果。
文档:限制
虽然多模态 Gemini 模型在许多多模态应用场景中表现出强大功能,但了解模型的限制非常重要:
- 空间推理:模型在定位 PDF 中的文本或对象时并不精确。它们可能只返回对象数的近似值。
- 准确率:模型在解读 PDF 文档中手写文本时可能会出现幻觉。