---
docgen:
  source: npm/lib/llm.mjs
  crc: a70a8328
  score: 100
---

# llm.mjs

## Огляд

Файл надає механізми для виклику великих мовних моделей. Маршрутизація вибору транспортного каналу залежить від префікса ідентифікатора моделі згідно з конвенцією `npm/lib/models.mjs`. Виклик LLM виконує виклик з визначеною маршрутизацією та запис трасування. Перевірка стану omlx сервера визначає доступність моделі.

## Поведінка

pickBackend
Маршрутизує модель по префіксу до визначеного бекенда

callLlm
Виконує універсальний виклик LLM з маршрутизацією за моделью та wire-trace

omlxHealthCheck
Перевіряє стан omlx сервера для визначення доступності моделі

## Публічний API

pickBackend — Бекенд для model-id: `omlx` — прямий HTTP, `pi` — CLI.
callLlm — Універсальний виклик LLM з маршрутизацією за префіксом model-id і постійне відстеження (wire-trace) обох каналів.
omlxHealthCheck — Перевірка omlx перед масовим прогоном через мінімальний чат-виклик (`max_tokens: 1`). Розрізняє стани:
  down — Сервер не відповідає (не запущений / не той порт).
  memory-guard — Модель не влазить у динамічну стелю пам'яті зайнятої машини — відкладає прогін.
  auth — Сервер вимагає API-ключ — виставляє `N_CURSOR_OMLX_KEY`.
  error — Інша помилка API.
Порожній контент відповіді — означає, що сервер живий і модель завантажена.

## Гарантії поведінки

- Read-only: файл не виконує операцій запису у файлову систему.
- Перехоплює помилки і не пропускає винятків назовні (fail-safe).
- Не звертається до мережі.
