RAG-база знаний: свежий контекст для модели
Команды, которые собирают внутреннюю или клиентскую базу знаний на LLM
База знаний отвечает только по тому, что в неё загрузили. Всё, что появилось после последнего обновления - релизы, цены, документы, новости, - для модели не существует. Закрыть разрыв можно двумя путями: постоянно переиндексировать корпус или подтягивать нужные страницы в момент вопроса. Второй дешевле и всегда свежий.
Обновлено 27 сентября 2026
Что мешает сейчас
- Индексация отстаёт от реальности: документы и цены меняются быстрее, чем идёт переиндексация.
- HTML со страницы тащит меню, рекламу и скрипты - чанки засоряются, поиск по базе начинает врать.
- Страницы с динамическим содержимым приходят пустым каркасом, если их читает простой загрузчик HTML.
- Длинный документ не влезает в контекст, и его приходится резать вслепую.
Как это делается
- 01
Найдите под вопрос
web_search отдаёт результаты с оценкой релевантности: верх выдачи переранжируется моделью BGE-reranker-v2-m3, поэтому в базу не попадает случайное совпадение по слову.
- 02
Прочитайте страницы
read_url берёт один адрес, read_urls - до пяти за вызов. Ответ приходит чистым Markdown без навигации и рекламы. Динамические страницы открываются полноценным браузером, поэтому содержимое успевает отрисоваться.
- 03
Разберите длинное
Документ любого объёма читается окнами: параметр offset и meta.nextOffset в ответе. Повторное чтение той же ссылки в течение 15 минут отдаётся из кеша - цена та же, но быстрее.
- 04
Возьмите только нужное
Если из страницы нужны конкретные поля - цена, дата, автор, характеристики, - extract принимает вашу JSON-схему и возвращает готовый объект без текста страницы.
Инструменты в этом сценарии
web_searchread_urlread_urlsextractЧто на выходе: Модель получает чистый, актуальный фрагмент ровно под вопрос - вместо устаревшей копии из индекса. Чанки не содержат мусора, а объём входа остаётся в пределах контекста даже у локальной модели на 32k.
Дальше по теме
Осталось непонятное?
срезAI - не универсальный поиск: у него есть задачи, под которые он не подходит, и мы говорим об этом прямо. Опишите свою - скажем честно, решается она нашим API или чужим.