Ког­да слы­шишь про генера­цию, пер­выми в голову при­ходят кар­тинки — от сюр­реалис­тичных шедев­ров до ани­ме‑клуб­нички. Но генери­ровать мож­но не толь­ко пик­сели, но и сло­ва. Сегод­ня мы раз­берем­ся, как запус­тить язы­ковую модель локаль­но, на собс­твен­ном железе, какую из них выб­рать — и для чего все это может при­годить­ся.

Ло­каль­ная генера­ция тек­стов одновре­мен­но и про­ще, и слож­нее, чем соз­дание кар­тинок. Про­ще потому, что локаль­ную LLM мож­но запус­тить бук­валь­но в два кли­ка, если зна­ешь, куда жать. Без уста­нов­ки драй­веров, весело­го квес­та с Python-окру­жени­ем и шаманс­тва с рас­ширяте­лями и улуч­шателя­ми.

Но самое инте­рес­ное начина­ется даль­ше, осо­бен­но если ты еще не зна­ешь, зачем вооб­ще генери­ровать тек­сты. Что ты будешь с ними делать? Кар­тинкой хотя бы мож­но поделить­ся в соц­сети, а сге­нери­рован­ным тек­стом? И еще один серь­езный воп­рос: какую модель выб­рать, что­бы она помес­тилась в виде­опа­мять и не прев­ратила твой компь­ютер в грел­ку для кота?

Впро­чем, до выбора модели надо еще дожить. Давай сна­чала запус­тим хотя бы что‑то, что будет работать и выдавать резуль­тат, а потом будем добивать­ся его улуч­шения.

 

Софт для локальных LLM

В самой пер­вой статье о генера­тив­ных ИИ я писал о прос­тей­шем при­ложе­нии для локаль­ной генера­ции — Fooocus. Его мож­но ска­чать, запус­тить, при­думать промпт и нажать на кноп­ку — и впол­не при­лич­ная кар­тинка получа­лась без каких‑то допол­нитель­ных телод­вижений. Да, по мере накоп­ления опы­та огра­ниче­ния начина­ют нап­рягать, и в резуль­тате поль­зователь ухо­дит на WebUI, Forge, SwarmUI или Comfy — далеко не такие дру­желюб­ные, но очень мощ­ные инс­тру­мен­ты.

В мире локаль­ных LLM есть свой «Фукус». Его роль выпол­няет прог­рамма LM Studio — бес­плат­ная, но без исходни­ков. Одна­ко, в отли­чие от Fooocus, в LM Studio не так что­бы мно­го огра­ниче­ний; поль­зовате­ли сидят в нем годами, не испы­тывая насущ­ной пот­ребнос­ти в чем‑то помощ­нее. Тем не менее я перечис­лю основные про­екты для локаль­ной генера­ции тек­стов.

  • LM Studio (ты находишь­ся здесь) — натив­ное кросс‑плат­формен­ное при­ложе­ние с инстал­лятором, не исполь­зует Python и не име­ет ни внеш­них зависи­мос­тей, ни воз­можнос­ти уста­нов­ки рас­ширений. Под­держи­вает GGUF — самый рас­простра­нен­ный на Hugging Face фор­мат моделей.
  • Jan AI — тоже муль­тип­латфор­менное при­ложе­ние с уста­нов­щиком — и откры­тым исходным кодом с регуляр­ными обновле­ниями. Веро­ятно, его раз­работ­чики вдох­новились интерфей­сом LM Studio: внеш­не Jan мак­сималь­но похож. Здесь нет некото­рых при­ятных фишек LM Studio (нап­ример, поис­ка и ска­чива­ния моделей нап­рямую из Hugging Face), зато — пол­ная откры­тость.
  • AnythingLLM — сно­ва мно­гоп­латфор­менность, сно­ва уста­нов­щик, откры­тый исходный код... Клон LM Studio? Вов­се нет: AnythingLLM — мощ­ный инс­тру­мент, пред­назна­чен­ный в пер­вую оче­редь для работы. Здесь серь­езная под­дер­жка RAG (работа с докумен­тами, ког­да ИИ отве­чает на зап­росы, осно­выва­ясь на дан­ных из добав­ленных тобой фай­лов, а не на собс­твен­ных фан­тази­ях) и мощ­ная под­дер­жка раз­нооб­разных аген­тов — фак­тичес­ки прог­рамми­руемых инс­тру­мен­тов для вза­имо­дей­ствия модели с внеш­ним миром. Очень мощ­ный про­дукт, но для начина­ющих — слож­новат и избы­точен.
  • GPT4All — еще один мно­гоп­латфор­менный про­ект с уста­нов­щиком. Пожалуй, даже про­ще в исполь­зовании, чем LM Studio, но не обла­дает мно­гими полез­ными воз­можнос­тями. Ими­тиру­ет интерфейс ChatGPT, обновле­ния быва­ют, но нечас­то.
  • SillyTavern — если твоя цель — тек­сто­вые квес­ты и ролевые игры с деталь­но про­рабо­тан­ными пер­сонажа­ми и сквоз­ным сюжетом, то ничего луч­ше SillyTavern пока не при­дума­ли. Кар­точки пер­сонажей и ори­гиналь­ные готовые сюжеты (нап­ример, путешес­твие по клас­сичес­ким кни­гам или сце­нарий, в котором ты все­го лишь голос в голове у ИИ‑пер­сонажа, который будет с тобой спо­рить и делать напере­кор) — в широчай­шем ассорти­мен­те. Вооб­ще говоря, ролевые игры с LLM — раз­вле­чение весь­ма популяр­ное; об этом сви­детель­ству­ют более 700 тысяч кар­точек пер­сонажей и сце­нари­ев на сай­те JannyAI. С уста­нов­кой и нас­трой­кой при­дет­ся повозить­ся: SillyTavern — все­го лишь фрон­тенд, который работа­ет через локаль­ный API с дру­гим соф­том. В то же вре­мя некое подобие мож­но реали­зовать и в LM Studio — нап­ример, через сис­темный зап­рос или при­цеп­ленный к чату файл.
  • Oobabooga, или oobabooga text generation WebUI, соз­натель­но соз­давал­ся как сво­еоб­разный A1111, толь­ко для тек­стов. Работа через бра­узер, мас­са нас­тро­ек, при­выч­ные игры с Python, окру­жени­ем и зависи­мос­тями.
  • Open WebUI — еще один вари­ант WebUI, с под­дер­жкой раз­ных движ­ков, рас­ширений и API. Шту­ка мощ­ная, но для пер­вого раза — слож­новатая.
  • Ollama — хар­дкор, толь­ко хар­дкор. Ollama — клас­сика в мире локаль­ных LLM. Работа­ет через тер­минал, пре­дос­тавля­ет локаль­ный API — чем, собс­твен­но, и поль­зуют­ся мно­гочис­ленные прог­раммы‑надс­трой­ки вро­де SillyTavern или Open WebUI. Впро­чем, есть немало любите­лей початить­ся с ИИ пря­мо в окне тер­минала.
 

LM Studio: начало

Итак, обоз­рев воз­можные вари­анты, оста­новим­ся на LM Studio — на нем мы и будем потом тес­тировать раз­ные модели и фиш­ки.

С уста­нов­кой все прос­то. Для начала убе­дись, что у тебя на сис­темном дис­ке есть хотя бы 3 Гбайт сво­бод­ного мес­та: незави­симо от пути уста­нов­ки самого при­ложе­ния, в пап­ку c:\Users\<username>\.lmstudio будут авто­мати­чес­ки ска­чаны необ­ходимые для работы фрей­мвор­ки.

За­тем с сай­та lmstudio.ai ска­чай уста­нов­щик, запус­ти — и вско­ре на тво­ем компь­юте­ре появит­ся ярлык LM Studio.

Преж­де чем прис­тупить к выбору и ска­чива­нию моделей, рекомен­дую обра­тить вни­мание на две нас­трой­ки. Во‑пер­вых, воз­можно, тебе име­ет смысл отклю­чить исполь­зование встро­енно­го прок­си‑сер­вера (он вклю­чен по умол­чанию, а нужен, по сути, лишь в ситу­ациях, ког­да сайт Hugging Face с тво­его компь­юте­ра нап­рямую недос­тупен; открыть нас­трой­ки мож­но кли­ком на икон­ку в пра­вом ниж­нем углу интерфей­са или ком­бинаци­ей кла­виш Ctrl-,.

Продолжение доступно только участникам

Материалы из последних выпусков становятся доступны по отдельности только через два месяца после публикации. Чтобы продолжить чтение, необходимо стать участником сообщества «Xakep.ru».

Присоединяйся к сообществу «Xakep.ru»!

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    4 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии