📊 Multi-LLM Orchestrator v0.7.0: подсчёт токенов и мониторинг через Prometheus
На этой неделе вышел релиз v0.7.0 — завершена фаза observability. Теперь библиотека автоматически считает токены, оценивает стоимость запросов и экспортирует метрики в Prometheus. Всё работает из коробки.
Библиотека автоматически считает токены для каждого запроса — и для prompt, и для completion. Используется tiktoken с fallback на оценку по словам.
from orchestrator import Router
from orchestrator.providers import GigaChatProvider, ProviderConfig
router = Router()
router.add_provider(GigaChatProvider(ProviderConfig(
name="gigachat",
api_key="your_key",
model="GigaChat",
verify_ssl=False
)))
# Токены считаются автоматически
response = await router.route("Напиши стихотворение про Python")
# Получаем статистику
metrics = router.get_metrics()
print(f"Total tokens: {metrics['gigachat'].total_tokens}")
print(f" Prompt: {metrics['gigachat'].total_prompt_tokens}")
print(f" Completion: {metrics['gigachat'].total_completion_tokens}")
Результат:
Total tokens: 75
Prompt: 20
Completion: 55
💰Оценка стоимости запросов
Расчёт стоимости в реальном времени. Цены настраиваются в pricing.py (фиксированные значения для демонстрации — для production рекомендуется настроить под свои тарифы).
Результаты тестов с реальными провайдерами:
GigaChat: 75 tokens → ₽0.0750
YandexGPT: 105 tokens → ₽0.1575
Streaming: 342 tokens → ₽0.3420
📈 Интеграция с Prometheus
HTTP-эндпоинт /metrics в формате Prometheus. Метрики обновляются в реальном времени и готовы для scraping.