> 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/obuchenie/mergekit.md).

# Слияние моделей Mergekit

**Mergekit** — это главный инструмент для слияния предварительно обученных больших языковых моделей. Более 5 тыс. звёзд на GitHub, и он реализует все основные алгоритмы слияния моделей — SLERP, TIES, DARE, DARE-TIES, слияние MoE и другие — позволяя создавать мощные новые модели без каких-либо обучающих данных или времени на обучение на GPU.

{% hint style="success" %}
Все примеры можно запускать на GPU-серверах, арендованных через [маркетплейс CLORE.AI](https://clore.ai/marketplace).
{% endhint %}

***

## Что такое Mergekit?

Слияние моделей — это мощная техника, которая объединяет сильные стороны нескольких LLM в одну модель:

* **Обучение не требуется** — слияние происходит в пространстве весов, а не через обратное распространение
* **Объединение возможностей** — объедините модель для написания кода с моделью, следующей инструкциям
* **Снижение слабых мест** — усредните отдельные сбои моделей в ансамбле
* **Создание смеси экспертов** — объедините модели в разреженную архитектуру MoE
* **Адаптация под домен** — объедините базовую модель со специализированными для домена моделями

Mergekit реализует все современные алгоритмы:

| Алгоритм             | Описание                                                 | Лучше всего для                                             |
| -------------------- | -------------------------------------------------------- | ----------------------------------------------------------- |
| **SLERP**            | Сферическая линейная интерполяция между двумя моделями   | Плавное смешивание двух похожих моделей                     |
| **TIES**             | Обрезать избыточные параметры, выбрать знаки, объединить | Объединение нескольких моделей с минимальной интерференцией |
| **DARE**             | Удаление и перескалирование случайных параметров         | Снижение интерференции параметров при крупных слияниях      |
| **DARE-TIES**        | DARE + TIES в сочетании                                  | Лучший универсальный вариант для слияния нескольких моделей |
| **Линейное**         | Простое взвешенное среднее                               | Быстрые базовые слияния                                     |
| **Арифметика задач** | Сложение/вычитание векторов задач                        | Добавление/удаление конкретных возможностей                 |
| **Пасстру**          | Прямое копирование слоёв                                 | Построение MoE                                              |

{% hint style="info" %}
Слияние моделей удивительно эффективно. Слитые модели часто превосходят свои исходные модели в бенчмарках благодаря объединению взаимодополняющих знаний. Сообщество MergeKit на HuggingFace размещает тысячи слитых моделей.
{% endhint %}

***

## Требования к серверу

| Компонент | Минимум                                | Рекомендуется                     |
| --------- | -------------------------------------- | --------------------------------- |
| GPU       | Не требуется (возможно слияние на CPU) | A100 40 GB для больших моделей    |
| VRAM      | —                                      | 80 GB для слияния моделей 70B     |
| ОЗУ       | 32 ГБ                                  | 64 GB+ (модели загружаются в RAM) |
| CPU       | 8 ядер                                 | 16+ ядер                          |
| Хранилище | 100 ГБ                                 | 500 GB+                           |
| ОС        | Ubuntu 20.04+                          | Ubuntu 22.04                      |
| Python    | 3.10+                                  | 3.11                              |

{% hint style="warning" %}
Для слияния только на CPU (самый распространённый режим) вашим узким местом будет RAM. Слияние двух моделей 7B в bf16 требует минимум около 28 GB RAM. Используйте `--lazy-unpickle` для меньшего потребления памяти.
{% endhint %}

***

## Порты

| Порт | Сервис | Примечания                           |
| ---- | ------ | ------------------------------------ |
| 22   | SSH    | Доступ к терминалу и передача файлов |

Mergekit работает как инструмент командной строки — веб-сервер не нужен.

***

## Установка на Clore.ai

### Шаг 1 — Арендуйте сервер

1. Перейдите на [Маркетплейс Clore.ai](https://clore.ai/marketplace)
2. Фильтруйте по **RAM ≥ 64 GB** (критично для крупных слияний моделей)
3. Выберите **Хранилище ≥ 500 GB** (слитым моделям нужно место для 2–4 входных моделей + выходной модели)
4. GPU необязателен, но полезен, если вы хотите затем протестировать слитую модель
5. Открыть порт **22** только

### Шаг 2 — Подключение по SSH

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

### Шаг 3 — Установите окружение Python

```bash
# Установите Python 3.11
apt-get update
apt-get install -y python3.11 python3.11-venv python3.11-pip git

# Создайте виртуальное окружение
python3.11 -m venv /opt/mergekit
source /opt/mergekit/bin/activate
```

### Шаг 4 — Установите Mergekit

```bash
# Установка из PyPI
pip install mergekit

# Или установите из исходников (рекомендуется для самых свежих функций)
git clone https://github.com/arcee-ai/mergekit.git
cd mergekit
pip install -e '.[everything]'
```

### Шаг 5 — Установите HuggingFace CLI

```bash
pip install huggingface_hub
huggingface-cli login  # Введите ваш токен HF
```

### Шаг 6 — Проверьте установку

```bash
mergekit --help
mergekit-yaml --help
```

***

## Скачивание моделей для слияния

```bash
# Скачайте модели, которые хотите объединить
# Используя huggingface_hub

python3 << 'EOF'
from huggingface_hub import snapshot_download

# Скачать модель 1
snapshot_download(
    repo_id="mistralai/Mistral-7B-Instruct-v0.3",
    local_dir="models/Mistral-7B-Instruct-v0.3"
)

# Скачать модель 2
snapshot_download(
    repo_id="meta-llama/Llama-3.2-8B-Instruct",
    local_dir="models/Llama-3.2-8B-Instruct",
    token="hf_your-token"  # Требуется для моделей с ограниченным доступом
)
EOF

# Или используйте CLI huggingface_hub
huggingface-cli download mistralai/Mistral-7B-Instruct-v0.3 \\
  --local-dir models/Mistral-7B-Instruct-v0.3
```

***

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

Mergekit использует YAML-файлы конфигурации для определения слияний.

### Пример 1: Слияние SLERP (две модели)

SLERP смешивает две модели вдоль сферической дуги — лучше всего подходит для моделей одной архитектуры:

```yaml
# slerp_merge.yaml
models:
  - model: models/Mistral-7B-Instruct-v0.3
  - model: models/OpenHermes-2.5-Mistral-7B

merge_method: slerp
base_model: models/Mistral-7B-Instruct-v0.3

slices:
  - sources:
    - model: models/Mistral-7B-Instruct-v0.3
      layer_range: [0, 32]
    - model: models/OpenHermes-2.5-Mistral-7B
      layer_range: [0, 32]

parameters:
  t:
    - filter: self_attn
      value: 0.5  # Смешивание 50/50 для слоёв внимания
    - filter: mlp
      value: 0.3  # 30% от модели 2 для слоёв MLP
    - value: 0.5  # значение по умолчанию для всего остального

dtype: bfloat16
```

```bash
mergekit-yaml slerp_merge.yaml merged-model/ --lazy-unpickle
```

### Пример 2: Слияние TIES (несколько моделей)

TIES справляется с интерференцией между несколькими слитыми моделями:

```yaml
# ties_merge.yaml
models:
  - model: models/Mistral-7B-v0.3
    parameters:
      weight: 1.0    # Базовая модель, полный вес
      density: 1.0

  - model: models/Mistral-7B-coding
    parameters:
      weight: 0.7    # Возможности программирования
      density: 0.5   # Сохранить 50% изменённых параметров

  - model: models/Mistral-7B-math
    parameters:
      weight: 0.5    # Математические возможности
      density: 0.3   # Сохранить 30% изменённых параметров

merge_method: ties
base_model: models/Mistral-7B-v0.3

parameters:
  normalize: true
  int8_mask: true

dtype: bfloat16
```

```bash
mergekit-yaml ties_merge.yaml merged-ties/ --lazy-unpickle
```

### Пример 3: Слияние DARE-TIES (лучший универсальный вариант)

```yaml
# dare_ties_merge.yaml
models:
  - model: models/Llama-3.2-8B-Instruct
    parameters:
      weight: 1.0
      density: 0.7
      dare_linear: true

  - model: models/Llama-3.2-8B-code
    parameters:
      weight: 0.8
      density: 0.5
      dare_linear: true

  - model: models/Llama-3.2-8B-math
    parameters:
      weight: 0.6
      density: 0.4
      dare_linear: true

merge_method: dare_ties
base_model: models/Llama-3.2-8B-Instruct

parameters:
  normalize: true
  dare_density: 0.5
  dare_epsilon: 0.08

dtype: bfloat16
```

```bash
mergekit-yaml dare_ties_merge.yaml merged-dare-ties/ --lazy-unpickle
```

### Пример 4: Арифметика задач (добавление возможностей)

Добавьте «дельту навыка» к базовой модели:

```yaml
# task_arithmetic.yaml
# Добавляет математический навык из модели, дообученной на математике, к общей базовой модели
models:
  - model: models/Llama-3.2-8B-Instruct
    parameters:
      weight: 1.0
  
  - model: models/Llama-3.2-8B-math
    parameters:
      weight: 0.7   # Положительное значение = добавить эту возможность
  
  # Чтобы УДАЛИТЬ возможность, используйте отрицательный вес:
  # - model: models/Llama-3.2-8B-harmful
  #   parameters:
  #     weight: -0.5

merge_method: task_arithmetic
base_model: models/Llama-3.2-8B-Instruct

dtype: bfloat16
```

### Пример 5: MoE (смесь экспертов)

Объедините модели в разреженную архитектуру MoE:

```yaml
# moe_merge.yaml
base_model: models/Llama-3.2-8B-Instruct

gate_mode: hidden  # Используйте скрытые состояния для маршрутизации к экспертам
dtype: bfloat16
experts:
  - source_model: models/Llama-3.2-8B-coding
    positive_prompts:
      - "Напиши код"
      - "Отладь эту функцию"
      - "Реализуй алгоритм"
    negative_prompts:
      - "Расскажи мне историю"
      - "Объясни историю"
  
  - source_model: models/Llama-3.2-8B-creative
    positive_prompts:
      - "Напиши историю"
      - "Будь креативным"
      - "Представь"
    negative_prompts:
      - "Напиши код"
      - "Вычисли"
```

```bash
mergekit-moe moe_merge.yaml merged-moe/ --lazy-unpickle
```

***

## Запуск слияния

### Базовая команда

```bash
# Активируйте окружение
source /opt/mergekit/bin/activate

# Запустите слияние с ленивой распаковкой (экономит RAM)
mergekit-yaml your_config.yaml output_model/ --lazy-unpickle

# С ускорением CUDA (если доступен GPU)
mergekit-yaml your_config.yaml output_model/ \\
  --lazy-unpickle \\
  --cuda \\
  --copy-tokenizer

# Режим низкого потребления памяти (медленнее, но работает на небольших серверах)
mergekit-yaml your_config.yaml output_model/ \\
  --lazy-unpickle \\
  --low-cpu-memory
```

### Следите за прогрессом

```bash
# Mergekit показывает прогресс для каждого слоя
# Типичный вывод:
# Загрузка модели 1...
# Загрузка модели 2...
# Слияние слоя 0/32: embed_tokens
# Слияние слоя 1/32: layers.0.self_attn
# ...
# Сохранение слитой модели...
# Готово! Сохранено в output_model/
```

***

## Тестирование слитой модели

```bash
# Быстрый тест с transformers
python3 << 'EOF'
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch

model_path = "output_model"
tokenizer = AutoTokenizer.from_pretrained(model_path)
model = AutoModelForCausalLM.from_pretrained(
    model_path,
    torch_dtype=torch.bfloat16,
    device_map="auto"
)

prompt = "Объясни разницу между LoRA и полным дообучением:"
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)

with torch.no_grad():
    outputs = model.generate(**inputs, max_new_tokens=200, temperature=0.7)

print(tokenizer.decode(outputs[0], skip_special_tokens=True))
EOF
```

***

## Публикация на HuggingFace

```bash
# Войти
huggingface-cli login

# Создать и отправить репозиторий
python3 << 'EOF'
from huggingface_hub import HfApi
api = HfApi()

# Создать репозиторий
api.create_repo("my-merged-model-7b", private=False)

# Загрузить слитую модель
api.upload_folder(
    folder_path="output_model/",
    repo_id="your-username/my-merged-model-7b",
    repo_type="model"
)
print("Загружено!")
EOF
```

***

## Продвинутое: эволюционное слияние

Используйте эволюционный оптимизатор Mergekit, чтобы найти оптимальные веса слияния:

```bash
# Установите эволюционный оптимизатор
pip install 'mergekit[evo]'

# Запустите эволюционный поиск
mergekit-evolve evolve_config.yaml \\
  --storage-path ./evolve-workspace \\
  --n-iterations 100 \\
  --task mmlu  # Оптимизировать под бенчмарк MMLU
```

***

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

### Нехватка памяти (OOM) во время слияния

```bash
# Всегда используйте --lazy-unpickle для больших моделей
mergekit-yaml config.yaml out/ --lazy-unpickle

# Добавьте флаг --low-cpu-memory
mergekit-yaml config.yaml out/ --lazy-unpickle --low-cpu-memory

# Проверьте доступную RAM перед слиянием
free -h

# Для моделей 7B вам нужно минимум около 30 GB RAM
# Для моделей 13B: около 60 GB RAM
# Для моделей 70B: около 280 GB RAM (или используйте CPU-сервер с большим объёмом RAM)
```

### `ValueError: модели несовместимы`

```bash
# Модели должны иметь одинаковую архитектуру
# Нельзя напрямую объединить Llama-3 с Mistral
# Проверьте конфигурации моделей
python3 -c "
import json
for path in ['models/model1/config.json', 'models/model2/config.json']】【：】【“】【t_6c4042eb":"with open(path) as f:","t_f4885391":"cfg = json.load(f)","t_90051497":"print(path, ':', cfg.get('model_type'), cfg.get('hidden_size'), cfg.get('num_hidden_layers'))","t_9f6fb14d":"Слияние очень медленное","t_cace925c":"# Используйте GPU для более быстрых операций с тензорами","t_aa20bca6":"mergekit-yaml config.yaml out/ --lazy-unpickle --cuda","t_41f0f95b":"# Убедитесь, что установлен PyTorch с CUDA","t_1f9af05e":"python3 -c \"import torch; print(torch.cuda.is_available())\"","t_514dd241":"# Если CUDA недоступна, установите её:","t_2fe4d877":"Слитая модель выдаёт бессвязный текст","t_efa513c8":"# 1. Слияние несовместимых семейств моделей (например, Llama + Mistral)","t_17d7e47f":"# 2. Слишком экстремальные веса (t=0 или t=1 вместо 0.3–0.7 для SLERP)","t_fd0baf11":"# 3. Слишком высокая плотность в TIES (попробуйте density: 0.3–0.5)","t_9b7aa5e7":"# Диагностика: сначала протестируйте каждую родительскую модель","t_db7b18bb":"# Затем попробуйте базовое слияние SLERP 50/50","t_b13335ab":"# Проверьте конфигурацию слитой модели","t_f301eabd":"cat output_model/config.json | python3 -m json.tool","t_5eb88300":"FileNotFoundError","t_25a73a22":"для файлов модели","t_b8c11af0":"# Посмотрите, что было скачано","t_3e380d4e":"ls -la models/your-model/","t_dd294145":"# Необходимые файлы:","t_972c145b":"# config.json, tokenizer.json, *.safetensors (или *.bin)","t_79b63851":"# Скачайте заново с принудительным перезапуском","t_3cfc6610":"huggingface-cli download <repo_id> --local-dir models/<name> --force-download","t_7de34cd4":"Популярные рецепты слияния","t_9eb09c4f":"Общий ассистент + программирование","t_282066ff":"# Отлично подходит для разработчиков, которым также нужна общая функциональность","t_3dcc4371":"- model: mistralai/Mistral-7B-Instruct-v0.3","t_362b587f":"parameters: {weight: 1.0, density: 0.7}","t_1a16482c":"- model: mistralai/Codestral-7B","t_cbe4137e":"parameters: {weight: 0.8, density: 0.5}","t_d632cd30":"base_model: mistralai/Mistral-7B-Instruct-v0.3","t_b46d8e21":"Усиление мультиязычности","t_61567a29":"# Добавьте мультиязычные возможности к англоязычной модели","t_843e3cdc":"- model: meta-llama/Llama-3.2-8B-Instruct","t_c91de7a3":"parameters: {weight: 1.0, density: 0.8}","t_43321997":"- model: utter-project/EuroLLM-9B-Instruct","t_92bace91":"parameters: {weight: 0.6, density: 0.4}","t_986c307b":"base_model: meta-llama/Llama-3.2-8B-Instruct","t_19bfdb9f":"https://github.com/arcee-ai/mergekit","t_58e01d52":"⭐ 5K+","t_08c88cb8":"https://github.com/arcee-ai/mergekit/wiki","t_bde24d76":"Модели MergeKit на HuggingFace","t_43890615":"https://huggingface.co/models?other=mergekit","t_d13493ed":"Arcee.ai Discord","t_9d404202":"https://discord.gg/arcee","t_b1391569":"Статья о TIES","t_012b0b47":"https://arxiv.org/abs/2306.01708","t_7c2fa101":"Статья о DARE","t_1ab32f5e":"https://arxiv.org/abs/2311.03099","t_1b44e35e":"Слияние моделей (7B–13B)","t_82049ebf":"Слияние на нескольких GPU","t_500857d2":"2–4× A100 80GB"}】}]}}]}]}]}]}]}]}】}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]】}]}]}]}]}]}]}]}]}]}]}]}]】}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]】}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]】【。}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}】}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]】【。}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]】}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]】【。}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{
    with open(path) as f:
        cfg = json.load(f)
    print(path, ':', cfg.get('model_type'), cfg.get('hidden_size'), cfg.get('num_hidden_layers'))
"
```

### Слияние очень медленное

```bash
# Используйте GPU для более быстрых операций с тензорами
mergekit-yaml config.yaml out/ --lazy-unpickle --cuda

# Убедитесь, что установлен PyTorch с CUDA
python3 -c "import torch; print(torch.cuda.is_available())"

# Если CUDA недоступна, установите её:
pip install torch --index-url https://download.pytorch.org/whl/cu128
```

### Слитая модель выдаёт бессвязный текст

```bash
# Распространённые причины:
# 1. Слияние несовместимых семейств моделей (например, Llama + Mistral)
# 2. Слишком экстремальные веса (t=0 или t=1 вместо 0.3–0.7 для SLERP)
# 3. Слишком высокая плотность в TIES (попробуйте density: 0.3–0.5)

# Диагностика: сначала протестируйте каждую родительскую модель
# Затем попробуйте базовое слияние SLERP 50/50

# Проверьте конфигурацию слитой модели
cat output_model/config.json | python3 -m json.tool
```

### `FileNotFoundError` для файлов модели

```bash
# Посмотрите, что было скачано
ls -la models/your-model/

# Необходимые файлы:
# config.json, tokenizer.json, *.safetensors (или *.bin)

# Скачайте заново с принудительным перезапуском
huggingface-cli download <repo_id> --local-dir models/<name> --force-download
```

***

## Популярные рецепты слияния

### Общий ассистент + программирование

```yaml
# Отлично подходит для разработчиков, которым также нужна общая функциональность
models:
  - model: mistralai/Mistral-7B-Instruct-v0.3
    parameters: {weight: 1.0, density: 0.7}
  - model: mistralai/Codestral-7B  
    parameters: {weight: 0.8, density: 0.5}

merge_method: dare_ties
base_model: mistralai/Mistral-7B-Instruct-v0.3
dtype: bfloat16
```

### Усиление мультиязычности

```yaml
# Добавьте мультиязычные возможности к англоязычной модели
models:
  - model: meta-llama/Llama-3.2-8B-Instruct
    parameters: {weight: 1.0, density: 0.8}
  - model: utter-project/EuroLLM-9B-Instruct
    parameters: {weight: 0.6, density: 0.4}

merge_method: ties
base_model: meta-llama/Llama-3.2-8B-Instruct
dtype: bfloat16
```

***

## Полезные ссылки

* **GitHub**: <https://github.com/arcee-ai/mergekit> ⭐ 5K+
* **Документация**: <https://github.com/arcee-ai/mergekit/wiki>
* **Модели MergeKit на HuggingFace**: <https://huggingface.co/models?other=mergekit>
* **Arcee.ai Discord**: <https://discord.gg/arcee>
* **Статья о TIES**: <https://arxiv.org/abs/2306.01708>
* **Статья о DARE**: <https://arxiv.org/abs/2311.03099>
* **Маркетплейс Clore.ai**: <https://clore.ai/marketplace>

***

## Рекомендации по GPU для Clore.ai

{% hint style="warning" %}
**Многопроцессорные конфигурации с GPU класса 80GB не представлены на маркетплейсе Clore.ai.** Самые крупные доступные сейчас машины — это 4× RTX PRO 6000 Blackwell (по 96GB, всего 380GB) и 8–11× RTX 5090 (по 32GB). Ёмкость A100 / H200 / B200 продаётся как [голое железо](https://clore.ai/bare-metal) по запросу. Проверьте [Цены и доступность GPU](/guides/guides_v2-ru/nachalo-raboty/pricing.md) перед выбором размера развёртывания.
{% endhint %}

| Сценарий использования    | Рекомендуемый GPU | Оценочная стоимость на Clore.ai             |
| ------------------------- | ----------------- | ------------------------------------------- |
| Разработка/тестирование   | RTX 3090 (24 ГБ)  | $0.07–0.21/гпу/ч                            |
| Слияние моделей (7B–13B)  | RTX 4090 (24 ГБ)  | $0.14–0.42/гпу/ч                            |
| Крупные модели (70B+)     | A100 80 ГБ        | [голое железо](https://clore.ai/bare-metal) |
| Слияние на нескольких GPU | 2–4× A100 80GB    | [голое железо](https://clore.ai/bare-metal) |

> 💡 Все примеры в этом руководстве можно развернуть на [Clore.ai](https://clore.ai/marketplace) GPU-серверах. Просматривайте доступные GPU и арендуйте по часам — без обязательств, с полным root-доступом.


---

# 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/obuchenie/mergekit.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.
