Опять же, как было в случае с [принтером](/posts/ricoh_config), у меня Arch-based дистрибутив, поэтому буду расписывать по нему.
Начнём с установки **[Ollama](https://github.com/ollama/ollama)**. У меня карточка от красных, поэтому я ставлю версию **rocm**.
```bash
yay -S ollama-rocm
```
или
```bash
sudo pacman -S ollama-rocm
```
Как в моём случае, почему-то оно не подхватывало мою **RX 6700 XT** (но [тут](https://github.com/ollama/ollama/issues/3547) нашлось решение), поэтому мне пришлось редактировать **сервис systemd** следующим образом:
```bash
sudo systemctl edit --full ollama
```
```bash
[Unit]
Description=Ollama Service
Wants=network-online.target
After=network.target network-online.target
[Service]
ExecStart=/usr/bin/ollama serve
WorkingDirectory=/var/lib/ollama
Environment="HOME=/var/lib/ollama"
Environment="HSA_OVERRIDE_GFX_VERSION=10.3.0" # Добавлено, чтобы увидело карточку
Environment="OLLAMA_HOST=0.0.0.0" # Возможность локально подключатся извне
User=ollama
Group=ollama
Restart=on-failure
RestartSec=3
Type=simple
PrivateTmp=yes
ProtectSystem=full
ProtectHome=yes
[Install]
WantedBy=multi-user.target
```
Далее устанавливаем желаемую модель, в моём случае это **`llama3`** и **`qwen2`**
```bash
ollama pull llama3
```
```bash
ollama pull qwen2
```
Далее идём ставить **[LiteLLM](https://github.com/BerriAI/litellm)**. Это прослойка между Ollama и [Nextcloud LocalAI](https://github.com/nextcloud/integration_openai), которая использует запросы в формате OpenAI API.
```bash
pipx install 'litellm[proxy]'
```
Нам нужна именно **`litellm[proxy]`**, а не просто **`litellm`**!
Теперь нужно собственно, запустить модели, с которыми впоследствии мы будем общаться через [Nextcloud Assistant](https://github.com/nextcloud/assistant). \
Однако, перед тем, как мы перейдём к запуску наших моделей, нам нужно создать файлик **`config.yaml`**, который мы впоследствии "скормим" **litellm**
```bash
model_list:
- model_name: ollama/llama3
litellm_params:
model: ollama/llama3
- model_name: ollama/qwen2
litellm_params:
model: ollama/qwen2
# ну далее по шаблону, если есть другие модели
```
Затем я сделал **systemd** сервис, чтобы не запускать это дело ручками, он должен располагаться в
Теперь идём в настройки сервера **Искусственный интеллект** [/settings/admin/ai], предварительно установив **Nextcloud Assistant** и **OpenAI and LocalAI integration**, листаем ниже до **`OpenAI и локальная интеграция`**.
```bash
Service URL - ip_пк:4000
Service Name (optional) - LiteLLM (или другое, какое хотите)
API key - не нужен
Default completion model to use - выбираем ollama/ваша_модель (openai)
Max new tokens per request - я поставил 17500, но это уже индивидуально
Select enabled features
отключил:
Image generation provider
Speech-to-text
потому что модель такое не умеет
```
Статья написана без использования ИИ. Хотя, наверное, это и так видно 🙃