Без хранения данных (ZDR)
Отправляйте запрос только провайдерам, которые не хранят промпты и ответы, и узнайте, что хранит сам роутер.
Без хранения данных (ZDR, zero data retention) означает, что провайдер, на котором работает модель, не хранит ваши промпты и ответы после того, как ответил, и не обучает на них модели.
По умолчанию запрос в глобальном регионе может уйти любому провайдеру модели, в том числе тем, кто какое-то время хранит запросы или может использовать их для улучшения своих моделей. Чтобы исключить таких провайдеров, запросите ZDR.
Запрос с ZDR
Добавьте "provider": {"zdr": true}:
curl https://router.nodul.ru/api/v1/chat/completions \
-H "Authorization: Bearer $NODUL_ROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "google/gemma-3-4b-it",
"provider": {"zdr": true},
"messages": [{"role": "user", "content": "Summarize this contract: …"}]
}'import os
from openai import OpenAI
client = OpenAI(base_url="https://router.nodul.ru/api/v1", api_key=os.environ["NODUL_ROUTER_API_KEY"])
completion = client.chat.completions.create(
model="google/gemma-3-4b-it",
messages=[{"role": "user", "content": "Summarize this contract: …"}],
extra_body={"provider": {"zdr": True}},
)
print(completion.choices[0].message.content)import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://router.nodul.ru/api/v1", apiKey: process.env.NODUL_ROUTER_API_KEY });
const completion = await client.chat.completions.create({
model: "google/gemma-3-4b-it",
messages: [{ role: "user", content: "Summarize this contract: …" }],
// @ts-expect-error: router field, not part of the OpenAI types
provider: { zdr: true },
});
console.log(completion.choices[0].message.content);Что с этим делает роутер:
- До вызова провайдера он оставляет только модели, у которых есть хотя бы один ZDR-эндпоинт. Модель без него дает
400, поэтому запрос никогда не переключится на модель, которая хранит данные, даже через списокmodels. - Флаг передается в глобальный регион, и тот выполняет запрос только на ZDR-эндпоинтах модели.
- Регион Россия для ZDR-запросов не используется: правила хранения данных его провайдеров не подтверждены, а неизвестные правила роутер считает хранящими данные.
Как найти модели с ZDR
- В каталоге включите фильтр Без хранения данных (ZDR): у таких моделей есть соответствующий значок.
- В
GET /api/v1/modelsсмотрите наroutes[].zdr:
curl -s https://router.nodul.ru/api/v1/models | jq -r '.data[] | select(any(.routes[]; .zdr)) | .id'Список регулярно обновляется по данным провайдеров: модель может получить или потерять ZDR.
ZDR или запрет сбора данных
| Поле | Исключает |
|---|---|
"zdr": true | Всех провайдеров, которые хранят промпты или ответы хоть сколько-нибудь. Самый строгий вариант. |
"data_collection": "deny" | Провайдеров, которые могут хранить данные для обучения или продавать их; провайдер все еще может недолго хранить логи, например для проверок на злоупотребления. Также исключает регион Россия. |
Оба поля можно сочетать. "zdr": false и "data_collection": "allow" ничего не меняют.
Что хранит сам роутер
ZDR касается провайдера. Роутер хранит:
- метаданные запроса для оплаты и логов: время, модель, ключ, токены, стоимость, статус. Никогда не содержимое;
- содержимое запросов и ответов, только если включено логирование содержимого в пространстве Router. По умолчанию оно выключено; владелец или администратор пространства включает его в настройках и выбирает срок хранения (от 1 до 30 дней).
Роутер никогда не передает провайдерам ваши заголовки, ваш ключ или название вашего приложения.
Ошибки
| Статус | Сообщение | Причина |
|---|---|---|
400 | no route of <model> offers zero data retention (provider.zdr) | У модели нет ZDR-эндпоинта. Выберите модель со значком. |
400 | no route of <model> satisfies provider.data_collection "deny" | Модель есть только в регионе Россия. |
400 | provider.zdr must be a boolean | Передайте true или false, а не строку. |
404, 503 | Сообщение провайдера | ZDR-эндпоинты модели временно недоступны. Повторите позже или добавьте резервную модель с ZDR в models. |
Цена
ZDR-эндпоинт модели может стоить дороже цены в каталоге: там указана самая низкая цена модели. Вы платите фактическую стоимость: usage.cost в ответе точен.
Кеширование промптов в памяти провайдера не считается хранением: модели с ZDR тоже могут давать скидки за кеш.