Налаштування Cost Tracking для AI-запитів
Уявіть: у понеділок вранці ви бачите рахунок від OpenAI на $15 000, хоча планували $10 000 на місяць. Знайома ситуація? Без обліку вартості токенів за проєктами та користувачами такий перевитрати — питання часу. Cost tracking для LLM — не опція, а необхідність, якщо ви хочете керувати бюджетом AI-інфраструктури. Наш досвід показує: компанії втрачають до 40% бюджету на неконтрольованих запитах. Ми налаштуємо систему, яка в реальному часі рахує витрати за кожною моделлю, проєктом і фічею. У результаті ви зможете точно планувати витрати та вчасно помічати аномалії. Завдяки налаштуванню Cost Tracking компанії економлять в середньому $5,000 на місяць на AI-запитах.
Налаштування Cost Tracking: облік вартості AI-запитів — які проблеми вирішує?
Без системи обліку ви не побачите, який відділ чи функція генерує 80% витрат. Типова ситуація: RAG-фіча для підтримки клієнтів використовує довгі контексти — 50% усіх токенів іде на неї, але це непомітно до приходу рахунку. Інша проблема — безконтрольні тести в dev-середовищі: розробники запускають важкі промпти на GPT-4o, хоча для тестів достатньо gpt-4o-mini. Ще одна біль — відсутність алертів: якщо вартість зросте в 10 разів за добу через баг, ви дізнаєтеся про це лише в кінці місяця. Наше рішення дає прозорість: ви бачите вартість у реальному часі, а при перевищенні порогів — миттєве сповіщення.
Щоб зрозуміти корінь проблеми, розберемо типові помилки в налаштуванні обліку. По-перше, багато хто не логує кількість токенів на кожен запит — без цього не можна порахувати точну вартість. По-друге, ігнорують агрегацію за фічами: бачать лише загальний рахунок, не розуміючи, що саме дорого. По-третє, не виставляють бюджетні ліміти — тоді будь-яка помилка в коді (наприклад, безкінечний цикл з викликом LLM) може спалити місячний бюджет за годину.
Як ми налаштовуємо облік токенів?
Кожен запит до LLM генерує вхідні та вихідні токени. Вартість залежить від моделі та кількості токенів. Наприклад, для GPT-4o ціна за 1M вхідних токенів — $2.50, вихідних — $10.00. Для локальної LLaMA 3-8B витрати визначаються лише GPU-ресурсами. Джерело: OpenAI Pricing
# Example pricing (update periodically via API) MODEL_PRICING = { "gpt-4o": {"input": 2.50, "output": 10.00}, "gpt-4o-mini": {"input": 0.15, "output": 0.60}, "claude-3-5-sonnet-20241022": {"input": 3.00, "output": 15.00}, "claude-3-haiku-20240307": {"input": 0.25, "output": 1.25}, "llama-3-8b-local": {"input": 0.0, "output": 0.0}, } def calculate_cost(model: str, prompt_tokens: int, completion_tokens: int) -> float: if model not in MODEL_PRICING: return 0.0 pricing = MODEL_PRICING[model] return (prompt_tokens * pricing["input"] + completion_tokens * pricing["output"]) / 1_000_000 Агрегація за вимірами
Для аналізу ми агрегуємо вартість за кількома вимірами: проєкт, користувач, feature-тег (chat, RAG, classification), часовий інтервал. Це дозволяє відповісти на питання: «Чому рахунок за AI виріс на 30% за тиждень?»
class CostTracker: def record(self, request: LLMRequest, cost_usd: float): self.db.insert({ "timestamp": request.timestamp, "cost_usd": cost_usd, "model": request.model, "project_id": request.project_id, "user_id": request.user_id, "feature": request.feature_tag, "prompt_tokens": request.prompt_tokens, "completion_tokens": request.completion_tokens, }) def get_daily_by_project(self, days: int = 30) -> dict: return self.db.query(""" SELECT project_id, DATE(timestamp) as date, SUM(cost_usd) as total_cost, SUM(prompt_tokens) as total_tokens FROM llm_costs WHERE timestamp > NOW() - INTERVAL %s DAY GROUP BY project_id, date ORDER BY date, total_cost DESC """, (days,)) Які алерти допомагають не перевищити бюджет?
Бюджетні алерти — ключовий елемент моніторингу витрат. Ми налаштовуємо два пороги: daily та hourly. При досягненні 80% ліміту надсилається попередження в Slack або Telegram, а при 100% — автоматичне троттлювання запитів.
| Поріг | Дія |
|---|---|
| 80% денного ліміту | Попередження команді |
| 100% денного ліміту | Троттлінг (уповільнення) або блокування нових запитів |
| Аномалія >50% за день | Повідомлення з аналізом причини |
class BudgetGuard: def __init__(self, limits: dict): self.daily_limit_usd = limits["daily"] self.hourly_limit_usd = limits["hourly"] def check_budget(self, project_id: str) -> BudgetStatus: daily_spend = self.tracker.get_spend(project_id, hours=24) hourly_spend = self.tracker.get_spend(project_id, hours=1) alerts = [] if daily_spend > self.daily_limit_usd * 0.8: alerts.append(f"80% of daily budget consumed: ${daily_spend:.2f}/${self.daily_limit_usd:.2f}") if daily_spend > self.daily_limit_usd: alerts.append("DAILY BUDGET EXCEEDED — throttling enabled") return BudgetStatus(daily_spend=daily_spend, alerts=alerts, throttle_enabled=daily_spend > self.daily_limit_usd) Чому облік вартості в реальному часі кращий?
Затримка в моніторингу навіть на годину може призвести до перевитрати. Наприклад, при запуску нової функції без обмежень вартість може злетіти в 10 разів за добу. Система з алертами реагує за хвилини, а не дні. Наше рішення дає економію до 30% бюджету за рахунок раннього виявлення аномалій. Крім того, ми враховуємо такі показники, як пропускна здатність (RPS — request per second) та сукупна вартість володіння (TCO — Total Cost of Ownership), що дозволяє більш точно оцінювати ефективність.
Що входить у налаштування Cost Tracking?
Ми надаємо:
- Інтеграцію з логами провайдерів (OpenAI, Anthropic, локальні моделі)
- Дашборд з графіками (денна вартість, топ фіч, вартість на запит)
- Налаштування алертів у месенджери
- Документацію з додавання нових моделей
- Підтримку протягом місяця після впровадження
Терміни реалізації: від 5 до 15 днів залежно від складності інфраструктури. Вартість розраховується індивідуально — пишіть, оцінимо ваш проєкт. Типова вартість впровадження — від $2,000 до $5,000. Отримайте консультацію з оптимізації витрат AI.
Порівняння: саморобний трекер vs наше рішення
| Критерій | Саморобний трекер | Наше рішення |
|---|---|---|
| Час на розробку | 2–4 тижні | 5–15 днів |
| Алерти «з коробки» | Ні | Slack, Telegram, Email |
| Підтримка нових моделей | Вручну | API-оновлення |
| Гарантія коректності | Ні | Юніт-тести та code review |
Наше рішення швидше в 2–4 рази за впровадженням порівняно з саморобним трекером. Досвід нашої команди — понад 5 років у ML-інфраструктурі та 50+ впроваджень Cost Tracking для AI-продуктів. Звертайтеся за консультацією.
Типові помилки при налаштуванні
- Не логувати кількість токенів на кожен запит.
- Ігнорувати агрегацію за фічами.
- Не виставляти бюджетні ліміти.
- Використовувати застарілий прайс-лист моделей.
- Не тестувати алерти на реальних сценаріях.
Для обліку потрібні логи кожного запиту: модель, кількість вхідних та вихідних токенів, ідентифікатори проєкту та користувача, мітка функціональності. Бажано зберігати сирі логи та агрегувати їх у вітрині.
Визначте денні та годинні пороги для кожного проєкту. У коді перевіряйте поточні витрати та при перевищенні 80% надсилайте попередження, а при перевищенні ліміту — вмикайте троттлінг або припиняйте обробку.
Без моніторингу легко перевищити бюджет через неоптимальні промпти або баги. Cost Tracking дозволяє вчасно помітити аномалії (зростання вартості >50% за день) та оптимізувати використання моделі.
Ключові метрики: денна вартість за проєктами, топ дорогих функцій, вартість одного запиту в розрізі моделей, тренд місяць-до-місяця. Також корисне співвідношення вхідних та вихідних токенів.
Прайс-листи змінюються кілька разів на рік. Рекомендується завантажувати їх з API провайдерів або оновлювати в коді при кожному релізі. Застарілі ціни призведуть до неточних розрахунків.
Покрокова інструкція з налаштування Cost Tracking
- Інтегруйте логування запитів: у коді обробника LLM-запитів додайте запис у таблицю з полями: timestamp, model, prompt_tokens, completion_tokens, project_id, user_id, feature_tag.
- Налаштуйте агрегацію: створіть вітрину даних, яка щоденно підсумовує вартість за проєктами, фічами та користувачами.
- Додайте систему алертів: налаштуйте перевірку бюджетних лімітів (наприклад, 80% та 100%) зі сповіщеннями в Slack або Telegram.
- Розгорніть дашборд: виведіть графіки денної вартості, топу дорогих фіч та вартості на запит.
- Тестуйте на реальних даних: змоделюйте сценарій перевищення бюджету та переконайтеся, що алерти спрацьовують.
- Автоматизуйте оновлення прайс-листу: підключіть API провайдерів для автоматичного отримання актуальних цін на моделі.







