支持的模型
下表列出了支持文档理解的模型:
模型 | PDF 模态详情 |
---|---|
Gemini 1.5 Flash 转到 Gemini 1.5 Flash 模型卡片 |
每个提示的页面数量上限:300 PDF 文件大小上限:30 MB |
Gemini 1.5 Pro 前往 Gemini 1.5 Pro 模型卡片 |
每个提示的页面数量上限:300 PDF 文件大小上限:30 MB |
Gemini 1.0 Pro Vision 前往 Gemini 1.0 Pro Vision 模型卡片 |
每个提示的页面数量上限:16 PDF 文件大小上限:30 MB |
如需查看 Gemini 模型支持的语言列表,请参阅 Google 模型的模型信息。如需详细了解如何设计多模态提示,请参阅设计多模态提示。如果您正在寻找一种直接在移动应用和 Web 应用中使用 Gemini 的方法,请查看适用于 Android、Swift 和 Web 的 Google AI SDK。
在请求中添加文档
您可以在向 Gemini 发出的请求中添加单个 PDF。
单个 PDF 文件
以下标签页展示了如何使用 Python SDK 在提示请求中添加 PDF 文件。此 PDF 文件示例适用于所有 Gemini 多模态模型。
Python
如需了解如何安装或更新 Python 版 Vertex AI SDK,请参阅安装 Python 版 Vertex AI SDK。如需了解详情,请参阅 Python 版 Vertex AI SDK API 参考文档。
流式回答和非流式回答
您可以选择模型是生成流式回答还是非流式回答。流式传输涉及在生成对提示的回答时接收这些回答。也就是说,只要模型生成输出词元,就会发送这些输出词元。只有在生成所有输出词元后,才会发送对提示的非流式回答。
对于流式回答,请使用 generate_content
中的 stream
参数。
response = model.generate_content(contents=[...], stream = True)
对于非流式回答,请移除该参数或将参数设置为 False
。
示例代码
Java
在尝试此示例之前,请按照《Vertex AI 快速入门》中的 Java 设置说明执行操作。如需了解详情,请参阅适用于 Gemini 的 Vertex AI Java SDK 参考文档。
如需向 Vertex AI 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
流式回答和非流式回答
您可以选择模型是生成流式回答还是非流式回答。流式传输涉及在生成对提示的回答时接收这些回答。也就是说,只要模型生成输出词元,就会发送这些输出词元。只有在生成所有输出词元后,才会发送对提示的非流式回答。
对于流式回答,请使用 generateContentStream
方法。
public ResponseStreamgenerateContentStream(Content content)
对于非流式回答,请使用 generateContent
方法。
public GenerateContentResponse generateContent(Content content)
示例代码
Node.js
在尝试此示例之前,请按照《生成式 AI 快速入门:使用 Node.js SDK》中的 Node.js 设置说明执行操作。如需了解详情,请参阅适用于 Gemini 的 Node.js SDK 参考文档。
如需向 Vertex AI 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
流式回答和非流式回答
您可以选择模型是生成流式回答还是非流式回答。流式传输涉及在生成对提示的回答时接收这些回答。也就是说,只要模型生成输出词元,就会发送这些输出词元。只有在生成所有输出词元后,才会发送对提示的非流式回答。
对于流式回答,请使用 generateContentStream
方法。
const streamingResp = await generativeModel.generateContentStream(request);
对于非流式回答,请使用 generateContent
方法。
const streamingResp = await generativeModel.generateContent(request);
示例代码
C#
在尝试此示例之前,请按照《Vertex AI 快速入门:使用客户端库》中的 C# 设置说明执行操作。 如需了解详情,请参阅 Vertex AI C# API 参考文档。
如需向 Vertex AI 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
设置模型参数
可以在多模态模型上设置以下模型参数:
Top-P
Top-P 可更改模型选择输出词元的方式。系统会按照概率从最高(见 top-K)到最低的顺序选择词元,直到所选词元的概率总和等于 top-P 的值。例如,如果词元 A、B 和 C 的概率分别为 0.3、0.2 和 0.1,并且 top-P 值为 0.5
,则模型将选择 A 或 B 作为下一个词元(通过温度确定),并会排除 C,将其作为候选词元。
指定较低的值可获得随机程度较低的回答,指定较高的值可获得随机程度较高的回答。
Top-K
Top-K 可更改模型选择输出词元的方式。如果 top-K 设为 1
,表示所选词元是模型词汇表的所有词元中概率最高的词元(也称为贪心解码)。如果 top-K 设为 3
,则表示系统将从 3 个概率最高的词元(通过温度确定)中选择下一个词元。
在每个词元选择步骤中,系统都会对概率最高的 top-K 词元进行采样。然后,系统会根据 top-P 进一步过滤词元,并使用温度采样选择最终的词元。
指定较低的值可获得随机程度较低的回答,指定较高的值可获得随机程度较高的回答。
温度
温度 (temperature) 在生成回复期间用于采样,在应用 topP
和 topK
时会生成回复。温度可以控制词元选择的随机性。
较低的温度有利于需要更少开放性或创造性回复的提示,而较高的温度可以带来更具多样性或创造性的结果。温度为 0
表示始终选择概率最高的词元。在这种情况下,给定提示的回复大多是确定的,但可能仍然有少量变化。
如果模型返回的回答过于笼统、过于简短,或者模型给出后备回答,请尝试提高温度。
有效的参数值
参数 | Gemini 1.0 Pro Vision | Gemini 1.5 Pro | Gemini 1.5 Flash |
---|---|---|---|
Top-K | 1 - 40(默认为 32) | 不支持 | 不支持 |
Top-P | 0 - 1.0(默认 1.0) | 0 - 1.0(默认 0.95) | 0 - 1.0(默认 0.95) |
温度 | 0 - 1.0(默认 0.4) | 0 - 2.0(默认 1.0) | 0 - 2.0(默认 1.0) |
文档要求
PDF 文件所需的 MIME 类型为 application/pdf
。
PDF 文件最佳实践
使用 PDF 文件时,请遵循以下最佳实践和信息以获得最佳结果:
- PDF 文件被视为图片,因此 PDF 文件的单页被视为一张图片。
- 支持的页面数取决于模型可以支持的图片数量。对于 Gemini 1.0 Pro Vision,上限为 16。对于 Gemini 1.5 Pro 和 Gemini 1.5 Flash,上限为 300。如果您的文档很长,请考虑将其拆分为多个 PDF 进行处理。
- 使用 PDF 作为输入时,费用遵循 Gemini 图片价格。例如,如果您在 Gemini API 调用中包含一个两页的 PDF 文件,则会产生处理两张图片的输入费用。
- 如果提示包含单个 PDF 文件,请将 PDF 文件放在文本提示前面。
- 使用以文本形式呈现的 PDF 文件,而不是使用扫描图片中的文本。此格式可确保文本是机器可读的,与扫描的图片 PDF 相比,文本更易于模型修改、搜索和操作。在使用合同等包含大量文本的文档时,这样可以提供最佳结果。
限制
虽然多模态 Gemini 模型在许多多模态应用场景中表现出强大功能,但了解模型的限制非常重要:
- 空间推理:模型在定位 PDF 中的文本或对象时并不精确。它们可能只返回对象数的近似值。
- 准确性:模型在解读 PDF 文档中的手写文字时可能会产生幻觉。
后续步骤
- 开始使用 Gemini 多模态模型进行构建 - 新客户可获享 $300 免费 Google Cloud 赠金,探索他们可以使用 Gemini 执行的操作。
- 了解如何发送聊天提示请求。
- 了解 Responsible AI 最佳实践和 Vertex AI 的安全过滤条件。