embedding.

Малоресурсный язык ломает коммерческие embedding: R@1 0,83 (LaBSE) vs 0,21 (OpenAI) на армянском EPG

Текст написан автором и отредактирован с помощью ИИTL;DR: Платные модели embedding плохо работают с малоресурсными языками. OpenAI text-embedding-3-large набирает R@1 = 0,21 на армянском -- уровень случайного угадывания. Причина -- токенизатор: cl100k_base не содержит армянских токенов и разбивает текст побайтово, раздувая его в 10 раз по сравнению с английским. Бесплатные мультиязычные модели с SentencePiece/WordPiece-токенизаторами не имеют этой проблемы. Протестировано 19 моделей на 245 триплетах EN/RU/HY из TMDB. Лучший retrieval -- LaBSE (R@1 = 0,83), лучший alignment -- multilingual-e5-large (0,86).

продолжить чтение

Научил ИИ-агента помнить важное и забывать лишнее в SQLite

TL;DRЯ делаю локально работающего ИИ-агента и столкнулся с тем, что стандартный подход «закинуть текст в векторную базу, достать по косинусу» для долгоживущего агента не работает: контекст замусоривается, факты конфликтуют, ничего не забывается. Вместо этого реализовал графовую когнитивную память поверх одного файла SQLite: эпизодические и семантические узлы, типизированные рёбра, именованные сущности, гибридный поиск (FTS5 + vector + graph) с Reciprocal Rank Fusion, кривую забывания Эббингауза и фоновую LLM-консолидацию. В статье — полная архитектура с кодом, SQL-схемой и формулами. Код и минимальный пример —

продолжить чтение

Без интернета и шпионов: как мы собрали локального голосового ассистента

Облачные ассистенты вроде Алисы, Google Assistant и Siri давно стали привычными. Но у всех у них одни и те же слабые места: зависимость от быстрого интернета и риск утечки данных. И речь не только о персональной информации — дома нередко обсуждают темы, которые можно отнести к коммерческой или даже военной тайне. Неудивительно, что многим некомфортно говорить в присутствии микрофона, который каждое слово отправляет куда-то «в облако» (один из наших заказчиков прямо сказал: «никаких Алис в доме не будет»).

продолжить чтение

Mem-векторы: как сохранить 1500 токенов в одном векторе и зачем это нужно

От сжатия текста к mem-векторам: новая веха в языковых моделяхКаждый, кто работал с большими языковыми моделями (LLM), знает про ограничение длины контекста: модель не может напрямую обработать текст, превышающий определённое число токенов. Это накладывает ограничения на работу с длинными документами и обширным контекстом. Но что если бы мы могли упаковать длинный текст в один-единственный вектор и скормить его модели как обычный токен? Звучит фантастично, однако свежие исследования показывают, что это возможно – такие “mem-векторы” позволяют сохранить сотни и даже полторы тысячи токенов

продолжить чтение

Rambler's Top100