Теперь вы можете спросить Claude о любом тексте, изображениях, диаграммах и таблицах в PDF-файлах, которые вы предоставляете. Некоторые примеры использования:

  • Анализ финансовых отчетов и понимание диаграмм/таблиц
  • Извлечение ключевой информации из юридических документов
  • Помощь в переводе документов
  • Преобразование информации документов в структурированные форматы

Перед началом работы

Проверьте требования к PDF

Claude работает с любым стандартным PDF. Однако вы должны убедиться, что размер вашего запроса соответствует этим требованиям при использовании поддержки PDF:

ТребованиеОграничение
Максимальный размер запроса32МБ
Максимальное количество страниц на запрос100
ФорматСтандартный PDF (без паролей/шифрования)

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

Поскольку поддержка PDF основана на возможностях зрения Claude, она подвержена тем же ограничениям и соображениям, что и другие задачи зрения.

Поддерживаемые платформы и модели

Поддержка PDF в настоящее время поддерживается через прямой доступ к API и Google Vertex AI на:

  • Claude Opus 4 (claude-opus-4-20250514)
  • Claude Sonnet 4 (claude-sonnet-4-20250514)
  • Claude Sonnet 3.7 (claude-3-7-sonnet-20250219)
  • Модели Claude Sonnet 3.5 (claude-3-5-sonnet-20241022, claude-3-5-sonnet-20240620)
  • Claude Haiku 3.5 (claude-3-5-haiku-20241022)

Эта функциональность скоро будет поддерживаться на Amazon Bedrock.

Для файлов, не являющихся PDF, таких как .csv, .xlsx, .docx, .md или .txt файлы, см. Работа с другими форматами файлов.


Обработка PDF с помощью Claude

Отправьте свой первый PDF-запрос

Начнем с простого примера, используя Messages API. Вы можете предоставить PDF Claude тремя способами:

  1. Как ссылку URL на PDF, размещенный онлайн
  2. Как PDF, закодированный в base64, в блоках содержимого document
  3. По file_id из Files API

Вариант 1: PDF-документ на основе URL

Самый простой подход - ссылаться на PDF напрямую из URL:

 curl https://api.anthropic.com/v1/messages \
   -H "content-type: application/json" \
   -H "x-api-key: $ANTHROPIC_API_KEY" \
   -H "anthropic-version: 2023-06-01" \
   -d '{
     "model": "claude-opus-4-20250514",
     "max_tokens": 1024,
     "messages": [{
         "role": "user",
         "content": [{
             "type": "document",
             "source": {
                 "type": "url",
                 "url": "https://assets.anthropic.com/m/1cd9d098ac3e6467/original/Claude-3-Model-Card-October-Addendum.pdf"
             }
         },
         {
             "type": "text",
             "text": "Каковы ключевые выводы в этом документе?"
         }]
     }]
 }'

Вариант 2: PDF-документ, закодированный в base64

Если вам нужно отправить PDF из вашей локальной системы или когда URL недоступен:

# Метод 1: Получить и закодировать удаленный PDF
curl -s "https://assets.anthropic.com/m/1cd9d098ac3e6467/original/Claude-3-Model-Card-October-Addendum.pdf" | base64 | tr -d '\n' > pdf_base64.txt

# Метод 2: Закодировать локальный PDF-файл
# base64 document.pdf | tr -d '\n' > pdf_base64.txt

# Создать файл JSON-запроса, используя содержимое pdf_base64.txt
jq -n --rawfile PDF_BASE64 pdf_base64.txt '{
    "model": "claude-opus-4-20250514",
    "max_tokens": 1024,
    "messages": [{
        "role": "user",
        "content": [{
            "type": "document",
            "source": {
                "type": "base64",
                "media_type": "application/pdf",
                "data": $PDF_BASE64
            }
        },
        {
            "type": "text",
            "text": "Каковы ключевые выводы в этом документе?"
        }]
    }]
}' > request.json

# Отправить API-запрос, используя JSON-файл
curl https://api.anthropic.com/v1/messages \
  -H "content-type: application/json" \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -d @request.json

Вариант 3: Files API

Для PDF, которые вы будете использовать повторно, или когда вы хотите избежать накладных расходов на кодирование, используйте Files API:

# Сначала загрузите ваш PDF в Files API
curl -X POST https://api.anthropic.com/v1/files \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "anthropic-beta: files-api-2025-04-14" \
  -F "file=@document.pdf"

# Затем используйте возвращенный file_id в вашем сообщении
curl https://api.anthropic.com/v1/messages \
  -H "content-type: application/json" \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "anthropic-beta: files-api-2025-04-14" \
  -d '{
    "model": "claude-opus-4-20250514", 
    "max_tokens": 1024,
    "messages": [{
      "role": "user",
      "content": [{
        "type": "document",
        "source": {
          "type": "file",
          "file_id": "file_abc123"
        }
      },
      {
        "type": "text",
        "text": "Каковы ключевые выводы в этом документе?"
      }]
    }]
  }'

Как работает поддержка PDF

Когда вы отправляете PDF в Claude, происходят следующие шаги:

1

Система извлекает содержимое документа.

  • Система преобразует каждую страницу документа в изображение.
  • Текст с каждой страницы извлекается и предоставляется вместе с изображением каждой страницы.
2

Claude анализирует как текст, так и изображения для лучшего понимания документа.

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

Claude отвечает, ссылаясь на содержимое PDF, если это уместно.

Claude может ссылаться как на текстовое, так и на визуальное содержимое при ответе. Вы можете дополнительно улучшить производительность, интегрировав поддержку PDF с:

  • Кэширование промптов: Для улучшения производительности при повторном анализе.
  • Пакетная обработка: Для высокообъемной обработки документов.
  • Использование инструментов: Для извлечения конкретной информации из документов для использования в качестве входных данных инструментов.

Оцените свои расходы

Количество токенов PDF-файла зависит от общего текста, извлеченного из документа, а также от количества страниц:

  • Стоимость текстовых токенов: Каждая страница обычно использует 1,500-3,000 токенов на страницу в зависимости от плотности содержимого. Применяется стандартное ценообразование API без дополнительных сборов за PDF.
  • Стоимость токенов изображений: Поскольку каждая страница преобразуется в изображение, применяются те же расчеты стоимости на основе изображений.

Вы можете использовать подсчет токенов для оценки расходов на ваши конкретные PDF.


Оптимизация обработки PDF

Улучшение производительности

Следуйте этим лучшим практикам для оптимальных результатов:

  • Размещайте PDF перед текстом в ваших запросах
  • Используйте стандартные шрифты
  • Убедитесь, что текст четкий и разборчивый
  • Поворачивайте страницы в правильную вертикальную ориентацию
  • Используйте логические номера страниц (из PDF-просмотрщика) в промптах
  • Разделяйте большие PDF на части при необходимости
  • Включите кэширование промптов для повторного анализа

Масштабирование вашей реализации

Для высокообъемной обработки рассмотрите эти подходы:

Используйте кэширование промптов

Кэшируйте PDF для улучшения производительности при повторных запросах:

# Создать файл JSON-запроса, используя содержимое pdf_base64.txt
jq -n --rawfile PDF_BASE64 pdf_base64.txt '{
    "model": "claude-opus-4-20250514",
    "max_tokens": 1024,
    "messages": [{
        "role": "user",
        "content": [{
            "type": "document",
            "source": {
                "type": "base64",
                "media_type": "application/pdf",
                "data": $PDF_BASE64
            },
            "cache_control": {
              "type": "ephemeral"
            }
        },
        {
            "type": "text",
            "text": "Какая модель имеет самые высокие показатели предпочтений человека по каждому случаю использования?"
        }]
    }]
}' > request.json

# Затем сделать API-вызов, используя JSON-файл
curl https://api.anthropic.com/v1/messages \
  -H "content-type: application/json" \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -d @request.json

Обработка пакетов документов

Используйте Message Batches API для высокообъемных рабочих процессов:

# Создать файл JSON-запроса, используя содержимое pdf_base64.txt
jq -n --rawfile PDF_BASE64 pdf_base64.txt '
{
  "requests": [
      {
          "custom_id": "my-first-request",
          "params": {
              "model": "claude-opus-4-20250514",
              "max_tokens": 1024,
              "messages": [
                {
                    "role": "user",
                    "content": [
                        {
                            "type": "document",
                            "source": {
 "type": "base64",
 "media_type": "application/pdf",
 "data": $PDF_BASE64
                            }
                        },
                        {
                            "type": "text",
                            "text": "Какая модель имеет самые высокие показатели предпочтений человека по каждому случаю использования?"
                        }
                    ]
                }
              ]
          }
      },
      {
          "custom_id": "my-second-request",
          "params": {
              "model": "claude-opus-4-20250514",
              "max_tokens": 1024,
              "messages": [
                {
                    "role": "user",
                    "content": [
                        {
                            "type": "document",
                            "source": {
 "type": "base64",
 "media_type": "application/pdf",
 "data": $PDF_BASE64
                            }
                        },
                        {
                            "type": "text",
                            "text": "Извлеките 5 ключевых выводов из этого документа."
                        }
                    ]
                }
              ]
          }
      }
  ]
}
' > request.json

# Затем сделать API-вызов, используя JSON-файл
curl https://api.anthropic.com/v1/messages/batches \
  -H "content-type: application/json" \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -d @request.json

Следующие шаги