Понимание документа

Модели Gemini могут обрабатывать документы в формате PDF, используя нативное машинное зрение для понимания всего контекста документа. Это выходит за рамки простого извлечения текста, позволяя Gemini:

  • Анализ и интерпретация контента, включая текст, изображения, диаграммы, графики и таблицы, даже в длинных документах объемом до 1000 страниц.
  • Извлечение информации в структурированные выходные форматы.
  • Кратко изложите суть вопроса и ответьте на вопросы, основываясь как на визуальных, так и на текстовых элементах документа.
  • Преобразовать содержимое документа (например, в HTML), сохраняя макет и форматирование, для использования в последующих приложениях.

Таким же образом можно передавать и документы, не в формате PDF, но Gemini будет рассматривать их как обычный текст, исключая контекст, такой как диаграммы или форматирование.

Передача данных PDF непосредственно в код.

Вы можете передавать данные PDF непосредственно в запросе. Это лучше всего подходит для небольших документов или временной обработки, когда вам не нужно ссылаться на файл в последующих запросах. Для больших документов, на которые вам нужно ссылаться в многоэтапных взаимодействиях, мы рекомендуем использовать API файлов, чтобы уменьшить задержку запроса и снизить потребление полосы пропускания.

В следующем примере показано, как передавать данные PDF-файла непосредственно в тексте:

Python

from google import genai
import base64

client = genai.Client()

with open('path/to/document.pdf', 'rb') as f:
    pdf_bytes = f.read()

interaction = client.interactions.create(
    model="gemini-3.7-flash",
    input=[
        {
            "type": "document",
            "data": base64.b64encode(pdf_bytes).decode('utf-8'),
            "mime_type": "application/pdf"
        },
        {"type": "text", "text": "Summarize this document"}
    ]
)

print(interaction.output_text)

JavaScript

import { GoogleGenAI } from "@google/genai";
import * as fs from "node:fs";

const ai = new GoogleGenAI({});

async function main() {
    const pdfData = fs.readFileSync("path/to/document.pdf", {
        encoding: "base64"
    });

    const interaction = await ai.interactions.create({
        model: "gemini-3.7-flash",
        input: [
            { type: "text", text: "Summarize this document" },
            {
                type: "document",
                data: pdfData,
                mime_type: "application/pdf"
            }