# Примеры API НейроВаси

Публичный сайт пока работает в деморежиме. Эти примеры предназначены для локального
шлюза после настройки AITunnel владельцем; публичный API ещё не открыт.
Python 3 и Node.js 18+; сторонние пакеты для примеров не нужны.

В PowerShell задайте окружение своего серверного процесса:

```powershell
$env:NV_API_BASE_URL = 'http://127.0.0.1:4175/v1'
$env:NV_MODEL = 'gpt-mini'
# Задайте NV_API_KEY своим ключом НейроВаси, полученным в локальном кабинете.
# Не используйте здесь ключ провайдера AITunnel.
python examples/chat.py 'Придумай три названия кофейни'
node examples/chat.mjs 'Объясни API простыми словами'
```

Пример cURL (серверное окружение, синтаксис bash):

```bash
curl --max-time 60 --fail-with-body \
  "$NV_API_BASE_URL/chat/completions" \
  -H "Authorization: Bearer $NV_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{"model":"gpt-mini","messages":[{"role":"user","content":"Привет"}],"max_tokens":512,"stream":false}'
```

Команды делают настоящие запросы после настройки сервера. Стоимость может быть
списана провайдером. Автоматические повторы и переходы по редиректам отключены
в скриптах; cURL запускайте без `--retry` и без `--location`.
При сетевой ошибке проверьте историю перед повтором. Идемпотентность POST пока не реализована.
Ключ храните только в окружении своего сервера, не в браузере или репозитории.

## Измерения

```powershell
python examples/benchmark.py --model gpt-mini --runs 1
```

Без `--allow-paid` выводится только план. Для явного выполнения:

```powershell
python examples/benchmark.py --model gpt-mini --runs 1 --allow-paid
```

Это три потенциально платных обращения, без повторов. Скрипт измеряет время
полного ответа, usage и ошибки. Тестовые задания и число вызовов видны до запуска.
Тексты сообщений, ответы и секреты в JSONL не сохраняются. Результаты остаются
в `.local/benchmarks/results.jsonl`, за пределами публичной папки. Регион клиента
и условия запуска фиксируйте отдельно. Автоматической оценки качества в скрипте нет.

Сравнительные результаты реальных моделей ещё не опубликованы.

Код примеров распространяется под MIT, см. LICENSE.txt. Лицензия относится
только к коду этих примеров, не к нейросетям, их ответам или чужим материалам.
