Файл в чате или Knowledge: что выбрать и сколько текста передать модели

Когда достаточно файла в чате и когда пригодится коллекция Knowledge для разных бесед. Как отдельно выбрать найденные фрагменты или весь доступный извлечённый текст и проверить ответ по источнику.

Для разового вопроса обычно достаточно файла в чате. Если один набор документов нужен в разных беседах, стоит рассмотреть Knowledge — повторно используемую коллекцию источников. Затем отдельно выбирают, какой объём содержания нужен для ответа: найденные фрагменты или весь доступный извлечённый текст. Правильность ответа в любом случае проверяют по документу.

Разберём этот выбор на памятке городской прогулки. Сначала участнику нужно узнать, до какого дня и времени записаться. Затем — составить порядок действий: что подготовить, куда прийти и что меняется при дожде. Источник один, но требования к охвату его содержания разные.

Сначала решите, нужен ли документ в одном чате или во многих

Для подготовки к одной прогулке нам достаточно поработать с актуальной памяткой в одной беседе. Создание отдельной коллекции здесь добавило бы организационную работу, хотя повторное использование источника пока не требуется.

Если к одному и тому же доступному набору памяток нужно регулярно возвращаться в новых чатах и подключать его к разным вопросам, появляется основание организовать Knowledge.

Knowledge — это коллекция источников, которую можно использовать повторно. При таком подключении отвечающая модель не дообучается на документах. Их содержание предоставляется ей как контекст: добавляется к сообщениям для ответа.

Если подходящая коллекция уже существует и доступна вам, её можно выбрать в чате через #. Так вы указываете источник для работы. Появление коллекции среди вложений ещё не подтверждает, что модель получила её содержание или использовала нужные сведения.

Доступ к существующей коллекции и право создать новую — разные разрешения. Аналогично, возможность выбрать источник не означает возможности редактировать его. Поэтому решение о повторном использовании начинайте с уже доступных материалов и функций. Отдельное разрешение на создание Knowledge проверяется независимо.

У повторно используемой коллекции есть ещё одно требование — актуальность. Если организатор изменил памятку, нужно понимать, какая версия сохранена в Open WebUI. Правка исходного файла на компьютере сама по себе не обновляет обычную сохранённую локальную коллекцию. Для этого требуется поддерживаемое обновление или отдельно настроенная синхронизация источников.

Поэтому перед выбором коллекции полезно ответить на два вопроса:

  • Будет ли этот набор документов нужен в других беседах?
  • Как вы будете узнавать, что используемая версия ещё актуальна?

Для одной памятки сейчас разумно начать с файла. Если появится регулярная работа с набором памяток, решение можно пересмотреть.

Прикрепление документов уже разобрано в уроке «Файлы и прошлые разговоры». Теперь нужно определить, какие сведения из выбранного источника нужны для конкретного вопроса.

Выберите нужный охват: один факт или связанные условия

Допустим, организатор подготовил такую памятку:

Условная памятка городской прогулки. Версия 1.
Сбор в субботу в 10:20 у входа в городской сад.
Программа начинается в 10:30 и заканчивается в 12:00.
Записаться нужно до 18:00 пятницы.
Участие бесплатное.
С собой нужно взять воду.
При дожде встреча проходит в зале «Карта»: сбор в 10:20, начало в 10:30, окончание в 12:00.
О выборе зала вместо сада организатор сообщает в объявлении до 09:00 субботы.
Адрес зала и контакты организатора в этой памятке не указаны.

Чтобы узнать срок записи, достаточно найти одну строку. Чтобы составить порядок действий участника, нужно связать несколько частей текста: подготовку, обычное место сбора, время программы, условие дождя и сообщение организатора.

ЗадачаКакое содержание необходимо
Узнать день и время окончания записиСтрока со сроком записи и основание для ответа
Составить порядок действий участникаВсе относящиеся к участию условия, включая обычный сбор, изменение места при дожде и явно отсутствующие сведения

Из этого различия и возникает вопрос о способе передачи текста.

При поиске фрагментов система находит в подготовленных источниках части, подходящие к запросу, и передаёт выбранный материал для ответа. Такой поиск называют retrieval. Использование найденных сведений при генерации ответа — основа RAG. При предварительной подстановке контекста сервер Open WebUI подбирает фрагменты или добавляет текст до вызова отвечающей модели.

Обычный поисковый путь предполагает успешно извлечённый текст и готовый индекс. Здесь рассматриваем поиск без отдельных серверных настроек для передачи полного текста или обхода обычного поиска. В Focused Retrieval передаётся конкретная выборка найденных фрагментов. Если часть документа в неё не вошла, этим поисковым обращением она к модели не передаётся. Поэтому для связного порядка действий нужно проверить, охватила ли выборка все необходимые условия.

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

Полный контекст — Full Context — позволяет передать весь доступный извлечённый текст. Здесь речь об обычном сохранённом текстовом файле или локальной коллекции, подключённых непосредственно в чате. Для такой подстановки нужны готовый извлечённый текст, право чтения источника и включённая у выбранной модели возможность File Context — файловый контекст. Весь передаваемый текст должен помещаться в окно модели вместе с остальным запросом и запасом под ответ.

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

Окно модели нужно оценивать по всему запросу. Место занимают инструкции, история беседы, другие добавленные материалы, описания инструментов и их результаты. Этот состав входных материалов описан в документации о контекстном окне. Дополнительно требуется запас для ответа. Как учитывать окно в повседневной работе, разобрано в уроке «Контекстное окно и сжатие чата».

Универсального правила «до такого числа страниц используем полный контекст» нет. Количество страниц или размер файла не заменяют оценку реально извлечённого текста и доступного бюджета запроса. По длине исходника нельзя узнать фактический лимит выбранной модели.

Для нашей памятки ориентир такой:

  • Если нужен только срок записи, можно начать с доступного поиска фрагментов и проверить найденное основание.
  • Если нужен весь порядок действий, следует обеспечить охват связанных условий. Полный контекст можно рассмотреть, когда выполнены условия его передачи и хватает окна. Поиск фрагментов также может обеспечить нужный охват — это проверяется по результату.

Девять строк могут оказаться одним поисковым фрагментом. Тогда retrieval и полный контекст способны одинаково полно обработать оба вопроса. Этот короткий источник удобно прочитать и сверить вручную; его задача в разборе — сделать различие требований заметным, а не показать преимущество одного режима.

Подготовка документа и передача его содержания при вопросе происходят на разных этапах. При обычной загрузке с сохранением и обработкой текст извлекается и сохраняется, после чего может выполняться индексирование с созданием embeddings — числовых представлений текста для поиска. К моменту выбора полного контекста эта подготовка уже могла состояться; переключатель её не отменяет. Отдельный серверный обход индексирования также не отменяет предшествующее извлечение текста.

Теперь желаемый охват нужно сопоставить с тем, что действительно доступно в вашей беседе.

Проверьте извлечённый текст и доступный способ передачи

Перед вопросом проверьте четыре вещи. Это поможет понять, может ли выбранное содержание попасть к модели.

Что проверитьЧто нужно установить
Источник и готовностьВыбран нужный документ, совпадают имя и версия, есть доступ к чтению. Для новой загрузки нужны поддержка загрузки файлов у выбранной модели и разрешение пользователя. Эти требования относятся к загрузке; право читать сохранённый источник и право создавать Knowledge проверяются отдельно. Обработка завершена: само появление вложения ещё не подтверждает готовность текста.
Извлечённое содержаниеДоступный извлечённый текст просмотрен и сопоставлен с первоначальным исходником: нужные строки и условия сохранились.
Место подключения и режимПонятно, добавлен ли источник непосредственно в чат или закреплён в настройках модели либо папки. Доступный режим проверен, а не определён по факту загрузки.
Доступное окноВыбранный объём текста помещается вместе с инструкциями, историей, другими добавлениями и запасом для ответа. Неизвестный лимит отмечен как неизвестный.

В чате пара Content и Preview доступна для определённых форматов. Извлечённый текст может отображаться сразу, без отдельной вкладки Content. В Knowledge извлечённое содержание доступно через Indexed text.

У поддерживаемого визуального формата Preview может помочь посмотреть представление документа. Но в некоторых случаях он показывает то же сохранённое текстовое содержание. Поэтому сравнивайте доступный извлечённый текст с первоначальным исходником. Две вкладки не обязательно дают две независимые проверки, а успешный предпросмотр сам по себе не доказывает полноту извлечения.

Для памятки нужно увидеть те же девять строк, включая условие дождя и указание на отсутствующие адрес и контакты. Если существенная строка отсутствует уже здесь, выбирать способ передачи ещё рано: сначала нужно разобраться с доступным текстом.

В редактируемой карточке вложения Open WebUI v0.12.3 используются подписи Using Focused Retrieval и Using Entire Document. Они обозначают выбранный для вложения поиск фрагментов или использование всего документа. В вашей локализации надписи могут отличаться; возможность изменить режим также доступна не в каждом состоянии карточки. Начальный режим может зависеть от пользовательской настройки загрузки, поэтому его следует посмотреть.

Переключатель полного контекста не включает отключённую возможность File Context. Если файловый контекст выключен, предварительная подстановка прямого вложения пропускается. Надпись на карточке этого ограничения не обходит. При включённом File Context и остальных условиях прямого вложения режим Native сам по себе такую подстановку не выключает.

Для Knowledge, закреплённой в настройках модели или папки, документация различает Legacy и Default/Native. В Legacy предусмотрена предварительная подстановка при включённом File Context; для Knowledge модели это условие также отражено в обработке запроса. В Default и Native такая Knowledge предлагается через подходящие инструменты, а чтение зависит от их доступности и решения модели. Полный контекст у коллекции, закреплённой за моделью, это различие не отменяет. Поэтому правила прямого вложения в чат нельзя автоматически переносить на Knowledge модели или папки.

При чтении Knowledge через инструменты модель решает обратиться к инструменту, а сервер исполняет вызов. Для обычного встроенного пути в веб-интерфейсе нужны пользовательская сессия, режим Default или Native и включённые Builtin Tools — встроенные инструменты. Также должна быть включена категория инструментов для Knowledge, модель должна поддерживать их вызов, а пользователь — иметь доступ к источнику. Наличие этих условий ещё не подтверждает, что модель вызвала инструмент и прочитала документ. У инструментов для файлов чата свои условия; они разобраны в уроке «Файлы и прошлые разговоры».

Исходный файл, извлечённый текст, фактический вход модели и её ответ — разные объекты проверки. Сверка доступного извлечённого текста с исходником помогает проверить, что сохранилось после обработки. Карточка показывает выбранный режим. Ни один из этих признаков сам по себе не доказывает, что модель получила нужный текст и дала полный, правильный ответ.

Для самостоятельной пробы используйте приведённую несекретную памятку и уже доступные вам функции. Путь данных определяется реальными сервисами извлечения текста, embeddings и отвечающей модели. При подключении внешней модели запрос и контекст могут передаваться её провайдеру. Название режима не подтверждает локальность, приватность или бесплатность обработки.

Содержание документа следует рассматривать как данные для задачи. Команда внутри документа сама по себе не даёт разрешения её исполнять. Для агентного чтения недоверенных источников документация описывает риск внедрённых инструкций; одна ограничивающая фраза в запросе не обеспечивает универсальную защиту.

Если нет доступа, готового текста, нужной функции или понятного лимита, отметьте это. Разбор выбора можно завершить без обращения к модели и без перенастройки сервера.

Разберите два вопроса к одной памятке

Загрузка и обращения к модели в этом разборе не выполнялись. Ниже — запросы для самостоятельной пробы и критерии ручной сверки.

Если решите выполнить пробу, используйте ту же памятку версии 1. Для текущей задачи достаточно разового файла в одной беседе. Перед отправкой вопросов зафиксируйте доступный способ передачи: поиск фрагментов или полный текст при выполнении его условий. Создавать коллекцию ради этой пробы не требуется.

Первый вопрос проверяет один факт и его основание.

До какого дня и времени нужно записаться по памятке версии 1? Покажи строку, на которую опираешься.

Критерий ручной сверки: в ответе должны быть указаны пятница и срок до 18:00. Приведённое основание должно соответствовать строке «Записаться нужно до 18:00 пятницы.».

Проверьте и сам факт, и основание. Если время указано верно, а цитата неподходящая, запрос выполнен не полностью. Ссылка на документ помогает найти источник, но не заменяет чтение соответствующей строки.

Даже полностью правильный ответ на этот вопрос ещё не показывает, что учтены остальные условия памятки. Их проверке посвящён второй вопрос.

Второй вопрос проверяет охват связанных условий.

Составь по памятке версии 1 короткий порядок действий участника:
когда записаться, что взять с собой и сколько стоит участие;
где и во сколько обычный сбор, когда начинается и заканчивается программа;
что меняется при дожде и когда организатор сообщает о выборе зала.
Отдельно отметь, указаны ли адрес зала и контакты организатора.
Если сведений нет, не дополняй их догадками.

Здесь нужно проверить не только отдельные значения, но и связи между ними. Обычное место встречи и место при дожде относятся к разным условиям. Срок сообщения организатора относится к выбору зала, а время начала программы — к самой встрече.

Что сверитьЧто должно сохраниться из памятки
Предварительная записьЗаписаться нужно до 18:00 пятницы.
Подготовка и стоимостьНужно взять воду. Участие бесплатное.
Обычный сборВ субботу в 10:20 у входа в городской сад.
ПрограммаНачинается в 10:30 и заканчивается в 12:00.
Условие дождяПри дожде встреча проходит в зале «Карта». Меняется место; сбор в 10:20, начало в 10:30 и окончание в 12:00 сохраняются.
Сообщение организатораО выборе зала вместо сада организатор сообщает в объявлении до 09:00 субботы.
Отсутствующие сведенияАдрес зала и контакты организатора в памятке не указаны.

Фраза «при дожде» должна остаться условием. Из неё нельзя сделать вывод, что дождь уже ожидается или что зал уже выбран. Срок «до 09:00 субботы» относится к сообщению организатора; он не устанавливает участнику обязанность проверить объявление ровно в 09:00.

Отсутствие адреса и контактов тоже нужно передать точно: их нет в этой памятке. Это не означает, что адрес или контакты неизвестны вообще. Календарную дату, прогноз погоды, ссылку на объявление, маршрут и подробности программы из этого источника установить нельзя.

Последняя фраза запроса — просьба не дополнять сведения догадками — задаёт требование к ответу. Выполнено ли оно, всё равно нужно проверить. Цитата также не гарантирует ни полноты ответа, ни использования исключительно этого источника. В документации Knowledge предлагается сравнивать ответ и ссылки с оригиналом.

Если проба проведена, сохраните фактические ответы и отмеченные расхождения. Для первого вопроса достаточно проверить срок и строку-основание. Для второго пройдите по всей таблице: гладко написанный порядок действий может выглядеть законченным, даже если одно условие пропущено.

Повторить вопросы в другом режиме можно по желанию, если этот режим доступен и понятны возможные расходы отдельного запуска. Для разбора нужны оба типа вопроса и критерии к ним; фактически отправлять запросы модели необязательно. Если проба не проводилась, сохраните отметку «не выполнялось».

Если ответы совпали по полноте, это нормальный результат для такого короткого документа. Если различаются, сначала установите, какое именно сведение потерялось или изменилось. Одна проба характеризует конкретный текст, модель и условия работы; она не доказывает общего превосходства выбранного способа.

Зафиксируйте выбор и условия его пересмотра

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

Можно использовать такой шаблон:

Задача и нужный охват:
[Какой результат нужен; достаточно одного факта или необходимо связать несколько условий.]

Источник и версия:
[Название документа или коллекции, используемая версия.]

Повторное использование:
[Разовый файл или повторная коллекция; почему выбран этот вариант.]

Доступный способ передачи:
[Куда подключён источник, какой режим доступен, что известно об окне и возможностях модели; что остаётся неизвестным.]

Фактическая проверка:
[Просмотрен ли доступный извлечённый текст и сопоставлен ли он с исходником; какие ответы получены и какие расхождения найдены. Для невыполненных шагов — «не выполнялось».]

Причина пересмотреть выбор:
[Какое изменение задачи, источника или условий потребует нового решения.]

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

Поводом пересмотреть выбор может стать новая версия памятки, появление других документов, регулярная работа с набором в новых чатах или изменение доступной модели и её возможностей. При увеличении истории беседы также стоит заново оценить, помещается ли выбранный объём текста.

Если ответ оказался неполным, сначала сопоставьте исходник с извлечённым текстом, затем проверьте доступный путь передачи и конкретные расхождения в ответе. Переключение на полный контекст само по себе не исправляет потери при извлечении, отсутствие доступа или ошибку модели.

Когда один и тот же актуальный набор источников действительно понадобится в разных беседах, появится основание перейти к Knowledge. Этой задаче посвящён урок 07.02 о создании первой коллекции и получении проверяемого ответа. Выбор охвата текста для каждого вопроса при этом останется отдельным решением.

Отметить прохождение

Отметьте урок, когда закончите чтение.