# Embedding модели

Embedding модели — ключевой компонент MCP-серверов для семантического поиска. Они преобразуют текст в числовые векторы, позволяя находить похожие по смыслу документы.

## Зачем нужны Embedding модели?

MCP-серверы используют технологию RAG (Retrieval-Augmented Generation):

1. **Индексация**: Справка, метаданные и код преобразуются в векторы
2. **Поиск**: При запросе ищутся наиболее похожие по смыслу документы
3. **Контекст**: Найденные документы передаются ИИ как контекст

Качество embedding модели напрямую влияет на качество поиска.

## Варианты конфигурации

| Вариант              | Качество | Скорость | Требования | Рекомендация      |
| -------------------- | -------- | -------- | ---------- | ----------------- |
| **LM Studio + Qwen** | ⭐⭐⭐⭐⭐    | ⭐⭐⭐⭐⭐    | GPU 4+ ГБ  | **Рекомендуется** |
| **CPU режим**        | ⭐⭐⭐      | ⭐⭐⭐      | Только CPU | Без GPU           |

## Какой вариант выбрать?

```
┌─────────────────────────────────────┐
│  Есть видеокарта NVIDIA с 4+ ГБ?   │
└───────────────┬─────────────────────┘
                │
        ┌───────┴───────┐
        │               │
       Да              Нет
        │               │
        ▼               ▼
┌───────────────┐ ┌────────────────┐
│  LM Studio    │ │   CPU режим    │
│  + Qwen       │ │  (e5-small)    │
└───────────────┘ └────────────────┘
```

## Автоматическое определение размерности

MCP-серверы автоматически определяют размерность векторов при запуске:

1. При старте тестируется выбранная модель
2. Определяется размерность embedding
3. Если размерность изменилась — индекс пересоздаётся автоматически

{% hint style="warning" %}
При смене embedding модели весь индекс пересоздаётся. Это может занять от нескольких часов до суток в зависимости от объёма данных и выбранной модели.
{% endhint %}

## Сравнение моделей

### По качеству (для русского языка)

1. **Qwen3-Embedding-8B** — максимальное качество
2. **Qwen3-Embedding-4B** — отличное качество
3. **multilingual-e5-large** — высокое качество
4. **multilingual-e5-base** — хорошее качество
5. **multilingual-e5-small** — приемлемое качество

### По скорости

1. **multilingual-e5-small** — самая быстрая
2. **Qwen3-Embedding-4B** (GPU) — очень быстрая
3. **multilingual-e5-base** — средняя
4. **Qwen3-Embedding-8B** (GPU) — быстрая
5. **multilingual-e5-large** — медленная

## Рекомендуемые конфигурации

### Для Production (есть GPU)

**LM Studio + Qwen3-Embedding-4B**

```env
OPENAI_API_BASE=http://host.docker.internal:1234/v1
OPENAI_API_KEY=lm-studio
OPENAI_MODEL=Qwen3-Embedding-4B
```

### Для Development (нет GPU)

**Встроенная модель e5-base**

```env
EMBEDDING_MODEL=intfloat/multilingual-e5-base
# НЕ указывайте OPENAI_API_KEY
```

### Минимальные требования

**Встроенная модель e5-small**

```env
EMBEDDING_MODEL=intfloat/multilingual-e5-small
# НЕ указывайте OPENAI_API_KEY
```

## Содержание раздела

* [LM Studio (рекомендуется)](/mcp-servery-1c/embedding-modeli/lm-studio.md) — настройка LM Studio с Qwen для GPU-ускорения
* [CPU режим](/mcp-servery-1c/embedding-modeli/cpu-modeli.md) — работа без GPU
* [Выбор модели](/mcp-servery-1c/embedding-modeli/vybor-modeli.md) — детальное сравнение

{% hint style="warning" %}
**Для пользователей из России:** При использовании CPU-моделей требуется скачивание с huggingface.co, который может быть заблокирован. Используйте VPN для первоначального скачивания или выберите LM Studio, где модели скачиваются через встроенный интерфейс.
{% endhint %}


---

# Agent Instructions: 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:

```
GET https://docs.onerpa.ru/mcp-servery-1c/embedding-modeli.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
