Мультимодальный ввод: вложения¶
К сообщению можно приложить изображение, PDF, аудио или видео. Оригинал хранится на сервере, а модель получает файл так, как умеет: напрямую, текстом через вспомогательную модель или — если ничего не подошло — файлом в рабочем каталоге проекта.
Что можно приложить¶
| Тип | Примеры | Как доставляется модели |
|---|---|---|
| Изображения | JPEG, PNG, WebP | напрямую или текстовым описанием |
| документы и сканы | напрямую или извлечённым текстом | |
| Аудио | WAV, MP3 и другие форматы | напрямую или расшифровкой |
| Видео | распространённые контейнеры | кадрами (до 5) и, при настройке, расшифровкой |
Допустимые типы задаются белым списком MIME: image/, audio/, video/,
application/pdf, text/. SVG запрещён; HTML принимается только как текст или
обычный файл.
Лимиты по умолчанию
Файл — 25 МиБ, до 10 файлов в сообщении, 1 ГиБ на сессию, хранение осиротевших вложений — 30 дней. Администратор может изменить значения; превышение размера даёт ответ 413, запрещённый тип — 415.
Как приложить¶
- Кнопка прикрепления в композере → пункт «Локальные файлы».
- Перетаскивание файла в область ввода или вставка из буфера обмена.
- У каждого файла — чип с превью, именем и размером; состояние меняется с «загрузка» на «готово», а при сбое — на «ошибка» с возможностью повтора.
Вложения уходят вместе с сообщением; после отправки чипы остаются в ленте, а агент получает файл вместе с самим сообщением.
Три пути доставки¶
| Путь | Когда срабатывает | Что видит модель |
|---|---|---|
| Напрямую | Модель заявляет нужную модальность в каталоге провайдера | Сам файл |
| Через вспомогательную модель | Модель модальность не принимает, но для семейства задана aux-модель | Текст: расшифровку, описание или кадры |
| Отброс | Нет ни прямого приёма, ни вспомогательной модели | Файл в attachments/ рабочего каталога и блок «вложения не доставлены» |
Модель сессии при этом не меняется: вспомогательный вызов идёт отдельно, а его расход виден в аналитике. Если модальности модели неизвестны, фильтрация не применяется — вложение не теряется молча.
Админ-раздел «Мультимодальный ввод»¶
Настройки → Администрирование → «Мультимодальный ввод»:
- «Состояние» — откуда взяты значения:
env,runtime (интерфейс),config.yamlили «по умолчанию». - «Вложения включены» — мастер-выключатель.
- «Поддерживаемые модальности» — изображения, PDF, аудио, видео.
- «Модели по модальностям» — вспомогательная модель на семейство или «Не задано (отбрасывать)».
- «Лимиты» — размер файла, число файлов в сообщении, лимит на сессию.
- «Хранение» — срок хранения осиротевших вложений (
0— не удалять). - «Поведение» — сохранять несовместимые вложения в рабочий каталог.
- «Белый список MIME».
Изменения применяются сразу. Поле, значение которого задано через env,
заблокировано — менять его нужно в окружении инстанса.
Приватность и метаданные¶
- Оригинал лежит на сервере, в сообщении хранится только ссылка на него.
- Метаданные (EXIF/IPTC/XMP у JPEG, текстовые чанки PNG) срезаются при отправке провайдеру. Скачанный через API файл и копия в рабочем каталоге — это оригинал.
- Обфускация секретов работает с текстом: бинарный файл не сканируется, а в журнал попадают только тип, имя и размер.
Внешняя зависимость: ffmpeg¶
Аудио не в WAV/MP3 транскодируется в WAV 16 кГц mono, видео разбирается на
кадры (до 5). Делает это ffmpeg на сервере. Если его нет, срабатывает обычный
отброс: вложение попадёт в рабочий каталог, и модель увидит путь.
Видеомодальность доставляет только кадры. Аудиодорожка идёт отдельно — через вспомогательную аудио-модель, если она настроена.
Инструменты агента¶
attach_workspace_file— файл из рабочего каталога → вложение диалога.save_attachment— вложение из истории → файл в рабочем каталоге; занятое имя не перезаписывается.send_attachment— файл → вложение ответа агента.list_models— какие модальности поддерживает модель и где заданы вспомогательные модели.
Ошибки¶
- 413 — файл больше лимита на файл.
- 415 — тип не входит в белый список MIME.
- Вложение отброшено — в диалоге появляется блок «вложения не доставлены»,
а файл лежит в
attachments/рабочего каталога. - Загрузка не удалась — чип остаётся в состоянии «ошибка», отправку можно повторить.
Что дальше¶
- Сессии и проекты — рабочий каталог проекта.
- Конфигурация — параметры инстанса.
- Фоновая работа — саб-агенты и процессы.
- Что нового в 0.12.4 — изменения релиза.