> For the complete documentation index, see [llms.txt](https://docs.clore.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.clore.ai/guides/guides_v2-ru/platformy-i-agenty-ii/anythingllm.md).

# RAG-платформа AnythingLLM

Разверните AnythingLLM на Clore.ai — универсальную RAG-платформу и платформу ИИ-агентов со встроенным чатом по документам, no-code конструктором агентов и поддержкой MCP, работающую на экономичных GPU-облачных серверах.

## Обзор

[AnythingLLM](https://github.com/Mintplex-Labs/anything-llm) — это полнофункциональное AI-рабочее пространство с открытым исходным кодом и более чем 40 тыс. звёзд на GitHub. Оно объединяет документный RAG (Retrieval-Augmented Generation), AI-агентов и no-code конструктор агентов в одном самохостируемом приложении — всем этим можно управлять через чистый, интуитивный интерфейс, для настройки которого не требуется ни строчки кода.

**Зачем запускать AnythingLLM на Clore.ai?**

* **Полный RAG-пайплайн из коробки** — Загружайте PDF, документы Word, веб-сайты и расшифровки YouTube. AnythingLLM автоматически разбивает их на чанки, создаёт эмбеддинги и сохраняет для семантического поиска.
* **Для приложения GPU не требуется** — По умолчанию AnythingLLM использует CPU-эмбеддинги. Сочетайте его с GPU-сервером Clore.ai, на котором запущены Ollama или vLLM, для локального инференса.
* **AI-агенты с реальными инструментами** — Встроенные агенты могут просматривать веб, писать и выполнять код, управлять файлами и вызывать внешние API — и всё это оркестрируется через GUI.
* **Совместимость с MCP** — Интегрируется с экосистемой Model Context Protocol для расширенного подключения инструментов.
* **Изоляция рабочих пространств** — Создавайте отдельные рабочие пространства с разными базами знаний и настройками LLM для разных проектов или команд.

### Обзор архитектуры

```
┌─────────────────────────────────────────────┐
│            AnythingLLM (порт 3001)          │
│                                             │
│  ┌──────────┐  ┌──────────┐  ┌──────────┐  │
│  │ RAG/Док │  │  Агенты  │  │ Пользователи │  │
│  └────┬─────┘  └────┬─────┘  └──────────┘  │
│       │             │                       │
│  ┌────▼─────────────▼───────┐               │
│  │ Маршрутизатор провайдеров LLM │               │
│  └──────────────┬───────────┘               │
└─────────────────┼───────────────────────────┘
                  │
     ┌────────────┼────────────┐
     ▼            ▼            ▼
  OpenAI       Anthropic    Ollama (локальный)
  Claude        Gemini      vLLM (локальный)
```

***

## Требования

### Технические характеристики сервера

| Компонент     | Минимум      | Рекомендуется                              | Примечания                                     |
| ------------- | ------------ | ------------------------------------------ | ---------------------------------------------- |
| **GPU**       | Не требуется | RTX 3090 (если используются локальные LLM) | Только для backend Ollama/vLLM                 |
| **VRAM**      | —            | 24 ГБ                                      | Для локального инференса моделей               |
| **CPU**       | 2 vCPU       | 4 vCPU                                     | Эмбеддинг выполняется на CPU                   |
| **ОЗУ**       | 4 ГБ         | 8 ГБ                                       | Больше = крупнее индекс документов в памяти    |
| **Хранилище** | 10 ГБ        | 50+ ГБ                                     | Хранилище документов, векторная БД, кэш модели |

### Справка по ценам Clore.ai

| Тип сервера                    | Примерная стоимость                         | Сценарий использования                         |
| ------------------------------ | ------------------------------------------- | ---------------------------------------------- |
| CPU-инстанс (4 vCPU, 8 ГБ RAM) | \~0,05–0,10 $/час                           | AnythingLLM + внешние API-провайдеры           |
| RTX 3090 (24 ГБ VRAM)          | $0.07–0.21/ч                                | AnythingLLM + локальные LLM Ollama             |
| RTX 4090 (24 ГБ VRAM)          | $0.14–0.42/ч                                | AnythingLLM + более быстрый локальный инференс |
| A100 80 ГБ                     | [голое железо](https://clore.ai/bare-metal) | AnythingLLM + крупные модели 70B+              |

> 💡 **Совет:** Встроенный эмбеддинг AnythingLLM (LanceDB + локальный CPU-эмбеддер) работает без GPU. Для backend LLM можно использовать бесплатные API-провайдеры вроде OpenRouter или Groq, чтобы минимизировать расходы.

### Предварительные требования

* Сервер Clore.ai с доступом по SSH
* Docker (предустановлен на серверах Clore.ai)
* Как минимум один API-ключ LLM **или** локальный backend Ollama/vLLM

***

## Быстрый старт

### Способ 1: Один Docker-контейнер (рекомендуется)

Официальное развёртывание в одном контейнере включает всё: веб-интерфейс, векторное хранилище LanceDB и обработчик документов.

**Шаг 1: Подключитесь к вашему серверу Clore.ai**

```bash
ssh root@<your-clore-server-ip> -p <ssh-port>
```

**Шаг 2: Настройте каталог хранения**

```bash
export STORAGE_LOCATION=$HOME/anythingllm
mkdir -p $STORAGE_LOCATION
touch "$STORAGE_LOCATION/.env"
```

**Шаг 3: Запустите AnythingLLM**

```bash
docker run -d \
  --name anythingllm \\
  --restart unless-stopped \
  -p 3001:3001 \\
  --cap-add SYS_ADMIN \\
  -v ${STORAGE_LOCATION}:/app/server/storage \\
  -v ${STORAGE_LOCATION}/.env:/app/server/.env \\
  -e STORAGE_DIR="/app/server/storage" \\
  mintplexlabs/anythingllm
```

> **Почему `--cap-add SYS_ADMIN`?** AnythingLLM использует Chromium для парсинга веб-страниц и рендеринга PDF, для чего требуются повышенные возможности контейнера.

**Шаг 4: Проверьте запуск**

```bash
docker logs anythingllm --tail 30 -f
# Дождитесь: "Server listening on port 3001"
```

**Шаг 5: Завершите мастер настройки**

Откройте в браузере:

```
http://<your-clore-server-ip>:3001
```

Мастер первой настройки проведёт вас через:

1. Создание учётной записи администратора
2. Выбор провайдера LLM
3. Выбор модели эмбеддингов
4. Настройка первого рабочего пространства

***

### Способ 2: Docker Compose (многосервисный)

Для продакшн-развёртывания с отдельными сервисами и более удобным управлением:

**Шаг 1: Создайте каталог проекта**

```bash
mkdir -p ~/anythingllm && cd ~/anythingllm
mkdir -p storage
touch storage/.env
```

**Шаг 2: Создайте `docker-compose.yml`**

```bash
cat > docker-compose.yml << 'EOF'
version: '3.8'

services:
  anythingllm:
    image: mintplexlabs/anythingllm:latest
    container_name: anythingllm
    restart: unless-stopped
    ports:
      - "3001:3001"
    cap_add:
      - SYS_ADMIN
    environment:
      STORAGE_DIR: "/app/server/storage"
      # Провайдер LLM (настройте один)
      LLM_PROVIDER: openai
      OPEN_AI_KEY: ${OPENAI_API_KEY}
      OPEN_MODEL_PREF: gpt-4o-mini
      # Эмбеддинг
      EMBEDDING_ENGINE: native
      # Векторная БД
      VECTOR_DB: lancedb
      # Аутентификация
      AUTH_TOKEN: ${ANYTHINGLLM_AUTH_TOKEN}
      JWT_SECRET: ${JWT_SECRET}
    volumes:
      - ./storage:/app/server/storage
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:3001/api/ping"]
      interval: 30s
      timeout: 10s
      retries: 3

volumes:
  anythingllm_storage:
EOF
```

**Шаг 3: Создайте `.env` файл**

```bash
cat > .env << 'EOF'
OPENAI_API_KEY=sk-your-openai-key-here
ANYTHINGLLM_AUTH_TOKEN=your-instance-password-here
JWT_SECRET=your-random-64-char-secret-here
EOF
```

**Шаг 4: Запустите**

```bash
docker compose up -d
docker compose logs anythingllm -f
```

***

### Способ 3: С заранее настроенными переменными окружения

Для автоматизированного развёртывания без мастера настройки:

```bash
export STORAGE_LOCATION=$HOME/anythingllm
mkdir -p $STORAGE_LOCATION && touch "$STORAGE_LOCATION/.env"

docker run -d \
  --name anythingllm \\
  --restart unless-stopped \
  -p 3001:3001 \\
  --cap-add SYS_ADMIN \\
  -v ${STORAGE_LOCATION}:/app/server/storage \\
  -v ${STORAGE_LOCATION}/.env:/app/server/.env \\
  -e STORAGE_DIR="/app/server/storage" \\
  -e LLM_PROVIDER=openai \\
  -e OPEN_AI_KEY=sk-your-key \\
  -e OPEN_MODEL_PREF=gpt-4o-mini \\
  -e EMBEDDING_ENGINE=native \\
  -e VECTOR_DB=lancedb \\
  -e AUTH_TOKEN=your-password \\
  -e JWT_SECRET=$(openssl rand -hex 32) \\
  mintplexlabs/anythingllm
```

***

## Конфигурация

### Варианты провайдера LLM

AnythingLLM поддерживает широкий спектр backend-ов LLM. Настройте в UI в разделе **Настройки → Предпочтение LLM**, либо через переменные окружения:

**OpenAI:**

```bash
-e LLM_PROVIDER=openai
-e OPEN_AI_KEY=sk-your-key
-e OPEN_MODEL_PREF=gpt-4o
```

**Anthropic Claude:**

```bash
-e LLM_PROVIDER=anthropic
-e ANTHROPIC_API_KEY=sk-ant-your-key
-e ANTHROPIC_MODEL_PREF=claude-sonnet-4-5
```

**Google Gemini:**

```bash
-e LLM_PROVIDER=gemini
-e GEMINI_API_KEY=your-key
-e GEMINI_LLM_MODEL_PREF=gemini-1.5-pro
```

**Ollama (локально):**

```bash
-e LLM_PROVIDER=ollama
-e OLLAMA_BASE_PATH=http://172.17.0.1:11434
-e OLLAMA_MODEL_PREF=llama3.2
```

**OpenRouter (доступ к 100+ моделям):**

```bash
-e LLM_PROVIDER=openrouter
-e OPENROUTER_API_KEY=sk-or-your-key
-e OPENROUTER_MODEL_PREF=meta-llama/llama-3.1-8b-instruct:free
```

### Конфигурация эмбеддинга

| Движок    | Backend          | Требуется GPU | Качество       |
| --------- | ---------------- | ------------- | -------------- |
| `native`  | CPU (встроенный) | Нет           | Хорошо         |
| `openai`  | OpenAI API       | Нет           | Отлично        |
| `ollama`  | Локальный Ollama | Необязательно | Хорошо-отлично |
| `localai` | LocalAI          | Необязательно | Переменная     |

```bash
# Используйте эмбеддинги OpenAI для лучшего качества
-e EMBEDDING_ENGINE=openai
-e OPEN_AI_KEY=sk-your-key
-e EMBEDDING_MODEL_PREF=text-embedding-3-small

# Используйте эмбеддинги Ollama для полностью локального пайплайна
-e EMBEDDING_ENGINE=ollama
-e OLLAMA_BASE_PATH=http://172.17.0.1:11434
-e EMBEDDING_MODEL_PREF=nomic-embed-text
```

### Варианты векторной базы данных

| БД         | Описание                           | Лучше всего для                                 |
| ---------- | ---------------------------------- | ----------------------------------------------- |
| `lancedb`  | Встроено, без настройки            | По умолчанию, небольшие и средние наборы данных |
| `chroma`   | ChromaDB (внешняя)                 | Средние наборы данных, гибкость                 |
| `pinecone` | облако Pinecone                    | Крупные наборы данных, для продакшена           |
| `weaviate` | Weaviate (самостоятельный хостинг) | Сложные сценарии использования                  |

### Настройка рабочего пространства

Рабочие пространства AnythingLLM — это изолированные окружения со своими:

* Базой знаний документов
* Настройками LLM (можно переопределить глобальные)
* Историей чата
* Конфигурациями агентов

Создавайте рабочие пространства через UI или API:

```bash
# Создать рабочее пространство через API
curl -X POST http://localhost:3001/api/v1/workspace/new \\
  -H "Authorization: Bearer your-api-key" \\
  -H "Content-Type: application/json" \\
  -d '{"name": "My Project", "similarityThreshold": 0.7}'
```

### Загрузка документов

Загружайте документы через UI или API:

```bash
# Загрузить документ через API
curl -X POST http://localhost:3001/api/v1/document/upload \\
  -H "Authorization: Bearer your-api-key" \\
  -F "file=@/path/to/document.pdf"

# Переместить документ в рабочее пространство
curl -X POST http://localhost:3001/api/v1/workspace/my-project/update-embeddings \\
  -H "Authorization: Bearer your-api-key" \\
  -H "Content-Type: application/json" \\
  -d '{"adds": ["custom-documents/document.pdf-chunk-1.json"]}'
```

***

## Ускорение на GPU

Сам AnythingLLM работает на CPU. Ускорение GPU применяется к backend-инференсу LLM.

### Запуск Ollama на том же сервере Clore.ai

```bash
# Запустите Ollama с поддержкой GPU
docker run -d \
  --name ollama \\
  --gpus all \
  --restart unless-stopped \
  -p 11434:11434 \\
  -v ollama_data:/root/.ollama \\
  ollama/ollama

# Скачайте модели для AnythingLLM
docker exec ollama ollama pull llama3.2          # 2B, быстро
docker exec ollama ollama pull llama3.1:8b       # 8B, сбалансированно
docker exec ollama ollama pull nomic-embed-text  # для эмбеддингов
docker exec ollama ollama pull mxbai-embed-large # лучшие эмбеддинги

# Перезапустите AnythingLLM с конфигурацией Ollama
docker stop anythingllm && docker rm anythingllm

docker run -d \
  --name anythingllm \\
  --restart unless-stopped \
  -p 3001:3001 \\
  --cap-add SYS_ADMIN \\
  -v $HOME/anythingllm:/app/server/storage \\
  -v $HOME/anythingllm/.env:/app/server/.env \\
  -e STORAGE_DIR="/app/server/storage" \\
  -e LLM_PROVIDER=ollama \\
  -e OLLAMA_BASE_PATH=http://172.17.0.1:11434 \\
  -e OLLAMA_MODEL_PREF=llama3.1:8b \\
  -e EMBEDDING_ENGINE=ollama \\
  -e EMBEDDING_MODEL_PREF=nomic-embed-text \\
  mintplexlabs/anythingllm
```

### Производительность GPU-моделей на Clore.ai

| Модель        | GPU        | VRAM  | Скорость эмбеддинга | Скорость инференса | Стоимость/ч |
| ------------- | ---------- | ----- | ------------------- | ------------------ | ----------- |
| Llama 3.2 3B  | RTX 3090   | 2 ГБ  | Быстро              | 60–80 ток/с        | \~$0.20     |
| Llama 3.1 8B  | RTX 3090   | 6 ГБ  | Быстро              | 40–60 ток/с        | \~$0.20     |
| Mistral 7B    | RTX 3090   | 5 ГБ  | Быстро              | 45–65 ток/с        | \~$0.20     |
| Llama 3.1 70B | A100 80 ГБ | 40 ГБ | Средне              | 20–35 ток/с        | \~$1.10     |

***

## Советы и лучшие практики

### Лучшие практики загрузки документов

```bash
# Для больших наборов документов увеличьте память Node.js
-e NODE_OPTIONS="--max-old-space-size=4096"

# Рекомендуемые настройки чанков для разных типов документов
# Техническая документация: размер чанка 1000, overlap 200
# Юридические документы/контракты: размер чанка 500, overlap 100
# Книги/статьи: размер чанка 1500, overlap 300
```

* **Предварительно обрабатывайте большие PDF** — Сканированные PDF с большим количеством OCR замедляют загрузку. Используйте `pdftotext` или заранее Adobe OCR.
* **Организуйте по рабочим пространствам** — Создавайте отдельные рабочие пространства для каждого проекта/домена для более точного поиска.
* **Используйте конкретные запросы** — RAG лучше всего работает с конкретными вопросами, а не с расплывчатыми запросами.

### Управление затратами на Clore.ai

```bash
# Сделайте резервную копию хранилища перед остановкой инстанса Clore.ai
tar -czf anythingllm-backup-$(date +%Y%m%d).tar.gz ~/anythingllm/

# Чтобы продолжить на новом инстансе Clore.ai, восстановите резервную копию
tar -xzf anythingllm-backup-20240101.tar.gz -C ~/
```

Поскольку инстансы Clore.ai недолговечны, всегда делайте резервную копию каталога хранения. В нём находятся:

* Векторные эмбеддинги (LanceDB)
* Загруженные документы
* Историей чата
* Конфигурациями агентов

### Настройка для нескольких пользователей

```bash
# Включите многопользовательский режим в UI:
# Настройки → Безопасность → Включить многопользовательский режим

# Или через переменные окружения:
-e MULTI_USER_MODE=true

# Создайте пользователя через API после включения многопользовательского режима
curl -X POST http://localhost:3001/api/v1/admin/users/new \\
  -H "Authorization: Bearer admin-api-key" \\
  -H "Content-Type: application/json" \\
  -d '{"username": "alice", "password": "securepass", "role": "default"}'
```

### Настройка AI-агента

Агенты AnythingLLM могут выполнять реальные задачи. Включите инструменты в **Настройки → Агенты**:

* **Просмотр веб-страниц** — Получает и читает веб-страницы
* **Поиск Google** — Ищет в Google (требуется API-ключ)
* **Интерпретатор кода** — Выполняет Python в песочнице
* **GitHub** — Читает репозитории
* **SQL-коннектор** — Запрашивает базы данных

```bash
# Включите возможности агента через переменные окружения
-e AGENT_SEARCH_PROVIDER=google
-e AGENT_GSX_GOOGLE_SEARCH_ENGINE_ID=your-cx-id
-e AGENT_GSX_GOOGLE_SEARCH_KEY=your-api-key
```

### Тонкая настройка производительности

```bash
# Для тяжёлых задач обработки документов
docker run -d \
  --name anythingllm \\
  --restart unless-stopped \
  --cpus="4" \\
  --memory="8g" \\
  -p 3001:3001 \\
  --cap-add SYS_ADMIN \\
  -v $HOME/anythingllm:/app/server/storage \\
  -v $HOME/anythingllm/.env:/app/server/.env \\
  -e STORAGE_DIR="/app/server/storage" \\
  mintplexlabs/anythingllm
```

### Обновление AnythingLLM

```bash
# Скачайте последнюю версию образа
docker pull mintplexlabs/anythingllm:latest

# Сначала сделайте резервную копию
cp -r $HOME/anythingllm $HOME/anythingllm-backup-$(date +%Y%m%d)

# Остановите и удалите старый контейнер (данные в томе, это безопасно)
docker stop anythingllm && docker rm anythingllm

# Перезапустите той же командой
docker run -d \
  --name anythingllm \\
  --restart unless-stopped \
  -p 3001:3001 \\
  --cap-add SYS_ADMIN \\
  -v $HOME/anythingllm:/app/server/storage \\
  -v $HOME/anythingllm/.env:/app/server/.env \\
  -e STORAGE_DIR="/app/server/storage" \\
  mintplexlabs/anythingllm
```

***

## Устранение неполадок

### Контейнер запускается, но UI недоступен

```bash
# Проверьте, что контейнер запущен
docker ps | grep anythingllm

# Проверьте логи на ошибки запуска
docker logs anythingllm --tail 50

# Проверьте привязку порта
ss -tlnp | grep 3001

# Проверьте, есть ли у сервера Clore.ai порт 3001 в пробросе портов
# (добавьте его в настройках развёртывания Clore.ai)
```

### Не удаётся загрузить документ

```bash
# Проверьте доступное место на диске
df -h

# Проверьте логи обработчика документов
docker logs anythingllm 2>&1 | grep -i "error\|fail\|upload"

# Убедитесь, что задана возможность SYS_ADMIN (требуется для Chromium)
docker inspect anythingllm | grep -A5 CapAdd
```

### Ответы RAG низкого качества / галлюцинации

Распространённые причины и способы устранения:

```bash
# 1. Настройте порог сходства (ниже = извлекается больше документов)
# Настройки → Рабочее пространство → Векторная база данных → Порог сходства: 0.5

# 2. Увеличьте количество top-K результатов
# Настройки → Рабочее пространство → Векторная база данных → Максимум фрагментов контекста: 10

# 3. Улучшите размер чанка (после изменения повторно загрузите документы)
# Настройки → Рабочее пространство → Текстовый разделитель → Размер чанка: 1000, overlap: 200

# 4. Переключитесь на более качественную модель эмбеддингов
-e EMBEDDING_ENGINE=openai
-e EMBEDDING_MODEL_PREF=text-embedding-3-large
```

### Сбой подключения Ollama из AnythingLLM

```bash
# Проверьте из контейнера AnythingLLM
docker exec anythingllm curl -s http://172.17.0.1:11434/api/tags

# Если это не сработает, найдите фактический IP Docker bridge
ip route | grep docker
# Используйте этот IP в OLLAMA_BASE_PATH

# Альтернатива: используйте сетевой режим host
docker run -d \
  --name anythingllm \\
  --network host \\
  --cap-add SYS_ADMIN \\
  -v $HOME/anythingllm:/app/server/storage \\
  -v $HOME/anythingllm/.env:/app/server/.env \\
  -e STORAGE_DIR="/app/server/storage" \\
  -e OLLAMA_BASE_PATH=http://localhost:11434 \\
  mintplexlabs/anythingllm
```

### Недостаточно памяти / сбой контейнера

```bash
# Проверьте использование памяти
docker stats anythingllm

# Освободите память, уменьшив кэш LanceDB
# Или переключитесь на инстанс Clore.ai с большим объёмом RAM

# Перезапустите с ограничениями памяти и swap
docker run -d \
  --name anythingllm \\
  --memory=6g \\
  --memory-swap=8g \\
  -p 3001:3001 \\
  --cap-add SYS_ADMIN \\
  -v $HOME/anythingllm:/app/server/storage \\
  -v $HOME/anythingllm/.env:/app/server/.env \\
  -e STORAGE_DIR="/app/server/storage" \\
  mintplexlabs/anythingllm
```

***

## Дополнительное чтение

* [Документация AnythingLLM](https://docs.anythingllm.com) — полная настройка и справочник API
* [AnythingLLM на GitHub](https://github.com/Mintplex-Labs/anything-llm) — исходный код, проблемы, дорожная карта
* [AnythingLLM на Docker Hub](https://hub.docker.com/r/mintplexlabs/anythingllm) — теги образов
* [Запуск Ollama на Clore.ai](/guides/guides_v2-ru/yazykovye-modeli/ollama.md) — локальный LLM-бэкенд для AnythingLLM
* [Запуск vLLM на Clore.ai](/guides/guides_v2-ru/yazykovye-modeli/vllm.md) — высокопроизводительный инференс
* [Руководство по сравнению GPU](/guides/guides_v2-ru/nachalo-raboty/gpu-comparison.md) — выбор подходящего тарифа Clore.ai
* [Документация MCP](https://modelcontextprotocol.io) — Model Context Protocol для расширения агентов
* [Справочник API AnythingLLM](https://docs.anythingllm.com/api-reference) — REST API для автоматизации


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.clore.ai/guides/guides_v2-ru/platformy-i-agenty-ii/anythingllm.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
