Langfuse описала шлюз для API OpenAI и Anthropic с трассировкой поколений

Langfuse описывает шлюз на Rust для API OpenAI и Anthropic: он передаёт запросы провайдерам и отправляет завершённые поколения в Langfuse через OTLP.

Langfuse описала шлюз для API OpenAI и Anthropic с трассировкой поколений. Тематическая карточка Comrad404.

В README репозитория Langfuse описан отдельный AI Gateway на Rust: он принимает запросы в пространствах API OpenAI и Anthropic, передаёт их провайдерам и отправляет завершённые поколения в Langfuse. Для команд это вариант направлять такие вызовы через шлюз и собирать их трассировки; README не сообщает дату выпуска сервиса.

Какие маршруты поддерживаются

Для пространства /openai/v1 README перечисляет POST /responses, POST /responses/compact, POST /chat/completions, POST /decisions, POST /embeddings и GET /models. В пространстве /anthropic/v1 указаны POST /messages, POST /messages/count_tokens и GET /models. README Langfuse с перечнем маршрутов позволяет сопоставить интерфейс шлюза с нужным форматом API.

Передача запросов и запись поколений

По README, Web сопоставляет ключ шлюза с доверенным подключением провайдера для формата API выбранного пространства имён. Rust-шлюз передаёт нативные JSON- или SSE-данные, не переписывая байты ответа провайдера. Для потоковых запросов Chat Completions предусмотрено исключение: шлюз запрашивает данные об использовании токенов.

Завершённые поколения отправляются в Langfuse как generation через OTLP, пакетами для каждого проекта. Запросы к каталогу моделей и подсчёт токенов не записываются как generation. Поэтому эти вспомогательные вызовы не дают таких записей, хотя проходят через перечисленные маршруты шлюза.

Что нужно для локального запуска

README описывает запуск в составе репозитория: наряду с Node.js и pnpm нужны Rust, устанавливаемый через rustup, и нативный компилятор. При первом запуске потребуется сеть для загрузки выбранного проектом toolchain Rust и зависимостей Cargo. Документация предлагает запускать шлюз вместе с другими компонентами разработки или отдельно командой pnpm dev --filter=ai-gateway.

Без URL Web процесс запускается с доступной liveness-проверкой, но readiness и inference возвращают 503. README указывает, что для включения inference нужно настроить URL Web и общий service key. Иными словами, одной установки Rust недостаточно: обработка запросов зависит также от этих настроек.

Границы описания

Перечень маршрутов, механизм передачи и настройки запуска здесь приведены по README проекта. В доступных материалах нет независимых результатов испытаний шлюза, данных о производительности или дате релиза; поэтому описание не следует принимать за результат практического тестирования редакцией.