Комментарии 4
А можете на своем опыте рассказать, нет ли проблем с контекстом. Я слышал, что если он не большой то бывают проблемы.
По скрину увидел что вы используете gemma3 4b и у нее вроде бы макс контекст 120000. А что если все что скармливается в RAG не влезет в контекст? Как с такими проблемами бороться?
Да, такая проблема действительно есть, но в нормальном RAG как раз не предполагается, что мы скармливаем модели всю документацию целиком. В моём случае я не передаю в LLM всё содержимое доков, ранбукови кода. В начале сервис ищет релевантные чанки через BM25, после этого собирается ограниченный контекст из найденных фрагментов. Поэтому даже если сама база знаний большая, в контекст модели попадает только небольшая выборка наиболее релевантных чанков.
Но проблема может возникнуть в том, что количество релевантных чанков, которые могут дать дополнительную полезную информацию, может быть больше, чем мы можем себе позволить при выборе top_k чанков. В таком случае другой возможности, кроме как менять модель на более мощную, не вижу.
Ast питона по умолчанию не видит комментарии. То что называется docstring это объявление строки без присвоения ей имени. Использовался ли какой то плагин для поиска по настоящим (#) комментариям и если да, то какой посоветуете? Спасибо.
Да, вы правы. ast обычные #-комментарии не видит, через него я вытаскивал именно docstring’и и сигнатуры. # - комментарии отдельно собирались построчным сканером по регуляркам( конкретно по этой PY_COMMENT_RE = re.compile(r"^\s*#\s?(.*)$") ). Для прототипа этого хватило; если делать промышленнее, я бы смотрел в сторону tokenize или LibCST.

Как я сделал локальный RAG-сервис для SRE: ищем по документации, ранбукам и коду через Ollama