了解映像

您可以向 Gemini Chat Completions API 请求添加图片,以便执行涉及理解所含图片内容的任务。图片理解是 Gemini 的一种多模态输入,可将文本与媒体文件相结合。

如需详细了解如何使用 Gemini 进行图片理解,以及发送 API 请求的分步说明,请参阅发送多模态提示

包含图片的提示的规范

您可以向 Gemini 请求添加单张或多张图片。为确保 Google Distributed Cloud (GDC) air-gapped 中 Gemini 模型的性能,每个提示的图片数量上限为 100 张。

对图片中的像素数量没有具体限制。不过,较大的图片会被缩小和填充,以适应最大分辨率 (768 x 768),同时保留其原始宽高比。每张图片相当于 258 个词元。

图片必须是以下图片数据 MIME 类型之一:

  • HEIC:image/heic
  • HEIF:image/heif
  • JPG:image/jpgimage/jpeg
  • PNG:image/png
  • WEBP:image/webp

您可以使用 REST API 中的 Chat Completions 端点,并使用 HTTP 客户端或 OpenAI 的官方 Python SDK。您可以将图片作为内嵌数据提供给提示请求,以 base64 编码文件的形式提供,也可以在发出提示请求之前将图片文件上传到存储桶。

如需详细了解图片方面的最佳实践限制,请参阅 Google Cloud 文档。

如需详细了解 OpenAI 和 Gemini 在 Google Distributed Cloud (GDC) 隔离环境中实现的 Chat Completions 端点,请参阅 https://platform.openai.com/docs/api-reference/chat

了解根据提示生成的图片

以下示例展示了 Gemini Chat Completions API 请求,该请求使用 OpenAI 的官方 Python SDK 或 curl 从文本和图片输入生成文本。

Python

import openai

client = openai.OpenAI()
model_response = client.chat.completions.create(
  model = "MODEL_ID",
  messages =  [
                {
                  "role": "user",
                  "content": "What's in this image?"
                },
                {
                  "role": "user",
                  "content": [
                      {
                        "type": "image_url",
                        "image_url": {
                              # Image URL or base64-encoded data
                              "url": IMAGE_DATA,
                            }
                      }
                    ]
                }
              ]
)

print(model_response)

替换以下内容:

  • MODEL_ID:要生成回答的模型的端点 ID。
  • IMAGE_DATA:存储桶中图片网址的路径或以 base64 编码的图片数据。请根据您的数据考虑以下几个方面:

    • Base64 编码的数据必须以数据 URI 方案(RFC 2397)为前缀。因此,对于 base64 编码的数据,url 字段的格式为,例如 "url": f"data:image/jpeg;base64,{base64_image}"
    • 图片网址必须指向存储在 GDC 存储桶中的图片。因此,图片网址的 url 字段的格式为 "url": "s3://path/to/bucket/image"。如需了解详情,请参阅存储数据

curl

curl \
  -X POST "https://ENDPOINT:443/v1/projects/PROJECT/locations/PROJECT/chat/completions" \
  -H "Content-Type: application/json; charset=utf-8" \
  -H "Authorization: Bearer $(gdcloud auth print-identity-token)" \
  -d '{
      "model_id": "MODEL_ID",
      "messages": [
        {
          "role": "user",
          "content": "What's in this image?"
        },
        {
          "role": "user",
          "content": [
            {
              "type": "image_url",
              "image_url": {
                # Image URL or base64-encoded data
                "url": IMAGE_DATA
              }
            }
          ]
        }
      ],
      "max_tokens": 300
    }'

替换以下内容:

  • ENDPOINT:您组织使用的 API 端点。
  • PROJECT:您的项目 ID。
  • MODEL_ID:要生成回答的模型的端点 ID。
  • IMAGE_DATA:存储桶中图片网址的路径或以 base64 编码的图片数据。请根据您的数据考虑以下几个方面:

    • Base64 编码的数据必须以数据 URI 方案(RFC 2397)为前缀。因此,对于 base64 编码的数据,url 字段的格式为,例如 "url": f"data:image/jpeg;base64,{base64_image}"
    • 图片网址必须指向存储在 GDC 存储桶中的图片。因此,图片网址的 url 字段的格式为 "url": "s3://path/to/bucket/image"。如需了解详情,请参阅存储数据

后续步骤