Как ИИ-агент читает PDF от клиента, отправляет готовый файл и берёт документ в базу знаний: три разных сценария, лимиты и цена распознавания скана.
ИИ-агент работает с PDF по трём разным сценариям: вытаскивает текст из файла, который прислал клиент, отправляет клиенту готовый PDF из базы знаний и берёт PDF в базу знаний целиком. Для сканов есть распознавание за 0,5 ₽ за страницу, документ в базе знаний ограничен 10 Мб, а файл на отправку клиенту ограничен 20 Мб.
Клиент присылает в переписку скан договора аренды и спрашивает, подходят ли ему условия. Менеджер в этот момент листает вложение на телефоне, ищет пункт про досрочное расторжение и печатает ответ вручную, хотя мог бы этого не делать вовсе.
PDF в диалоге с ИИ-агентом появляется по трём поводам, и это три разных механизма внутри платформы: клиент прислал файл и ждёт ответа по его содержимому, компании нужно отправить клиенту готовый документ, или PDF пора занести в базу знаний, чтобы агент отвечал по нему постоянно. Дальше разберём, что происходит в каждом из трёх случаев отдельно.
ИИ-агент — это не программа для чтения PDF по умолчанию: он реагирует на файл только тогда, когда для этого настроен один из трёх механизмов. Спутать их легко: во всех трёх случаях на входе или выходе один и тот же формат файла, а логика внутри разная.
Первый механизм — разовое извлечение текста из файла, который в диалог принёс клиент. Второй — отправка готового файла из базы знаний клиенту. Третий — постоянная загрузка PDF в базу знаний, после которой файл разбирается на смысловые куски и отвечает на вопросы месяцами. Ни один из трёх не включается сам по себе: без настроенного действия или загруженного документа файл в переписке остаётся просто вложением, которое агент не откроет.
Проверьте на своих диалогах.Регистрация без карты, 500 ₽ на тест по промокоду BLOG500
Собрать агентаЗа это отвечает действие «Извлечь текст из файла»: агент получает документ в аргументе {file}, извлекает из него текст в формате Markdown или HTML и кладёт результат в переменную. Дальше этот текст можно отправить клиенту, передать в следующий шаг сценария или просто использовать при формулировании ответа.
Разница между обычным PDF и сканом принципиальна. Если в файле уже есть текстовый слой (счёт, договор, экспортированный из редактора регламент), извлечение проходит сразу и бесплатно в рамках стоимости диалога. Если PDF получен сканированием и текста там физически нет, только изображение страницы, обычное извлечение вернёт пустоту. Для этого случая в настройках действия есть режим распознавания сканированного текста с тремя вариантами: не использовать вовсе, включать только для PDF с картинками внутри, или распознавать всегда. Именно на этом режиме и написан скан договора из начала статьи, без него агент прочитал бы файл, увидел изображение страницы и ничего не смог бы из него достать. Что агент умеет делать с обычными фото и другими вложениями клиента помимо PDF, подробнее в статье про чтение файлов клиента.
Распознавание сканированного текста — отдельная платная операция, 0,5 ₽ за страницу, помимо стоимости самого диалога. Обычный PDF с текстовым слоем распознавания не требует и стоит только как извлечённый текст в токенах модели, а 1000 токенов равны 1 ₽.
Обратный сценарий: компании самой нужно передать клиенту прайс, договор или инструкцию целиком, файлом, а не пересказом. Файл для этого один раз загружается и прикрепляется к нужному файлу быстрых ответов — дальше агент вызывает этот файл базы знаний по смыслу вопроса, и вложение уходит клиенту вместе с ответом или отдельным сообщением.
При загрузке можно отметить, что файл идёт с коротким сопроводительным текстом, а для аудио- и видеовложений — что он превращается в голосовое сообщение или в кружок для Телеграма. Полный список форматов, которые агент отправляет и принимает помимо документов, собран в статье про вложения в чат-боте. Для текстовых файлов, к которым относится и PDF, действует лимит 20 Мб на один файл: этого хватает на договор в сотню страниц с логотипом на каждой, но не на архив сканов, собранный в один документ без сжатия.
Третий сценарий устроен вокруг постоянного хранения, а не разового ответа. Загруженный в раздел «Документы» PDF режется на смысловые куски и с этого момента отвечает на вопросы клиентов в любом будущем диалоге, а не только в текущем. Лимит на такой файл — 10 Мб, для документа Word это больше пяти тысяч страниц двенадцатым шрифтом.
Если в исходном PDF были иллюстрации (схема сборки, план помещения, фото товара), при загрузке стоит включить флаг «Оставить изображения (ссылками)». Полноразмерные картинки внутри файла превращаются в прямые ссылки на этапе подготовки, а когда агент найдёт нужный кусок текста и в нём окажется такая ссылка, клиенту она уйдёт снова изображением, а не текстом со ссылкой. Без этого флага картинки из PDF при загрузке в базу знаний просто теряются, а сам документ разбирается на куски так же, как любой другой файл.
Прежде чем настраивать что-то из этого, полезно свериться, какой из трёх случаев вообще относится к вашей задаче.
| Сценарий | Что делает агент | Где живёт файл после этого |
|---|---|---|
| Клиент прислал PDF | извлекает текст действием, при сканах — распознаёт изображения | нигде, только в переменной этого диалога |
| Агент отправляет PDF клиенту | прикрепляет заранее загруженный файл к быстрому ответу | в разделе быстрых ответов, до 20 Мб |
| PDF в базе знаний | режет на куски и ищет среди них по смыслу вопроса | в разделе «Документы», до 10 Мб |
Переработанное содержимое сканов не переносится автоматически между сценариями: текст, распознанный при извлечении из присланного клиентом файла, не появляется сам собой в базе знаний, даже если это один и тот же договор. Если материал должен отвечать за пределами одного диалога, его нужно загрузить в «Документы» отдельно.
Приложите к тестовому диалогу с агентом реальный PDF — такой, какой обычно присылают клиенты: скан с наклонным углом съёмки или экспортированный из другой системы файл с сомнительной разметкой. Посмотрите, что агент из него достанет: если текст читается ровно, дело в настройке действия, если возвращается пустой ответ — почти наверняка нужен режим распознавания сканов.
Дальше решите для себя главный вопрос: файл нужен один раз в этом разговоре или должен отвечать на вопросы клиентов месяцами. Первое — действие извлечения текста, второе — загрузка в базу знаний. Путать эти два случая не стоит: постоянно грузить один и тот же прайс в «Документы» ради разового ответа клиенту дороже и медленнее, чем один раз настроить извлечение текста из присланного файла.
Файл сам по себе ничего не запускает. В инструкции или по триггеру должно быть настроено действие «Извлечь текст из файла»: оно принимает документ из аргумента, извлекает текст и кладёт его в переменную, которую агент дальше использует в ответе.
Да, через приложение файла к быстрому ответу: файл загружается один раз и прикрепляется к нужным файлам базы знаний. Для текстовых файлов, включая PDF, действует лимит 20 Мб на один файл.
Обычное извлечение текста такой файл не прочитает: там нет текста, есть только изображение. Нужно включить режим распознавания сканированного текста в настройках действия, это отдельная платная операция, 0,5 ₽ за страницу.
Да, если при загрузке включить флаг «Оставить изображения (ссылками)». Полноразмерные картинки из PDF превращаются в прямые ссылки, а агент отправляет их клиенту обратно уже как изображения, не как текст ссылки.
Три разных числа для трёх задач: документ в базе знаний до 10 Мб, а файл, который агент отправляет клиенту, до 20 Мб. У файла, который присылает клиент для извлечения текста, отдельного лимита в настройках действия нет, но действуют общие ограничения канала на присланные вложения.
Извлечение — разовая операция внутри диалога: текст ушёл в переменную и в ответ, файл нигде не хранится. Загрузка в «Документы», наоборот, постоянное хранение: файл режется на куски заранее, и агент обращается к ним в любом будущем диалоге, а не только в этом.
Хотите сразу к продукту: Конструктор чат-ботов консультант