Модели 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"
}