Представьте, что вы помогаете участникам городской прогулки. В одной новой беседе нужно подготовить ответ о сроке записи, в другой — объяснить, что меняется при дожде. Для обоих вопросов нужна одна и та же актуальная памятка. Сохраним её в коллекции Knowledge, чтобы затем выбирать этот источник в разных чатах.
В предыдущем уроке мы разобрали, когда достаточно файла в чате, а когда пригодится коллекция. Теперь появилась задача повторного использования. Пройдём путь от создания коллекции до проверки двух отдельных ответов. Короткую памятку оставим специально: все девять строк можно прочитать целиком и заметить, если по дороге потерялось условие или появилось лишнее сведение.
Это самостоятельная проба по проверенным первоисточникам. При подготовке материала мы не создавали коллекцию в Open WebUI, не загружали и не обрабатывали файл, не отправляли вопросы модели и не проверяли полученные ответы или цитаты. Ниже приведены действия и критерии сверки; фактические результаты появятся только после вашей пробы.
Подготовьте памятку и создайте коллекцию Knowledge
Возьмём тот же условный источник версии 1. Сохраните его целиком в обычном текстовом файле UTF-8 с именем pamyatka-gorodskoy-progulki-v1.txt. Отдельный оригинал понадобится для сравнения с тем, что сохранит Open WebUI.
Для следующих действий нужен уже работающий Open WebUI с подключённой моделью и разрешениями создавать коллекции и загружать файлы. Проверьте, в какой экземпляр и под какой учётной записью вы вошли. Названия кнопок ниже приведены по проверенным исходникам; язык, версия интерфейса и доступные действия в вашей установке могут отличаться.
До создания коллекции должны быть понятны допустимость передачи данных и возможные расходы. Уже при создании Open WebUI может строить embeddings имени и описания — числовые представления для поиска. Обработка файла, подготовка поисковых запросов и ответ также могут обращаться к настроенным сервисам. Внешние службы извлечения текста или оценки найденных фрагментов, если они подключены, тоже могут участвовать в работе. Конкретные провайдеры и тарифы зависят от вашей установки; у внешнего провайдера модели могут оказаться запрос и переданный контекст.
Поэтому используем только приведённую несекретную памятку. Слово Knowledge не означает, что вся обработка происходит на вашем компьютере или бесплатна. Бесплатное участие из памятки относится к прогулке. Если условия работы установки неизвестны, сохраните файл и уточните их у её владельца до создания коллекции.
Когда доступ и условия понятны, создадим коллекцию:
- Откройте Workspace → Knowledge.
- Нажмите Create.
- Заполните имя и описание.
- Подтвердите создание кнопкой Create Knowledge.
Для упражнения можно использовать такие значения:
| Поле | Что указать |
|---|---|
| Имя | Городская прогулка — памятка v1 |
| Описание | Условная памятка городской прогулки версии 1 для повторного выбора в новых чатах и сверки ответов с исходником. |
Такой порядок создания описан в руководстве Knowledge. Имя помогает найти коллекцию, описание — вспомнить, для чего она нужна.
Если раздела Knowledge или кнопки Create нет, сначала проверьте аккаунт и уточните разрешение на создание у владельца или администратора. Возможности читать коллекцию, создавать новую, наполнять или редактировать её и предоставлять доступ другим людям проверяются отдельно. Для этого упражнения не требуется получать роль администратора или менять чужие права.
После создания у коллекции есть имя и назначение. Теперь добавим сам источник: пока сохранность текста в ней не проверена.
Загрузите файл и дождитесь обработки
Откройте созданную коллекцию «Городская прогулка — памятка v1». В ней нажмите плюс Add Content, затем Upload files и выберите pamyatka-gorodskoy-progulki-v1.txt. Это подтверждённый путь загрузки через меню коллекции.
После отправки файла дождитесь завершения обработки. В проверенной реализации различаются состояния processing — обработка, completed — завершение и failed — ошибка. Они отражены в механизме получения статуса файла. В вашем интерфейсе эти состояния могут отображаться другими словами или значками; искать обязательную зелёную галочку не нужно.
Перед переходом к тексту установите три вещи:
- обработка завершилась без известной ошибки;
- нужный файл появился именно в этой коллекции;
- файл открывается.
Одна карточка загрузки этого не подтверждает. Отсутствие сообщения об ошибке тоже недостаточно, если обработка ещё идёт или её завершение не удалось установить. С другой стороны, завершение обработки ещё не показывает, сохранились ли все строки: это проверим следующим шагом.
Если файл отклонён, прочитайте сообщение и проверьте сам файл: он не должен быть пустым, а его формат и размер должны соответствовать ограничениям установки. Универсального лимита в мегабайтах или времени ожидания для этого упражнения нет. Если коллекция открывается, но загрузка недоступна, уточните право записи: возможность читать содержимое не даёт разрешения его пополнять.
При продолжающейся обработке, ошибке или отсутствии файла в нужной коллекции пока не отправляйте вопрос по нему. Запишите, что именно видно, и уточните причину этого этапа. Повторные загрузки не являются универсальным исправлением: одинаковое имя не гарантирует замены, а дубликат содержания может быть отклонён.
Когда обработка завершена и нужный файл доступен, откроем его сохранённый текст.
Сверьте Indexed text с исходной версией памятки
Откройте файл внутри Knowledge и выберите Indexed text. Так называется сохранённый текст, извлечённый из загруженного документа. Поставьте рядом исходный .txt и сравните все девять строк.
Здесь проверяется весь источник. Не ограничивайтесь строкой о сроке записи, даже если первый вопрос будет только о ней. В тексте должны сохраниться и обычные условия прогулки, и изменение места при дожде, и сведения, которых в памятке нет.
| Часть текста | На что обратить внимание |
|---|---|
| Название и версия | Памятка остаётся условной, указана версия 1. |
| Обычный сбор и программа | Суббота, 10:20, вход в городской сад. Начало программы — 10:30, окончание — 12:00. Сбор и начало различаются. |
| Запись и подготовка | Записаться нужно до 18:00 пятницы, участие бесплатное, с собой нужно взять воду. |
| Дождь и объявление | При дожде указан зал «Карта»; сбор, начало и окончание сохраняются. О выборе зала вместо сада организатор сообщает до 09:00 субботы. |
| Отсутствующие сведения | Адрес зала и контакты организатора не указаны именно в этой памятке. |
Слова «при дожде» и «до» здесь так же важны, как числа. Без них условный перенос можно принять за уже выбранное место, а крайний срок — за назначенное время действия. В памятке нет конкретной календарной даты; подставлять ближайшую субботу от себя не нужно.
Если доступен Preview, в Knowledge он показывает исходный файл. Для проверки сохранённого содержания всё равно откройте Indexed text. Если кнопки Preview нет, используйте отдельно сохранённый оригинал: отсутствие предпросмотра само по себе не означает, что извлечённый текст отсутствует.
Различайте ошибку просмотра и расхождение в самом тексте. Когда просмотрщик не смог получить содержимое и предлагает Retry, эта кнопка повторно загружает оригинал или сохранённый текст для отображения. Она не запускает заново извлечение текста и создание embeddings. Если же Indexed text открылся, но пуст, неполон или содержит другую памятку, проверьте выбранный файл, версию и сообщение об обработке. Сохраните конкретное расхождение; вопросы по неподтверждённому источнику пока отложите.
Для этой пробы достаточно просмотра. У Edit → Save более широкий эффект: сохранение повторно обрабатывает изменённый Indexed text и обновляет коллекции, в которых находится этот файл. Загруженный оригинал при этом остаётся прежним. Если часть обработки завершилась ошибкой, считать обновление полностью успешным нельзя. Поэтому не исправляйте текст наугад ради совпадения с ожидаемым результатом.
Изменение .txt на компьютере также само не обновляет обычную загруженную копию. Пометки v1 в имени и «Версия 1» внутри помогают ручной сверке, но не создают автоматического контроля версий. Если версии разошлись, сначала зафиксируйте это. Обновление и синхронизацию разберём отдельно; Sync или Reset для текущего упражнения не нужны.
После сверки можно подтвердить, что в коллекции сохранён нужный текст. Indexed text не показывает векторы и не является журналом фактического запроса к модели. Чтобы использовать эту памятку в беседе, сначала явно выберем коллекцию.
Выберите коллекцию в новом чате
Откройте новый чат с доступной вам подключённой моделью. В поле сообщения введите #, найдите «Городская прогулка — памятка v1» и выберите результат типа Collection/Collections. В списке могут встречаться отдельные Files и Folders; для этого упражнения нужна именно коллекция. Такой выбор предусмотрен в списке источников чата.
Проверьте название выбранной карточки. Напечатать название коллекции обычным текстом в вопросе недостаточно: это не заменяет выбор через #. Если нужного результата нет, проверьте имя, тип результата, аккаунт и доступ к чтению коллекции.
Здесь мы подключаем обычную коллекцию с загруженным файлом непосредственно в чате. Для прямой подготовки её содержания нужны доступ к чтению, готовый текст и включённая у выбранной модели возможность File Context — файловый контекст. Режим Native сам по себе этот путь не отключает. Карточка показывает сделанный вами выбор; она ещё не подтверждает, что модель получила и использовала нужную строку.
Если в доступной для изменения карточке видны Using Focused Retrieval и Using Entire Document, это обозначения охвата выбранного источника: найденные фрагменты или весь доступный извлечённый текст. Для нашей короткой памятки менять охват не обязательно — оба пути могут дать достаточно содержания. Фактический охват зависит и от настроек сервера, которые могут задавать передачу всего текста или обход обычного поиска.
Полный текст требует доступа, готового содержания, включённого File Context и места в окне модели вместе с остальным запросом и ответом. Речь о сохранённом извлечённом тексте, поэтому исходный PDF, изображения и всё оформление этим не обещаются. Full Context не возвращает потерянные строки, не отменяет уже выполненную индексацию и не включает выключенный File Context. Если файловый контекст отключён, возможное чтение через инструменты требует своих доступных условий и фактического вызова.
Коллекция в чате и Knowledge в настройках модели или папки подключаются по-разному. Для Knowledge модели/папки в Default/Native нужны включённые Builtin Tools с инструментами базы знаний, поддержка их вызова моделью, доступ к источнику и сам вызов. В существующем Legacy материалы добавляются к файловым источникам для предварительной обработки; её выполнение также зависит от File Context. Эти различия закреплены в обработке запроса. Переключаться на Legacy ради урока не нужно. Наличие инструментов само по себе не означает, что документ прочитан.
Для практики оставайтесь на уже доступном и понятном прямом пути. Если неизвестно, включён ли File Context и какие условия действуют у выбранной модели, уточните это у владельца установки. Перебирать режимы или менять сервер, модель и провайдера ради продолжения не требуется.
Когда коллекция выбрана и условия понятны, начнём с вопроса, ответ на который находится в одной строке.
Задайте вопрос о сроке записи и проверьте основание
В первом новом чате отправьте следующий запрос, если предыдущие шаги выполнены и условия обращения к модели понятны:
Сохраните полученный ответ в исходном виде. Ниже — критерии ручной сверки по памятке, а не ответ, который мы получили от модели.
| Что проверяем | Критерий |
|---|---|
| День и время | Пятница, до 18:00. |
| Значение срока | Слово «до» сохранено по смыслу; запись не назначена ровно на 18:00. |
| Приведённая строка | Соответствует строке «Записаться нужно до 18:00 пятницы.» и подтверждает срок. |
| Показанный источник | Если интерфейс показывает источник, он относится к нужному файлу и проверенной версии 1. |
| Добавленные сведения | Нет неподтверждённых даты, способа записи, контактов или других условий. |
Сначала сравните факты ответа с оригиналом. Затем прочитайте приведённую строку: подтверждает ли она именно срок записи? Правильное число и подходящее основание — две отдельные проверки. Если модель указала верное время, но не привела запрошенную строку, отметьте и совпавший факт, и невыполненную часть запроса.
Если интерфейс показывает ссылку или источник, откройте его отдельно. Установите, что он связан с тем файлом, чьё содержание вы уже сверили в Indexed text. Версию можно проверить по этому файлу; короткий отрывок о записи не обязан содержать заголовок «Версия 1». А слова «версия 1», просто напечатанные моделью в ответе, проверку файла не заменяют.
Если ссылки нет, это не делает верный факт ложным. Можно установить совпадение дня, времени и приведённой строки с оригиналом, а отсутствие показанной привязки к источнику записать отдельно. Если ссылка ведёт к другому документу или по ней нельзя установить нужную версию, соответствующая часть проверки остаётся неподтверждённой.
Даже совпавшая цитата сама по себе не показывает, каким путём модель получила содержание. Подходящая ссылка помогает проверить основание, но не гарантирует правильности всего ответа или использования исключительно выбранной памятки. Поэтому официальное руководство предлагает сравнивать ответ и его источники с оригиналом.
Если вопрос не отправлялся, оставьте пометку «не выполнялось». Критерии из таблицы не нужно переносить в поле фактического ответа. Если ответ получен с ошибкой, сохраните его и назовите расхождение: это уже наблюдение о результате пробы.
Первый вопрос касается только срока записи. Во второй беседе проверим, как ответ сохраняет связанные условия и границу отсутствующих сведений.
Повторно выберите коллекцию и проверьте условия дождя
Откройте другую новую беседу и снова выберите «Городская прогулка — памятка v1» через #. Повторно загружать файл для этого не требуется. Так мы используем сохранённую коллекцию для нового вопроса. Само её существование не означает, что документ автоматически выбран во всех чатах.
При подтверждённых общих условиях этот вопрос можно проверить независимо от того, оказался ли первый ответ правильным. Если же проблема обнаружена в самом тексте, версии или доступе к источнику, сначала нужно разобраться с этим ограничением.
Сохраните фактический ответ второй беседы отдельно от первого. Следующая таблица снова содержит критерии сверки, а не результат выполненного запроса.
| Часть вопроса | Что должно сохраниться в ответе | Где сверить |
|---|---|---|
| Что меняется | При дожде встреча проходит в зале «Карта» вместо сада. Нет утверждения, что зал уже выбран. | Строки 2, 7 и 8 |
| Во сколько сбор | В 10:20; время сбора сохраняется. | Строки 2 и 7 |
| Начало и окончание | Начало в 10:30, окончание в 12:00; оба времени сохраняются. | Строки 3 и 7 |
| Когда сообщает организатор | О выборе зала вместо сада организатор сообщает в объявлении до 09:00 субботы. | Строка 8 |
| Указан ли адрес | Адрес зала в этой памятке не указан. | Строка 9 |
Номера относятся к девяти строкам исходника выше. Для проверки того, что меняется, сопоставьте обычный сбор и программу со строкой о дожде: место другое, времена те же. Подходящие строки в ответе должны позволять проверить это отношение; механически цитировать весь документ не требуется.
Обратите внимание на две возможные подмены смысла. «При дожде встреча проходит в зале» не означает, что дождь уже ожидается или перенос состоялся. А «организатор сообщает до 09:00 субботы» не означает ни сбор в 09:00, ни обязанность участника проверить объявление ровно в это время. Сбор в 10:20 также нельзя заменить началом программы в 10:30.
Отсутствие адреса ограничено этим источником. Ответ должен сохранить именно эту границу. Памятка не устанавливает, что адрес неизвестен вообще, и не даёт оснований придумать улицу, контакт организатора, ссылку на объявление или подробный маршрут. Просьба не дополнять сведения догадками задаёт требование, но её выполнение всё равно нужно проверить.
Полнота ответа относится к заданному вопросу. В Indexed text мы проверяли все девять строк. Здесь спрашиваем о дожде, времени, объявлении и адресе. Непересказ воды, бесплатного участия или отсутствующих контактов сам по себе не делает этот ответ неполным. Пропуск условия дождя или времени окончания, напротив, затрагивает сам вопрос.
Как и в первом чате, отдельно сравните факты, приведённые строки и показанный источник, если он есть. Если ответ сохранил времена, но потерял условие дождя, это конкретное расхождение. Если модель придумала адрес, отметьте добавление. Не заменяйте исходный ответ исправленной версией с сохранением отметки об успешной проверке.
В конце достаточно короткой записи из трёх частей:
- Общее для обоих чатов: оригинал и версия, название коллекции, установленное состояние обработки, результат сверки всех строк Indexed text и известные условия подключения.
- Первый чат: фактический ответ о записи, приведённая строка, показанный источник и проверка его версии, совпадения, пропуски и добавления.
- Второй чат: фактический ответ о дожде, основания, показанный источник и проверка его версии, сохранённые условия и найденные расхождения.
Для каждого невыполненного действия оставьте «не выполнялось». Для полученного ошибочного ответа запишите саму ошибку. Отсутствующую ссылку или непроверенную версию так и отметьте. Ошибка во втором ответе не стирает проверку первого, а удачный первый ответ не подтверждает второй.
Если пришлось остановиться, укажите последний подтверждённый этап и ближайшее действие: уточнить право загрузки, выяснить причину ошибки обработки, сверить обнаруженную другую версию или уточнить доступный путь подключения. Не меняйте всю конфигурацию по одному неудачному ответу.
После выполненной пробы у вас останутся одна коллекция с проверенной версией памятки и отдельные результаты двух вопросов. Эти две проверки не измеряют общее качество RAG и не устанавливают превосходство режима. Они дают практический навык: выбрать сохранённый источник в новой беседе и проверить конкретный ответ по оригиналу. Сохраните исходный файл вместе с записью проверки; перед следующим использованием коллекции убедитесь, что её содержание по-прежнему актуально.

