Продолжаем разбирать, как система автодополнения собирает контекст для LLM. В реальном репозитории потенциально полезных файлов слишком много, поэтому мало просто найти фрагменты с похожими словами - нужно понять, какие из них действительно стоит показать модели.Разберём один из классических алгоритмов ранжирования - BM25: почему редкие идентификаторы важнее популярных слов, зачем учитывать размер файла и почему десять одинаковых совпадений не должны быть в десять раз полезнее одного. Читать заметку
Привет, Хабр! Представляю вашему вниманию перевод статьи «Image Similarity using Deep Ranking» автора Akarsh Zingade. Алгоритм Deep Ranking Понятия "сходства двух изображений" — введено не было, поэтому давайте введем данное понятие хотя бы в рамках статьи. Сходство двух изображений — это результат…
Для создания подсветки синтаксиса мне требовалось регулярное выражение, которое может подсветить разные фрагменты пути. При этом оно должно следовать условию "только путь в кавычках" и обходить мимо переменные, продолжная парсинг пути.В этой статье мы разберем, каким образом написать такое выражение, как работает рекурсия в RegEx, как добавить условие выхода из нее. Посмотрим, как пропускать целые фрагменты текста. Читать далее
Привет! Вэтой статье я хотел бы расcказать, как можно было бы сделать свой RWMutex, но с возможностью по таймауту или по срабатыванию контекста пропустить блокировку. То есть реализовать TryLock(context.Context) и RTryLock(context.Context), но уже для своего Mutex. На картинке изображено, как нужно наливать воду в очень узкое горлышко. Читать дальше →