# Векторизация · Embeddings — neuraldeep.ru API

> Раздел машиночитаемой справки. Все разделы: https://neuraldeep.ru/llms.txt · всё одним файлом: https://neuraldeep.ru/llms-full.txt

Base URL: `https://api.neuraldeep.ru/v1`
Auth: `Authorization: Bearer $YOUR_KEY`

OpenAI-совместимый `/v1/embeddings`. Принимает строку или массив строк. Размерность вектора зависит от модели: у `e5-large` и `bge-m3` 1024, у остальных больше, точное число видно по длине `embedding` в ответе.

```bash
curl https://api.neuraldeep.ru/v1/embeddings \
  -H "Authorization: Bearer $YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"e5-large","input":"привет мир"}'
```

```bash
curl https://api.neuraldeep.ru/v1/embeddings \
  -H "Authorization: Bearer $YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"bge-m3","input":["текст 1","текст 2","text 3"]}'
```

```python
from openai import OpenAI
client = OpenAI(api_key="$YOUR_KEY", base_url="https://api.neuraldeep.ru/v1")
texts = ["первый документ", "второй", "third"]
r = client.embeddings.create(model="bge-m3", input=texts)
vectors = [e.embedding for e in r.data]  # list[list[float]], у bge-m3 dim=1024
```

> Для RAG — `e5-large` на запросы/доки с префиксом "query: " / "passage: ". Для точности — `bge-m3` (длиннее контекст).

**Префиксы обязательны у части моделей.** Сервер их не подставляет, их пишет клиент в начало каждого текста. Без префикса вектора считаются, но поиск по ним работает в разы хуже.

| модель | запрос | документ |
|---|---|---|
| `frida` | `search_query: …` | `search_document: …` |
| `e5-large` | `query: …` | `passage: …` |
| `qwen3-embedding-4b`, `qwen3-embedding-8b` | `Instruct: <задача>\nQuery: …` | без префикса |

У `frida` есть и другие режимы: `paraphrase: ` для сходства и поиска дублей, `categorize: ` для классификации, `categorize_sentiment: ` и `categorize_topic: ` для тональности и тем.

```bash
curl https://api.neuraldeep.ru/v1/embeddings \
  -H "Authorization: Bearer $YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"frida","input":["search_query: как вернуть деньги за заказ","search_document: Возврат оформляется в личном кабинете в течение 14 дней"]}'
```

**Ограничения на вход.**

- Весь текст одного запроса, сумма по всем элементам `input`, до 105 600 символов (примерно 32 000 токенов). Больше: `400` с заголовком `X-Window: vector-payload`, разбейте на несколько запросов. Отдельного предела на число элементов в массиве нет.
- Каждый текст держите в окне модели: `frida` 512 токенов, `giga-embeddings` 4096, `bge-m3` и `qwen3-embedding-8b` 8192, `jina-embeddings-v4` и `qwen3-embedding-4b` 32 768.
- Параллельность у эмбеддингов и реранка своя, отдельная от чата. Сверх неё `429` с `X-Window: vector-inflight` и `Retry-After`. Квоты тоже свои, остаток в блоке `vector` ответа [`GET /v1/limits`](https://neuraldeep.ru/docs/limits-api.md).
