Расскажем, где взять и как установить на свой компьютер нейросетевые модели. Покажем, как с ними работать в консольном режиме и при помощи некоторых инструментов с графическим интерфейсом пользователя.
Установка моделей и работа с ними в консольном режиме
В наши дни нейросети приобрели довольно большую популярность. Они помогают создавать программное обеспечение, пишут тексты, рисуют вполне неплохие картины в разных жанрах и многое другое. Большинство этих нейросетей работают в режиме онлайн, то есть обработка запроса и генерация ответа происходит где-то на удаленном сервере.
Пользователь лишь отправляет запрос, а через какое-то время ему приходит ответ с сервера, на котором работает нейросеть. Другими словами, компьютер пользователя работает как приемопередатчик: передал запрос — принял ответ.
Куда как интереснее, если нейросеть будет обитать на этом же компьютере, причем совершенно бесплатно. Но для этого ее надо на него установить. И с этим нам поможет фреймворк Ollama. Этот фреймворк предоставляет достаточно большое количество крупных языковых моделей, которые легко могут быть установлены и запущены локально на компьютере пользователя.
Перед тем как начать использовать модели, необходимо произвести установку Ollama. На этой странице можно скачать установщики для операционных систем macOS и Windows. Для этих систем установка Ollama не должна вызвать каких-либо затруднений. Просто запускаем скачанный установщик, а дальше все должно произойти автоматически. А вот пользователям Linux придется немного пообщаться с терминалом, в который нужно ввести следующую команду:
curl -fsSL https://ollama.com/install.sh | sh
Нажимаем Enter и ждем завершения выполнения установочного сценария. Теперь можно запустить какую-нибудь модель. На этой странице имеется список всех моделей, поддерживаемых Ollama. Для примера возьмем модель codellama. Вот ее отдельная страничка со всей необходимой информацией. Для ее запуска нужно скомандовать:
ollama run codellama
После установки и запуска модели мы увидим примерно следующее:
Модель приглашает нас отправить ей сообщение. Судя по описанию, эта модель должна неплохо справляться с генерацией кода. Попросим ее написать простенькую программу. В терминале нет подсветки синтаксиса, поэтому для наглядности приводим текст запроса и ответа вне терминала.
Текст запроса:
Напиши исходник программы-счетчика нажатий на кнопку на Python. В интерфейсе должны быть две кнопки. Одна увеличивает число на единицу, а другая - уменьшает. GUI пиши на Tkinter.
А вот ответ нейросети:
import tkinter as tk class Counter(tk.Tk): def __init__(self): super().__init__() self.title("Счетчик нажатий") self.button1 = tk.Button(self, text="+", command=self.increment) self.button1.pack() self.button2 = tk.Button(self, text="-", command=self.decrement) self.button2.pack() self.count = 0 self.label = tk.Label(self, text=f"Счетчик: {self.count}") self.label.pack() def increment(self): self.count += 1 self.update_counter() def decrement(self): if self.count > 0: self.count -= 1 self.update_counter() def update_counter(self): self.label.config(text=f"Счетчик: {self.count}") if __name__ == "__main__": Counter().mainloop()
Нажмите на кнопку "+", чтобы увеличить число, а на кнопку "-", чтобы уменьшить его.
Нейросеть даже оставила в конце небольшую инструкцию по эксплуатации программы. Программа, кстати, вполне рабочая. Вот так она выглядит в запущенном виде:
Чтобы запустить программу, нужно сохранить исходник в любом удобном месте под каким-нибудь подходящим именем, например таким, как counter.py, а потом скомандовать в терминале:
python3 counter.py
Для завершения работы с моделью достаточно отправить сообщение с текстом /bye. Для удаления ненужной модели можно воспользоваться командой rm, например так:
ollama rm codellama
Для обновления моделей можно использовать команду pull:
ollama pull codellama
А чтобы показать список всех установленных моделей, делаем так:
ollama list
Но это все работа в консольном режиме. Далеко не каждому такое по нраву. Поэтому дальше рассмотрим инструменты для работы с нейросетями с графическим интерфейсом пользователя.
Ollama-GUI
Этот инструмент легко установить при помощи пакетного менеджера PIP. В терминале пишем:
pip install ollama-gui
Жмем клавишу Enter и ждем завершения процесса установки. Для запуска программы командуем:
ollama-gui
Перед нами должно появиться такое окно:
В выпадающем списке сверху отображаются все установленные модели, из которых можно выбрать ту, с которой хочется пообщаться. С помощью следующей за списком кнопки открывается вот такой менеджер моделей:
Здесь можно загрузить новые модели и удалить старые. Для загрузки новой модели достаточно просто указать ее название в специальном поле и нажать на кнопку «Download». В главном окне у нас уже выбрана нейросеть под названием openchat. Давайте спросим ее о том, что она умеет. Вводим запрос в нижнее поле и нажимаем на кнопку «Send»:
Ответ получен. Все работает. Рассмотрим еще один графический инструмент.
Ollama-ui
Данный инструмент является расширением для браузера Google Chrome и других браузеров на основе движка Chromium. Установить его можно из официального магазина расширений. После установки переходим в список расширений браузера в тулбаре, находим и запускаем расширение:
Расширение запускается в отдельной вкладке. В выпадающем списке справа отображаются все установленные модели. Для теста выберем модель llama3.2 и попросим ее решить простой арифметический пример:
Пример решен правильно.
У расширения очень простой и понятный интерфейс, которым достаточно легко пользоваться. Настроек никаких нет, да они тут и не нужны. Перейдем к следующему инструменту.
Open WebUI
Этот инструмент для общения с нейросетями тоже работает в браузере, но не является расширением. Установить его можно при помощи PIP:
pip install open-webui
Но тут следует иметь в виду то, что на момент написания статьи эта штука работает только с Python версии 3.11, и если в системе установлена какая-то другая версия, то установка завершится с ошибкой. На помощь может прийти Conda. Она создаст виртуальное окружение с той версией Python, которая на данный момент необходима. Сначала нужно скачать и запустить установщик отсюда. Советуем загружать инсталлятор для Miniconda. Ее вполне должно хватить для нашей задачи. После установки вводим в терминале следующую команду:
conda create -n open-webui python=3.11
Эта команда как раз создаст нужное нам окружение. Далее нужно активировать созданное окружение:
conda activate open-webui
А вот теперь можно устанавливать нужный нам инструмент:
pip install open-webui
После установки запускаем сервер:
open-webui server
После запуска сервера в терминале увидим следующее:
В последней строке содержится адрес http://0.0.0.0:8080. Переходим по этому адресу при помощи любого браузера. От нас потребуется пройти простейшую регистрацию. Вводим имя, почту и придумываем какой-нибудь пароль. После регистрации заходим на наш локальный сервер и видим примерно следующее:
Сверху в левом углу расположен список всех загруженных моделей. Сразу же нас приглашают пообщаться с Arena Model, которая была загружена автоматически при установке Open WebUI. Не будем отказываться и попросим ее решить простенькую задачу:
Как видим, задача решена верно.
Чтобы завершить работу сервера, достаточно, находясь в терминале, нажать комбинацию клавиш Ctrl + C. Для того чтобы деактивировать окружение Conda, нужно скомандовать:
conda deactivate
Чтобы снова запустить Open WebUI, необходимо сначала активировать окружение и только потом запускать сервер. Понятно, что зайти на вышеуказанный адрес без запущенного сервера не получится. Подробнее об Open WebUI можно прочитать здесь. Теперь рассмотрим еще один инструмент с GUI.
Alpaca
Если инструменты, показанные в прошлых разделах, являются кросс-платформенными, то есть работают на большинстве десктопных ОС (Windows, macOS, Linux), то Alpaca создавалась чисто под Linux. Это приложение создано при помощи фреймворка GTK и библиотеки Libadwaita, поэтому идеально подходит для дистрибутивов с рабочим окружением GNOME.
Установить Alpaca можно через магазин приложений Flathub. На этой странице магазина для установки приложения предоставляется возможность скачать установочный пакет в формате .flatpakref или воспользоваться специальными командами для терминала.
После установки запускаем приложение:
Сразу же нам предлагается открыть менеджер моделей. Открываем:
Выберем какую-нибудь модель из этого списка. Возьмем, например, Llama3 от компании Meta*. Эта нейросеть создавалась для очень широкого круга задач. С ее помощью можно получать ответы на разные вопросы на естественном языке, генерировать код, анализировать тексты и многое другое. Загружаем нейросеть и после завершения процесса установки закрываем окно менеджера моделей. Можно сразу же начинать вводить первый запрос:
Здесь уже предлагаются три варианта запроса на английском языке. Попросим рассказать нейросеть о чем-нибудь из области астрономии:
Пришлось уточнять в запросе, что ответ нужен именно на русском языке. Без этого уточнения нейросеть будет писать ответ на английском языке. Как видим, ответ получился довольно развернутый. Нейросеть неплохо раскидала по группам состав Солнечной системы, указала все известные большие планеты и некоторые их спутники. Не забыла написать и о малых телах Солнечной системы. Информация, конечно, не совсем полная. Например, про те же кометы можно было бы написать, что они могут быть короткопериодические и долгопериодические.
Сообщество KDE ведет разработку похожего приложения под названием Alpaka. На этой странице можно немного с ним ознакомиться. Приложение на момент написания статьи еще находится на стадии разработки и нигде не выпущено.
Для Windows и macOS тоже есть парочка приложений для работы с моделями Ollama. Вот здесь можно найти приложение для Windows, а здесь — приложение для Mac, iPhone и iPad.
Подведем итоги
- Нейросети становятся все более популярными. Они помогают людям в их работе и творчестве.
- Нейросетевые модели Ollama довольно просты в установке, и их достаточно легко использовать в консольном режиме.
- Для работы с нейросетями имеются неплохие инструменты с графическим интерфейсом пользователя. Для тех, кто не любит работать с терминалом, некоторые из них могут быть удачным решением.
* Компания Meta признана экстремистской организацией в России.