![]()
Файл загрузился, нейросеть ответила — значит, всё прочитано? Не обязательно. Текстовый слой, скан, таблица и изображение внутри PDF могут обрабатываться разными способами. Успешная загрузка подтверждает приём файла, но не полноту понимания каждой страницы.
В Чатиуме можно сделать кабинет документов с проверкой обработки: какие страницы доступны, где есть проблемы извлечения и на какой фрагмент опирается ответ. Это полезнее общего зелёного значка «готово» без пояснений.
Создай кабинет анализа PDF. Показывай состояние обработки файла и страницы, где не удалось извлечь понятный текст. В ответах указывай документ и страницу. Если нужный фрагмент не прочитан, сообщай об этом вместо догадки.
Один формат — разные виды содержимого
PDF может содержать обычный выделяемый текст, отсканированные страницы или смесь текста и изображений. В таблице важна не только последовательность слов, но и связь строки со столбцом. При неудачном извлечении числа остаются, а их значения теряются.
Поэтому сначала выясните, каким путём файл попадает к модели. Приложение может извлекать текст заранее, отправлять документ поддерживающему маршруту или передавать изображения страниц. Эти способы имеют разные ограничения и не должны молча считаться взаимозаменяемыми.
Не переносите возможности чата на любой API
Потребительский интерфейс сервиса и программный маршрут могут по-разному работать с файлами. Даже внутри одного продукта способ загрузки имеет значение. Документация ChatGPT отдельно описывает доступность загрузок в зависимости от плана, настроек и выбранной модели, а для API указывает самостоятельные требования и ограничения.
Для приложения в Чатиуме проверяйте конкретную модель, поддерживаемый тип входа и контракт используемого маршрута. Наличие слова «мультимодальная» в описании не означает поддержку любого файла любого размера.
Учебный пример с таблицей
Представим PDF с перечнем оборудования: модель, количество и дата выдачи. После извлечения в тексте оказались все числа, но порядок колонок изменился. Модель уверенно сообщает, что «2026 устройств выдано 12 числа». Ошибка возникла ещё до красивого ответа.
Проверьте несколько строк по исходной странице. Для таблиц полезен предпросмотр распознанной структуры и возможность поправить соответствие колонок. Если задача требует точного подсчёта, считайте по проверенным данным программно, а модель используйте для объяснения результата.
Что хранить в карточке документа
Сохраняйте оригинал, версию, состояние подготовки и диагностические сведения, доступные вашему обработчику. Если количество страниц или качество распознавания неизвестно, так и обозначьте. Не рисуйте вымышленную полноту обработки.
Свяжите фрагменты с исходными страницами, если выбранный способ извлечения это позволяет. Тогда пользователь сможет открыть основание ответа. При замене файла создайте новую версию и пересчитайте связанные данные; старый ответ должен сохранять связь со старым источником.
| Проверка | Зачем нужна |
|---|---|
| Текст на первой и последней страницах | Заметить неполную обработку |
| Строки таблиц | Проверить связь значений и заголовков |
| Сканированные фрагменты | Убедиться, что они обработаны |
| Ссылки на страницы | Быстро проверить основание ответа |
Где здесь startCompletion
SDK Чатиума предусматривает блоки документа в сообщениях, но реальная поддержка зависит от выбранного маршрута. Для простого и контролируемого сценария можно сначала подготовить проверенный текст, а затем отправить его через обычный текстовый вызов, как в поиске по базе знаний.
Такой вызов не является универсальным парсером PDF. Если в извлечённом тексте нет диаграммы или сноски, модель не сможет восстановить их достоверно по одному описанию файла. Отдельно показывайте, какие части документа действительно вошли в запрос.
Как принять результат обработки
Задайте вопросы по разным участкам документа и один вопрос, на который там нет ответа. Проверьте соответствие страниц и точность чисел. Для сканов добавьте пример с плохим качеством, чтобы приложение умело сообщать о проблеме.
Не требуйте от модели всегда находить ответ. В рабочем кабинете фраза «этот раздел не удалось прочитать» полезнее уверенного предположения. Пользователь сможет загрузить более качественный файл или вставить нужный фрагмент вручную.
Частые вопросы
Если текст выделяется мышью, таблица точно прочитается?
Нет. Наличие текстового слоя не гарантирует правильную структуру строк и колонок. Проверьте результат извлечения на нескольких примерах.
Нужно ли отправлять весь PDF на каждый вопрос?
Не всегда. Можно выбирать нужные разделы, сохраняя версии и основания. Подходы сравниваются в RAG и длинном контексте.
Можно ли доверять номеру страницы в ответе модели?
Только после проверки соответствия переданным данным. Приложение должно связывать ответ с реальным фрагментом, а не считать любую названную страницу достоверной.