支持的模型
下表列出了支持视频理解的模型:
模型 | 视频模态详细信息 |
---|---|
Gemini 1.5 Flash 前往 Gemini 1.5 Flash 模型卡片 |
视频时长上限:
每个问题的视频数量上限:10 |
Gemini 1.5 Pro 前往 Gemini 1.5 Pro 模型卡片 |
视频时长上限:
每个问题的视频数量上限:10 |
Gemini 1.0 Pro Vision 前往 Gemini 1.0 Pro Vision 模型卡片 |
视频时长上限:2 分钟 每个问题的视频数量上限:1 视频中的音频会被忽略。 |
如需查看 Gemini 模型支持的语言列表,请参阅 Google 模型的模型信息。如需详细了解如何设计多模态提示,请参阅设计多模态提示。如果您正在寻找一种直接在移动应用和 Web 应用中使用 Gemini 的方法,请参阅适用于 Android、Swift、Web 和 Flutter 应用的 Vertex AI in Firebase SDK。
向请求添加视频
您可以在向 Gemini 发送的请求中添加单个或多个视频,并且视频可以包含音频。
单个视频
以下各个标签页中的示例代码展示了标识视频中内容的不同方式。此示例适用于所有多模态 Gemini 模型。
Python
如需了解如何安装或更新 Vertex AI SDK for Python,请参阅安装 Vertex AI SDK for Python。如需了解详情,请参阅 Vertex AI SDK for Python 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 ResponseStream<GenerateContentResponse> generateContentStream(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);
示例代码
Go
在尝试此示例之前,请按照《Vertex AI 快速入门》中的 Go 设置说明执行操作。如需了解详情,请参阅适用于 Gemini 的 Vertex AI Go SDK 参考文档。
如需向 Vertex AI 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
流式回答和非流式回答
您可以选择模型是生成流式回答还是非流式回答。 对于流式回答,您将在生成每个响应的输出词元后立即收到响应。对于非流式回答,您会在生成所有输出词元之后收到所有回答。
对于流式回答,请使用 GenerateContentStream
方法。
iter := model.GenerateContentStream(ctx, genai.Text("Tell me a story about a lumberjack and his giant ox. Keep it very short."))
对于非流式回答,请使用 GenerateContent
方法。
resp, err := model.GenerateContent(ctx, genai.Text("What is the average size of a swallow?"))
示例代码
C#
在尝试此示例之前,请按照《Vertex AI 快速入门》中的 C# 设置说明执行操作。如需了解详情,请参阅 Vertex AI C# 参考文档。
如需向 Vertex AI 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
流式回答和非流式回答
您可以选择模型是生成流式回答还是非流式回答。 对于流式回答,您将在生成每个响应的输出词元后立即收到响应。对于非流式回答,您会在生成所有输出词元之后收到所有回答。
对于流式回答,请使用 StreamGenerateContent
方法。
public virtual PredictionServiceClient.StreamGenerateContentStream StreamGenerateContent(GenerateContentRequest request)
对于非流式回答,请使用 GenerateContentAsync
方法。
public virtual Task<GenerateContentResponse> GenerateContentAsync(GenerateContentRequest request)
如需详细了解服务器如何流式传输回答,请参阅流式传输 RPC。
示例代码
REST
设置您的环境后,您可以使用 REST 测试文本提示。以下示例会向发布方模型端点发送请求。
在使用任何请求数据之前,请先进行以下替换:
LOCATION
:处理请求的区域。输入支持的区域。如需查看支持的区域的完整列表,请参阅可用位置。点击即可展开可用区域的部分列表
us-central1
us-west4
northamerica-northeast1
us-east4
us-west1
asia-northeast3
asia-southeast1
asia-northeast1
PROJECT_ID
:您的项目 ID。FILE_URI
:要包含在提示中的文件的 URI 或网址。可接受的值包括:- Cloud Storage 存储桶 URI:对象必须可公开读取,或者位于发送请求的同一 Google Cloud 项目中。
- HTTP 网址:文件网址必须可公开读取。您可以为每个请求指定一个视频文件和最多 10 个图片文件。音频文件和文档的大小不得超过 15 MB。
- YouTube 视频网址:YouTube 视频必须由您用于登录 Google Cloud 控制台的账号所拥有,或者是公开的。每个请求仅支持一个 YouTube 视频网址。
指定
fileURI
时,您还必须指定文件的媒体类型 (mimeType
)。如果您在 Cloud Storage 中没有视频文件,则可以使用以下可公开访问的文件:
gs://cloud-samples-data/video/animals.mp4
,其 MIME 类型为video/mp4
。要观看此视频,请打开示例 MP4 文件。MIME_TYPE
:在data
或fileUri
字段中指定的文件的媒体类型。可接受的值包括:点击即可展开 MIME 类型
application/pdf
audio/mpeg
audio/mp3
audio/wav
image/png
image/jpeg
image/webp
text/plain
video/mov
video/mpeg
video/mp4
video/mpg
video/avi
video/wmv
video/mpegps
video/flv
TEXT
:要包含在提示中的文本说明。 例如What is in the video?
如需发送请求,请选择以下方式之一:
curl
将请求正文保存在名为 request.json
的文件中。在终端中运行以下命令,在当前目录中创建或覆盖此文件:
cat > request.json << 'EOF' { "contents": { "role": "USER", "parts": [ { "fileData": { "fileUri": "FILE_URI", "mimeType": "MIME_TYPE" } }, { "text": "TEXT" } ] } } EOF
然后,执行以下命令以发送 REST 请求:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/gemini-1.5-flash:generateContent"
PowerShell
将请求正文保存在名为 request.json
的文件中。在终端中运行以下命令,在当前目录中创建或覆盖此文件:
@' { "contents": { "role": "USER", "parts": [ { "fileData": { "fileUri": "FILE_URI", "mimeType": "MIME_TYPE" } }, { "text": "TEXT" } ] } } '@ | Out-File -FilePath request.json -Encoding utf8
然后,执行以下命令以发送 REST 请求:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/gemini-1.5-flash:generateContent" | Select-Object -Expand Content
您应该收到类似以下内容的 JSON 响应。
请注意此示例网址中的以下内容:- 使用
generateContent
方法请求在回答完全生成后返回回答。 为了降低真人观众对于延迟的感知度,请使用streamGenerateContent
方法在生成回答时流式传输回答。 - 多模态模型 ID 位于网址末尾且位于方法之前(例如
gemini-1.5-flash
或gemini-1.0-pro-vision
)。此示例可能还支持其他模型。
控制台
如需使用 Google Cloud 控制台发送多模态提示,请执行以下操作:在 Google Cloud 控制台的 Vertex AI 部分中,进入 Vertex AI Studio 页面。
点击打开自由格式模式。
可选:配置模型和参数:
- 模型:选择一个模型。
- 区域:选择您要使用的区域。
温度:使用滑块或文本框输入温度值。
温度 (temperature) 在生成回复期间用于采样,在应用
topP
和topK
时会生成回复。温度可以控制词元选择的随机性。 较低的温度有利于需要更少开放性或创造性回复的提示,而较高的温度可以带来更具多样性或创造性的结果。温度为0
表示始终选择概率最高的词元。在这种情况下,给定提示的回复大多是确定的,但可能仍然有少量变化。如果模型返回的回答过于笼统、过于简短,或者模型给出后备回答,请尝试提高温度。
输出 token 限制:使用滑块或文本框输入输出上限值。
回复中可生成的词元数量上限。词元约为 4 个字符。100 个词元对应大约 60-80 个单词。
指定较低的值可获得较短的回答,指定较高的值可获得可能较长的回答。
添加停止序列:可选。输入停止序列,即包含空格的一系列字符。如果模型遇到停止序列,则回答生成会停止。停止序列不包含在回答中,您最多可以添加五个停止序列。
可选:如需配置高级参数,请点击高级,然后按如下方式进行配置:
点击即可展开高级配置
Top-K:使用滑块或文本框输入 top-K 值。 (Gemini 1.5 不支持)。
Top-K 可更改模型选择输出词元的方式。如果 top-K 设为1
,表示所选词元是模型词汇表的所有词元中概率最高的词元(也称为贪心解码)。如果 top-K 设为3
,则表示系统将从 3 个概率最高的词元(通过温度确定)中选择下一个词元。在每个词元选择步骤中,系统都会对概率最高的 top-K 词元进行采样。然后,系统会根据 top-P 进一步过滤词元,并使用温度采样选择最终的词元。
指定较低的值可获得随机程度较低的回答,指定较高的值可获得随机程度较高的回答。
- Top-P:使用滑块或文本框输入 top-P 值。
系统会按照概率从最高到最低的顺序选择词元,直到所选词元的概率总和等于 top-P 的值。如需获得数量最小的变量结果,请将 top-P 设置为
0
。 - 回答数量上限:使用滑块或文本框输入要生成的回答数量的值。
- 流式回答:启用此选项可在生成回答时输出回答。
- 安全过滤器阈值:选择您看到可能有害的回答的可能性的阈值。
- 启用接地:多模态提示不支持接地。
点击插入媒体,然后为文件选择一个来源。
上传
选择您要上传的文件,然后点击打开。
通过网址
输入要使用的文件的网址,然后点击插入。
YouTube
输入您要使用的 YouTube 视频的网址,然后点击插入。
您可以使用任何公开视频或由您用于登录 Google Cloud 控制台的账号所拥有的视频。
Cloud Storage
选择存储桶,接着从存储桶选择您要导入的文件,然后点击选择。
Google 云端硬盘
- 选择一个账号,并在您首次选择此选项时同意 Vertex AI Studio 访问您的账号。您可以上传多个文件,但总大小不得超过 10 MB。单个文件的大小不能超过 7 MB。
- 点击要添加的文件。
点击选择。
文件缩略图会显示在提示窗格中。 系统还会显示 token 总数。如果提示数据超过 token 限制,则 token 会被截断,并且不会用于处理数据。
在提示窗格中输入文本提示。
可选:如需查看 Token ID 到文本和 Token ID,请点击提示窗格中的 token 数量。
点击提交。
可选:如需将提示保存到我的提示,请点击
保存。可选:如需获取提示的 Python 代码或 curl 命令,请点击
获取代码。
带音频的视频
下面展示了如何总结包含音频的视频文件,并返回带有时间戳的章节。此示例仅适用于 Gemini 1.5 Pro。
Python
如需了解如何安装或更新 Python 版 Vertex AI SDK,请参阅安装 Python 版 Vertex AI SDK。如需了解详情,请参阅 Vertex AI SDK for Python 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 ResponseStream<GenerateContentResponse> generateContentStream(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);
示例代码
Go
在尝试此示例之前,请按照《Vertex AI 快速入门》中的 Go 设置说明执行操作。如需了解详情,请参阅适用于 Gemini 的 Vertex AI Go SDK 参考文档。
如需向 Vertex AI 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
流式回答和非流式回答
您可以选择模型是生成流式回答还是非流式回答。 对于流式回答,您将在生成每个响应的输出词元后立即收到响应。对于非流式回答,您会在生成所有输出词元之后收到所有回答。
对于流式回答,请使用 GenerateContentStream
方法。
iter := model.GenerateContentStream(ctx, genai.Text("Tell me a story about a lumberjack and his giant ox. Keep it very short."))
对于非流式回答,请使用 GenerateContent
方法。
resp, err := model.GenerateContent(ctx, genai.Text("What is the average size of a swallow?"))
示例代码
C#
在尝试此示例之前,请按照《Vertex AI 快速入门》中的 C# 设置说明执行操作。如需了解详情,请参阅 Vertex AI C# 参考文档。
如需向 Vertex AI 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
流式回答和非流式回答
您可以选择模型是生成流式回答还是非流式回答。 对于流式回答,您将在生成每个响应的输出词元后立即收到响应。对于非流式回答,您会在生成所有输出词元之后收到所有回答。
对于流式回答,请使用 StreamGenerateContent
方法。
public virtual PredictionServiceClient.StreamGenerateContentStream StreamGenerateContent(GenerateContentRequest request)
对于非流式回答,请使用 GenerateContentAsync
方法。
public virtual Task<GenerateContentResponse> GenerateContentAsync(GenerateContentRequest request)
如需详细了解服务器如何流式传输回答,请参阅流式传输 RPC。
示例代码
REST
设置您的环境后,您可以使用 REST 测试文本提示。以下示例会向发布方模型端点发送请求。
在使用任何请求数据之前,请先进行以下替换:
LOCATION
:处理请求的区域。输入支持的区域。如需查看支持的区域的完整列表,请参阅可用位置。点击即可展开可用区域的部分列表
us-central1
us-west4
northamerica-northeast1
us-east4
us-west1
asia-northeast3
asia-southeast1
asia-northeast1
PROJECT_ID
:您的项目 ID。FILE_URI
:要包含在提示中的文件的 URI 或网址。可接受的值包括:- Cloud Storage 存储桶 URI:对象必须可公开读取,或者位于发送请求的同一 Google Cloud 项目中。
- HTTP 网址:文件网址必须可公开读取。您可以为每个请求指定一个视频文件和最多 10 个图片文件。音频文件和文档的大小不得超过 15 MB。
- YouTube 视频网址:YouTube 视频必须由您用于登录 Google Cloud 控制台的账号所拥有,或者是公开的。每个请求仅支持一个 YouTube 视频网址。
指定
fileURI
时,您还必须指定文件的媒体类型 (mimeType
)。如果您在 Cloud Storage 中没有视频文件,则可以使用以下可公开访问的文件:
gs://cloud-samples-data/generative-ai/video/pixel8.mp4
,其 MIME 类型为video/mp4
。要观看此视频,请打开示例 MP4 文件。MIME_TYPE
:在data
或fileUri
字段中指定的文件的媒体类型。可接受的值包括:点击即可展开 MIME 类型
application/pdf
audio/mpeg
audio/mp3
audio/wav
image/png
image/jpeg
image/webp
text/plain
video/mov
video/mpeg
video/mp4
video/mpg
video/avi
video/wmv
video/mpegps
video/flv
要包含在提示中的文本说明。例如,TEXT
Provide a description of the video. The description should also contain anything important which people say in the video.
如需发送请求,请选择以下方式之一:
curl
将请求正文保存在名为 request.json
的文件中。在终端中运行以下命令,在当前目录中创建或覆盖此文件:
cat > request.json << 'EOF' { "contents": { "role": "USER", "parts": [ { "fileData": { "fileUri": "FILE_URI", "mimeType": "MIME_TYPE" } }, { "text": "TEXT" } ] } } EOF
然后,执行以下命令以发送 REST 请求:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/gemini-1.5-flash:generateContent"
PowerShell
将请求正文保存在名为 request.json
的文件中。在终端中运行以下命令,在当前目录中创建或覆盖此文件:
@' { "contents": { "role": "USER", "parts": [ { "fileData": { "fileUri": "FILE_URI", "mimeType": "MIME_TYPE" } }, { "text": "TEXT" } ] } } '@ | Out-File -FilePath request.json -Encoding utf8
然后,执行以下命令以发送 REST 请求:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/gemini-1.5-flash:generateContent" | Select-Object -Expand Content
您应该收到类似以下内容的 JSON 响应。
请注意此示例网址中的以下内容:- 使用
generateContent
方法请求在回答完全生成后返回回答。 为了降低真人观众对于延迟的感知度,请使用streamGenerateContent
方法在生成回答时流式传输回答。 - 多模态模型 ID 位于网址末尾且位于方法之前(例如
gemini-1.5-flash
或gemini-1.0-pro-vision
)。此示例可能还支持其他模型。
控制台
如需使用 Google Cloud 控制台发送多模态提示,请执行以下操作:在 Google Cloud 控制台的 Vertex AI 部分中,进入 Vertex AI Studio 页面。
点击打开自由格式模式。
可选:配置模型和参数:
- 模型:选择一个模型。
- 区域:选择您要使用的区域。
温度:使用滑块或文本框输入温度值。
温度 (temperature) 在生成回复期间用于采样,在应用
topP
和topK
时会生成回复。温度可以控制词元选择的随机性。 较低的温度有利于需要更少开放性或创造性回复的提示,而较高的温度可以带来更具多样性或创造性的结果。温度为0
表示始终选择概率最高的词元。在这种情况下,给定提示的回复大多是确定的,但可能仍然有少量变化。如果模型返回的回答过于笼统、过于简短,或者模型给出后备回答,请尝试提高温度。
输出 token 限制:使用滑块或文本框输入输出上限值。
回复中可生成的词元数量上限。词元约为 4 个字符。100 个词元对应大约 60-80 个单词。
指定较低的值可获得较短的回答,指定较高的值可获得可能较长的回答。
添加停止序列:可选。输入停止序列,即包含空格的一系列字符。如果模型遇到停止序列,则回答生成会停止。停止序列不包含在回答中,您最多可以添加五个停止序列。
可选:如需配置高级参数,请点击高级,然后按如下方式进行配置:
点击即可展开高级配置
Top-K:使用滑块或文本框输入 top-K 值。 (Gemini 1.5 不支持)。
Top-K 可更改模型选择输出词元的方式。如果 top-K 设为1
,表示所选词元是模型词汇表的所有词元中概率最高的词元(也称为贪心解码)。如果 top-K 设为3
,则表示系统将从 3 个概率最高的词元(通过温度确定)中选择下一个词元。在每个词元选择步骤中,系统都会对概率最高的 top-K 词元进行采样。然后,系统会根据 top-P 进一步过滤词元,并使用温度采样选择最终的词元。
指定较低的值可获得随机程度较低的回答,指定较高的值可获得随机程度较高的回答。
- Top-P:使用滑块或文本框输入 top-P 值。
系统会按照概率从最高到最低的顺序选择词元,直到所选词元的概率总和等于 top-P 的值。如需获得数量最小的变量结果,请将 top-P 设置为
0
。 - 回答数量上限:使用滑块或文本框输入要生成的回答数量的值。
- 流式回答:启用此选项可在生成回答时输出回答。
- 安全过滤器阈值:选择您看到可能有害的回答的可能性的阈值。
- 启用接地:多模态提示不支持接地。
点击插入媒体,然后为文件选择一个来源。
上传
选择您要上传的文件,然后点击打开。
通过网址
输入要使用的文件的网址,然后点击插入。
YouTube
输入您要使用的 YouTube 视频的网址,然后点击插入。
您可以使用任何公开视频或由您用于登录 Google Cloud 控制台的账号所拥有的视频。
Cloud Storage
选择存储桶,接着从存储桶选择您要导入的文件,然后点击选择。
Google 云端硬盘
- 选择一个账号,并在您首次选择此选项时同意 Vertex AI Studio 访问您的账号。您可以上传多个文件,但总大小不得超过 10 MB。单个文件的大小不能超过 7 MB。
- 点击要添加的文件。
点击选择。
文件缩略图会显示在提示窗格中。 系统还会显示 token 总数。如果提示数据超过 token 限制,则 token 会被截断,并且不会用于处理数据。
在提示窗格中输入文本提示。
可选:如需查看 Token ID 到文本和 Token ID,请点击提示窗格中的 token 数量。
点击提交。
可选:如需将提示保存到我的提示,请点击
保存。可选:如需获取提示的 Python 代码或 curl 命令,请点击
获取代码。
设置模型参数
可以对多模态模型设置以下模型参数:
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) |
视频要求
多模态 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)模型可能会返回不包含标点符号的转写内容。
后续步骤
- 开始使用 Gemini 多模态模型进行构建 - 新客户可获享 $300 免费 Google Cloud 赠金,探索他们可以使用 Gemini 执行的操作。
- 了解如何发送聊天提示请求。
- 了解 Responsible AI 最佳实践和 Vertex AI 的安全过滤条件。