Стендап Сьогодні 📢 Канал в Telegram @stendap_sogodni

🤖🚫 AI-free content. This post is 100% written by a human, as is everything on my blog. Enjoy!

21.01.2025

Tabby - доповнення коду на основі LLM, але локально

#Інструменти

…Я вже багато років користуюся Tab9 для доповнення коду. В мене вимоги прості: хочу закінчення рядків. А ні, ще одна вимога: я хочу, щоб модель працювала локально. На жаль, як буває з багатьма продуктами, TabNine пішов в бік хмари та корпоративних клієнтів.Та локальне доповнення хоч і працює, але без кінця просить залогуватись кудись… в той час, коли в мене “дідівська” ліцензія ще з тої пори, коли ніяких облікових записів не було.

Отже, нещодавно натрапив на Tabby. Це обгортка для запуску великих мовних моделей та інтеграції в редактор (в моєму випадку - VSCode.) Хороша — можна запускати не тільки локально, а й будь-де, налаштувати декілька користувачів та обирати ту модель, яку заманеться. Рекомендую, якщо вам таке цікаво.

Про практичний бік. Звісно, доведеться обрати модель (а точніше, її розмір — кількість параметрів), на яку вистачить памʼяті та обчислювальних потужностей. У Tabby є топ моделей, щоб далеко не ходити.

На M2 Macbook Air навіть 1B-моделі відпрацьовують дуже повільно, більше ніж десять секунд. Замислився — а як же ж тоді TabNine? Виявилося, що ті використовують 400M-моделі, але наче по моделі на кожну мову програмування. Та TabNine був швидким навіть на макбуці з 2015-го.

Але в мене були інші плани: поки я працюю, стоїть без діла ігровий компʼютер — чом би його не долучити? З Tabby це надзвичайно просто — вся різниця буде в адресі сервера. В мене наразі в наявності NVIDIA 4060M; на ній 1B-модель відпрацьовує в межах секунди, а 3B-модель десь трьох. Більше немає сенсу дивитися, бо 3 секунди вже занадто для моїх потреб — якщо доповнення не миттєве, швидше самому написати. Здивувало, що для цієї потреби я упираюся не в памʼять, а в обчислювальні потужності.

Ось такі поки результати.