|

Большая языковая модель API не поддерживает прямой ввод PDF? 3 схемы предварительной обработки помогут вам решить

Примечание автора: Отвечаем на самый частый вопрос разработчиков: можно ли напрямую передавать PDF в API больших языковых моделей? Ответ: в подавляющем большинстве случаев — нет. В этой статье подробно разбираем три практических подхода: извлечение текста, анализ изображений и обработка на стороне клиента.

"Можно ли просто загрузить PDF-файл прямо в API большой языковой модели?" — это один из самых частых вопросов в нашей группе поддержки. Многие разработчики, привыкнув к функции "перетащи PDF и сразу общайся" в веб-версиях ChatGPT или Claude, думают, что API работает так же.

Реальность такова: Подавляющее большинство API больших языковых моделей не поддерживает прямой ввод PDF-файлов. Даже у лидеров рынка, таких как OpenAI и Anthropic, основным форматом ввода для API остаётся текст и изображения — PDF не входит в стандартный список поддерживаемых форматов. Что ещё важнее, сторонние платформы-прокси вроде APIYI также не поддерживают прямую загрузку PDF, потому что это не предусмотрено базовыми протоколами.

Но не волнуйтесь, для работы с PDF есть три проверенных решения. В этой статье мы разберёмся, почему так происходит, и выберем подход, который лучше всего подойдёт именно вам.

Основная ценность: Прочитав эту статью, вы поймёте, почему API больших языковых моделей не поддерживает PDF напрямую, и как с помощью трёх методов предварительной обработки эффективно решить задачу ввода PDF.

llm-api-pdf-input-not-supported-3-solutions-guide-ru 图示


Ключевые моменты по вводу PDF в API больших языковых моделей

Ключевой момент Объяснение Влияние
API напрямую не принимает PDF Стандартный ввод для API основных моделей (GPT, DeepSeek, Llama, Qwen и др.) — это текст и изображения Требуется предварительная обработка
Веб-версия ≠ API Загрузка PDF в веб-интерфейсах ChatGPT, Claude — это препроцессинг на стороне фронтенда/бэкенда перед вызовом API Не приравнивайте опыт работы в веб-интерфейсе к возможностям API
Сторонние платформы также не поддерживают Прокси-сервисы, такие как APIYI, передают оригинальный API-протокол; если базовый API не поддерживает, то и платформа не поддерживает Не ожидайте дополнительной обработки PDF от прокси-платформ
3 проверенные схемы предварительной обработки Извлечение текста, понимание изображений, обработка на стороне клиента — у каждой свои сценарии применения Выбор правильной схемы практичнее, чем поиск "API с поддержкой PDF"

Почему API больших языковых моделей не поддерживает ввод PDF

Многие разработчики задаются вопросом: если в веб-версии можно загрузить PDF, почему API этого не умеет? Причина проста — функция "загрузки PDF" в веб-интерфейсе обрабатывается не самой моделью, а фронтендом/бэкендом, который выполняет предварительную обработку незаметно для вас:

  1. Извлечение текста: Фронтенд извлекает текст из PDF, преобразует его в обычный текст и только потом передаёт модели.
  2. Рендеринг страниц: Каждая страница PDF рендерится в изображение, и модель понимает его с помощью Vision-возможностей.
  3. RAG-поиск: Содержимое PDF векторизуется и сохраняется, а при диалоге в модель отправляются только релевантные фрагменты.

Эти шаги предобработки инкапсулированы в веб-продуктах, и пользователь их не замечает. Но при прямом вызове API эту предобработку вам нужно выполнять самостоятельно.

Быстрая справка по поддержке PDF в API больших языковых моделей

Модель Прямая передача PDF через API Стандартный формат ввода Рекомендация по обработке PDF
GPT-4o / GPT-4.1 Не поддерживается Текст + изображения (Base64) Сначала извлечь текст или преобразовать в изображения
Claude Частичная поддержка (Beta) Текст + изображения Для стабильности всё равно рекомендуется схема предобработки
Gemini Частичная поддержка Текст + изображения Для управляемости всё равно рекомендуется схема предобработки
DeepSeek Не поддерживается Простой текст Обязательно сначала извлечь текст
Llama / Qwen Не поддерживается Текст (частично поддерживаются изображения) Обязательно сначала извлечь текст
APIYI и другие сторонние Не поддерживается Передача оригинального протокола Необходима самостоятельная предобработка перед вызовом

🎯 Важное пояснение: Хотя в официальной документации API Claude и Gemini упоминается возможность ввода PDF, эта функция имеет неопределённости в совместимости и стабильности, и при вызове через сторонние прокси-платформы, такие как APIYI, прямая передача PDF не поддерживается. Мы рекомендуем использовать универсальную схему предобработки — она обеспечивает наилучшую совместимость и стабильность.


Схема обработки PDF для API больших языковых моделей №1: Предварительное извлечение текста

Это самая универсальная, наименее затратная и совместимая со всеми моделями схема. Основная идея: сначала с помощью Python-библиотек преобразовать PDF в Markdown или обычный текст, а затем передать этот текст в промпт API.

Сравнение инструментов для извлечения текста из PDF

Инструмент Скорость Лучший сценарий Особенности
PyMuPDF4LLM ~0.14с/документ Извлечение общего текста + таблиц Оптимальный баланс скорости и качества, вывод в Markdown
pdfplumber Средняя Извлечение табличных данных Высокая точность извлечения таблиц на уровне координат
Marker-PDF ~11с/документ Конвертация со сложной структурой макета Лучшее сохранение структуры, медленнее
PyPDF2 Быстрая Простые PDF с чистым текстом Лёгкий, подходит для базового извлечения

Пример кода для извлечения текста из PDF

Ниже приведён наиболее распространённый подход: извлечь текст из PDF и передать его в API большой языковой модели:

import pymupdf4llm
import openai

# Шаг 1: Преобразование PDF в Markdown
md_text = pymupdf4llm.to_markdown("report.pdf")

# Шаг 2: Передача обычного текста в любую большую языковую модель
client = openai.OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://api.apiyi.com/v1"
)

response = client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": f"Пожалуйста, выделите ключевые моменты этого отчёта:\n\n{md_text}"}]
)
print(response.choices[0].message.content)

Сценарии применения: Контракты, научные статьи, отчёты, техническая документация и другие PDF, где преобладает текст. Пока PDF содержит текстовый слой (не сканы), извлечение работает хорошо.

Рекомендация: Схема извлечения текста совместима со всеми большими языковыми моделями — GPT, Claude, DeepSeek, Llama, Qwen. Получите API-ключ на APIYI apiyi.com, один ключ позволяет вызывать все модели для сравнительного тестирования.

llm-api-pdf-input-not-supported-3-solutions-guide-ru 图示


Решение 2 для обработки PDF через API больших языковых моделей: преобразование в изображения + визуальное понимание

Когда PDF содержит визуальную информацию, такую как диаграммы, сканированные документы, сложное форматирование, то извлечение только текста приводит к потере этих данных. В таких случаях необходимо преобразовать каждую страницу PDF в изображение и использовать модель с поддержкой Vision для её анализа.

Пример кода: преобразование PDF в изображения

import fitz  # PyMuPDF
import base64
import openai

# Шаг 1: Преобразование PDF в PNG изображения постранично
doc = fitz.open("report.pdf")
images = []
for page in doc:
    pix = page.get_pixmap(dpi=200)
    b64 = base64.b64encode(pix.tobytes("png")).decode()
    images.append(b64)

Посмотреть полный код: передача изображений в Vision API
import fitz
import base64
import openai

def pdf_to_vision(pdf_path, question, max_pages=10):
    """Преобразует PDF в изображения и передаёт их в Vision API"""
    doc = fitz.open(pdf_path)

    # Формируем сообщение с несколькими изображениями (контролируем количество страниц, чтобы не превысить лимит токенов)
    content = [{"type": "text", "text": question}]
    for i, page in enumerate(doc):
        if i >= max_pages:
            break
        pix = page.get_pixmap(dpi=150)
        b64 = base64.b64encode(pix.tobytes("png")).decode()
        content.append({
            "type": "image_url",
            "image_url": {"url": f"data:image/png;base64,{b64}"}
        })

    client = openai.OpenAI(
        api_key="YOUR_API_KEY",
        base_url="https://api.apiyi.com/v1"
    )

    response = client.chat.completions.create(
        model="gpt-4o",
        messages=[{"role": "user", "content": content}]
    )
    return response.choices[0].message.content

# Пример использования
result = pdf_to_vision(
    "financial_report.pdf",
    "Проанализируйте трендовые диаграммы в этом финансовом отчёте и выделите ключевые данные",
    max_pages=5  # Контролируем количество страниц, каждая страница расходует примерно 765 токенов
)
print(result)

Когда использовать: PDF с визуально насыщенным контентом: отчёты с диаграммами, сканированные документы, счета-фактуры, архитектурные чертежи.

Важно о стоимости: Каждая страница изображения расходует примерно 765 токенов (стандартное разрешение для GPT-4o). Таким образом, 10-страничный PDF обойдётся примерно в 7 650 токенов только за изображения, плюс токены на вопрос и ответ — итого может превысить 10 000 токенов. Обязательно контролируйте количество страниц.

🎯 Совет по контролю затрат: Не отправляйте все страницы PDF разом. Сначала используйте Решение 1 для извлечения текста и предварительного анализа, чтобы определить ключевые страницы. Затем примените Решение 2 для визуального анализа только этих страниц. На панели мониторинга использования APIYI apiyi.com можно отслеживать расход токенов в реальном времени.


Решение 3 для обработки PDF через API больших языковых моделей: использование AI-клиентов

Если вы не хотите писать код и вам просто нужно "задавать вопросы по содержимому PDF" в повседневной работе, то использование AI-клиентов — самый простой способ.

Как работают PDF-обработчики в клиентах, таких как Cherry Studio

По сути, эти клиенты автоматически выполняют работу из Решения 1 и Решения 2:

  1. Автоматическая векторизация: Извлекают содержимое PDF, разбивают его на фрагменты и сохраняют в локальную векторную базу данных.
  2. Семантический поиск: Когда вы задаёте вопрос, клиент сначала находит наиболее релевантные фрагменты.
  3. Точная отправка: Отправляет модели только эти релевантные фрагменты, а не весь документ целиком.
  4. Экономия токенов: Использование RAG (Retrieval-Augmented Generation) значительно сокращает объём данных, отправляемых модели.

Что важно учитывать при обработке PDF в клиентах

  • Настройка API-ключа: Введите ваш API-ключ от APIYI apiyi.com в настройках клиента. Один ключ даёт доступ ко всем моделям.
  • Контроль размера файла: Векторизация очень больших PDF (сотни страниц) может занять много времени. Рекомендуется разбивать их на части.
  • Внимание к стоимости токенов: Хотя RAG сжимает контент, работа с длинными документами всё равно может привести к значительным расходам.
  • Выбор подходящей модели: Для простых вопросов используйте более доступные модели (например, GPT-4o-mini), для сложного анализа — флагманские модели.

Сравнение 3 подходов к обработке PDF с помощью API больших языковых моделей

llm-api-pdf-input-not-supported-3-solutions-guide-ru 图示

Подход Стоимость в токенах Поддержка графиков Сложность разработки Совместимость с моделями Лучший сценарий
Текстовое извлечение Самая низкая (300-1500/стр.) Не поддерживается Средняя Все модели PDF с чистым текстом, большие объёмы
Конвертация в изображение + анализ Высокая (~765/стр.) Полная поддержка Средняя Требуются Vision-модели Графики, сканированные документы
Обработка на стороне клиента Средняя (сжатие RAG) Зависит от клиента Без кода Все модели Повседневные диалоги, не для разработки

Пояснение к сравнению: Три подхода не исключают друг друга, в реальных проектах их часто комбинируют. Например, сначала используют первый подход для извлечения текста и предварительного отбора, а затем для ключевых страниц применяют второй подход с анализом изображений. Через APIYI apiyi.com можно единообразно подключиться ко всем моделям.


Часто задаваемые вопросы

В1: Почему веб-версия ChatGPT позволяет загружать PDF, а API — нет?

Функция "Загрузить PDF" в веб-версии — это результат препроцессинга на стороне продукта: фронтенд извлекает текст, рендерит изображения, строит поисковый индекс, а затем уже вызывает базовый API. Сам API по своей сути принимает на вход текст и изображения, а PDF как сложный формат-контейнер для документов не входит в стандартную поддержку. При вызове API вам нужно самостоятельно выполнить эти шаги предварительной обработки.

В2: Могут ли сторонние платформы-прокси, такие как APIYI, обработать PDF за меня?

Нет. Суть сервисов-прокси API, таких как APIYI, заключается в передаче API-запросов без изменений. Если базовый протокол не поддерживает PDF, то и платформа не может его обработать. Вам необходимо самостоятельно выполнить препроцессинг PDF (извлечь текст или конвертировать в изображения) перед вызовом API, а затем отправить обработанный текст или изображения через APIYI на сайте apiyi.com в большую языковую модель.

В3: Как контролировать стоимость в токенах при обработке PDF?

Несколько практических советов:

  1. Отдавайте приоритет Схеме 1 (текстовое извлечение) — это самый дешёвый вариант.
  2. Обрабатывайте только нужные страницы, не загружайте весь документ целиком.
  3. Используйте технологию RAG для разделения на фрагменты и поиска, отправляя модели только релевантные части.
  4. Для простых вопросов используйте более дешёвые модели (например, GPT-4o-mini), для сложного анализа — флагманские.
  5. Отслеживайте расход в реальном времени через панель использования на APIYI apiyi.com.

Итог

Ключевые моменты по вводу PDF в API больших языковых моделей:

  1. Подавляющее большинство API не поддерживает прямой ввод PDF: Основной вход для больших моделей — это текст и изображения, PDF требует предварительной обработки.
  2. Сторонние платформы также не поддерживают: Сервисы-прокси API, такие как APIYI, передают исходный протокол и не могут дополнительно обрабатывать PDF.
  3. Выбирайте 1 из 3 схем по необходимости: PDF с чистым текстом — текстовое извлечение (самое экономичное), PDF с изображениями — конвертация в картинки для понимания (самое точное), повседневные диалоги — через клиент (самое простое).

Не стоит зацикливаться на вопросе "какой API поддерживает PDF". Гораздо продуктивнее сосредоточиться на выборе правильной схемы предобработки — это и есть верный подход.

Рекомендуем получить бесплатные лимиты через APIYI на сайте apiyi.com, предобработать PDF и с одним API-ключом протестировать и сравнить вызовы всех основных моделей, таких как GPT, Claude, DeepSeek.

📚 Справочные материалы

  1. Документация PyMuPDF4LLM: Инструмент для извлечения текста из PDF

    • Ссылка: pymupdf.readthedocs.io/en/latest/pymupdf4llm
    • Описание: Самый быстрый инструмент для конвертации PDF в Markdown, рекомендуется как основной выбор
  2. Документация pdfplumber: Специализированный инструмент для извлечения таблиц

    • Ссылка: github.com/jsvine/pdfplumber
    • Описание: Инструмент с наивысшей точностью извлечения табличных данных из PDF
  3. Cherry Studio: Открытый AI-клиент

    • Ссылка: github.com/CherryHQ/cherry-studio
    • Описание: Бесплатный клиент с поддержкой перетаскивания PDF в диалог, можно настроить APIYI в качестве бэкенда
  4. Документация платформы APIYI: Единый доступ к API крупных моделей

    • Ссылка: docs.apiyi.com
    • Описание: Получение API-ключей, список моделей и примеры вызовов

Автор: Техническая команда APIYI
Технические обсуждения: Приглашаем к обсуждению в комментариях. Больше материалов доступно в документации APIYI по адресу docs.apiyi.com

Похожие записи