Подключение локальной LLM к IDEA через Ollama

Уже ни для кого не новость, что нейросети всё больше и больше внедряются в нашу жизнь. И если так пошло и не можешь остановить беспредел – возглавь его, в конце концов. Поэтому сегодня мы развернём Ollama, подключим к ней Qwen и попросим его из IDEA что-нибудь нам написать полезного. Далее примеры и скриншоты будут для установки под Linux, под Windows всё делает инсталляторами.

Ollama

Ollama это программа для запуска LLM (large language model, большая языковая модель). Имеет простой CLI и в целом отвечает большинству простых потребностей.

Сама установка достаточно проста:

$ curl -L https://ollama.com/download/ollama-linux-amd64.tgz -o ollama-linux-amd64.tgz
$ sudo tar -C /usr -xzf ollama-linux-amd64.tgz

Соответственно, скачиваем и распаковывем под root’ом архив в /usr. Для проверки выполним запрос версии и увидим следующий ответ:

$ ollama -v
Warning: could not connect to a running Ollama instance
Warning: client version is 0.6.2

Что логично, потому что ollama мы не запускали. Можно запустить руками через

$ ollama serve

А можно добавить её сервисом. Для этого создадим конфигуацию сервиса и пользователя с группой и добавимся в неё:

$ sudo useradd -r -s /bin/false -U -m -d /usr/share/ollama ollama
$ sudo usermod -a -G ollama $(whoami)
$ sudo nano /etc/systemd/system/ollama.service
[Unit]
Description=Ollama Service
After=network-online.target

[Service]
ExecStart=/usr/bin/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3
Environment="PATH=$PATH"

[Install]
WantedBy=multi-user.target

После всего обновляем информацию о сервисах, включаем и запускаем сервис:

$ sudo systemctl daemon-reload
$ sudo systemctl enable ollama
$ sudo systemctl start ollama

Теперь проверка версии просто вернёт нам текущую версию Ollama.

LLM

Теперь качаем модель. Тут очень большой простор для выбора. Потому что всё зависит от количества вашей оперативной памяти. Я использую qwen2.5-coder-32b-instruct-q6_k.gguf. Для работы с ноутбука, скажем в такой конфигурации: Core i5 12gen, RAM 16Gb, RTX 3050 я бы брал что-то вроде Qwen-2.5-Coder-7B GGUF Q4 или Q5. Но опять-таки, скачать можно любую модель, вопрос в том, как будет работать

Создаём папочку, где будем хранить скаченные модели:

$ mkdir -p ~/llms/qwen25-coder-32b

И качаем туда модель с https://huggingface.co/Qwen/Qwen2.5-Coder-32B-Instruct-GGUF.

После чего создаём файл Modelfile со следующим содержимым:

$ echo "FROM ./qwen2.5-coder-32b-instruct-q6_k.gguf" > Modelfile

Загружаем модель

$ ollama create my-qwen25-coder -f Modelfile

Проверяем, что модель создалась

$ ollama list
NAME                      ID              SIZE     MODIFIED       
my-qwen25-coder:latest    25c23168b3d4    26 GB    12 seconds ago 

И запускаем её (чтобы проверить)

$ ollama run my-qwen25-coder
>>> Напиши мне пример hello world на ruby
.
Конечно! Вот простой пример программы "Hello World" на Ruby:

```ruby
puts 'Hello, World!'
```
>>> Send a message (/? for help)

Отлично, работает. Переходим к настройке IDEA.

Intellij IDEA

Для того, чтобы подключить Ollama к IDEA нужно установить плагин Continue. Открываем File -> Settings (или просто жмём Ctrl + Alt + S), переходим во вкладку Plugins и ищем и устанавливаем плагин Continue.

Подключение локальной LLM к IDEA. Установка плагина Continue для Intellij IDEA

Сразу после установки нам откроется справочный файл, в котором можно посмотреть основные действия.

Подключение локальной LLM к IDEA. Туториал плагина Continue

Также, справа в панели появится значок Continue. Нажимаем на него

Подключение локальной LLM к IDEA.  Настройка плагина Continue

Далее, мы говорим, спасибо, но поработаем локально

Подключение локальной LLM к IDEA.  Говорим Continue, что будем работать локально

И подключаем через провайдер Ollama нашу модель (она у нас одна, так что можно выбрать autodetect).

Подключение локальной LLM к IDEA.  Подключаем локальную Ollama и выбираем нашу модель

И теперь можем попросить модельку нам сгенерировать небольшой кусочек кода. Нажимаем Ctrl + I, вводим запрос, жмём Enter.

Подключение локальной LLM к IDEA.  Вводим запрос к Qwen 2.5 coder

Ждём. Получаем ответ. Если нравится – жмём Ctrl + Shift + Enter, если нет – говорим, что менять.

Картинку для превью этой записи – тоже сгенерил Qwen :)

Читайте также:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *