
بناء لوحة تكاليف نماذج اللغة على BigQuery
مخطط ملموس لتسجيل استهلاك OpenAI وAnthropic وGemini في BigQuery وبناء لوحة تكاليف يقرأها فريق المالية فعلًا.
سجّل كل استدعاء نموذج في جدول أحداث واسع على BigQuery، ثم أنشئ عرضًا يوميًا مادّيًا، واعرض ثلاث لوحات: تكلفة كل ميزة، تكلفة كل عميل، وتكلفة كل نتيجة ناجحة. أي شيء غير ذلك زخرفة.
- جدول أحداث واحد، عرض يومي مادّي واحد، وثلاث لوحات.
- انسِب التكلفة للميزات والعملاء وقت الكتابة، لا عبر عمليات ربط لاحقة.
- تابع التكلفة لكل نتيجة ناجحة، لا لكل استدعاء فقط.
- نبّه على نمو الأسبوع الحالي مقابل السابق لكل ميزة، لا على الإنفاق المطلق.
سكيمة الحدث
كل استدعاء لنموذج لغة — من أي مزوّد — يكتب صفًا واحدًا في llm_events. المزوّدون يتغيرون، والسكيمة لا:
CREATE TABLE analytics.llm_events (
event_id STRING,
ts TIMESTAMP,
provider STRING,
model STRING,
feature STRING,
tenant_id STRING,
request_id STRING,
prompt_tokens INT64,
completion_tokens INT64,
cached_tokens INT64,
latency_ms INT64,
status STRING,
cost_usd NUMERIC,
metadata JSON
) PARTITION BY DATE(ts)
CLUSTER BY feature, tenant_id;العرض اليومي
عرض مادّي واحد يقود كل الرسوم:
CREATE MATERIALIZED VIEW analytics.llm_daily AS
SELECT
DATE(ts) AS day,
provider, model, feature, tenant_id,
COUNT(*) AS calls,
SUM(prompt_tokens) AS prompt_tokens,
SUM(completion_tokens) AS completion_tokens,
SUM(cost_usd) AS cost_usd,
APPROX_QUANTILES(latency_ms, 100)[OFFSET(95)] AS latency_p95,
COUNTIF(status = 'ok') / COUNT(*) AS success_rate
FROM analytics.llm_events
GROUP BY day, provider, model, feature, tenant_id;اللوحات الثلاث
- تكلفة كل ميزة — منطقة يومية مكدّسة حسب
feature. هذا الرسم الذي يحدق فيه مديرو المنتج. - تكلفة كل عميل — أعلى 20 عميلًا بتكلفة الأسبوع، مع نمو أسبوع مقابل أسبوع. هذا الرسم الذي يحدق فيه مديرو الحسابات.
- تكلفة كل نتيجة ناجحة —
SUM(cost_usd) / COUNTIF(status = 'ok'). هذا الرسم يلتقط النماذج التي تنحدر إلى محاولات مكلفة.
تنبيهات لا تصرخ بلا داعٍ
تنبيهات التكلفة المطلقة تنطلق كلما أطلقت شيئًا. بدلها، نبّه حين تنمو تكلفة أي ميزة بأكثر من 40% أسبوعًا مقابل أسبوع في أيام تجاوزت 100 استدعاء. هذا انحدار حقيقي غالبًا: تبديل نموذج، تلقين أطول، أو ذاكرة مؤقتة مكسورة.
تنبيه ثانٍ مفيد: مضاعفة التكلفة لكل نتيجة ناجحة لأي ميزة. يلتقط انحدارات الجودة الصامتة حيث تخفي المحاولات معدل الفشل.
مسار الكتابة
نمطان يعملان بامتياز:
- إدراج مباشر من تطبيقك عبر Streaming Inserts — الأرخص والأبسط عند الأحجام الصغيرة.
- مؤقّت عبر Pub/Sub → Dataflow أو مهمة تحميل مجدولة — أرخص وأكثر صمودًا فوق ~مليون استدعاء يوميًا.
في الحالتين، حافظ على استقرار السكيمة وضع جدول الأسعار في نظام إصدار. اللوحة نافعة بقدر انضباط الكتابة وراءها.
Frequently asked
لماذا BigQuery لا Postgres؟
معظم الفرق ينفعها Postgres حتى بضعة ملايين حدث. BigQuery يفوز حين تعبر ذلك أو حين تريد تحليلات مرنة دون Vacuum.
كيف أنسب التكلفة إذا استدعت الميزة نموذجين؟
علّم الحدثين بنفس الميزة. عرض النتيجة سيُعكِس عندها التكلفة الحقيقية للميزة كما يراها المستخدم بغض النظر عن التوجيه الداخلي.
هل يصلح للتضمين واستدعاءات قاعدة المتجهات؟
نعم — أضف عمود `operation` ('generation' | 'embedding' | 'rerank') واحتفظ بنفس الشكل. جدول واحد أفضل من ثلاثة حين تشرّح حسب العميل.
Building something similar?
I help teams ship production-grade AI agents, n8n workflows, and data platforms. Let's talk about what you're building.
Work with me
Islam Gamal
AI, Data & Automation Engineer. I design and ship production AI agents, n8n workflows, and cloud data platforms — with a focus on reliability, cost, and measurable business impact. Founder of Tashghil and Tek bil Arabi.
More from Islam Gamal
BigQuery Cost Control That Scales: 12 Patterns from Real Warehouses
Twelve battle-tested patterns to cut BigQuery spend 30–70% without touching data quality — partitioning, clustering, materialized views, reservations, and the FinOps loop that keeps savings from decaying.
The Modern Data Stack in 2026: What Actually Matters (and What to Skip)
A no-hype 30-minute tour of the 2026 data stack: ingestion, warehouse, transformation, orchestration, semantic layer, reverse ETL, observability, and the AI layer on top — with concrete tool picks, cost anchors, and the anti-patterns that quietly eat budgets.
Observability for AI Systems: Traces, Prompts, Tokens, and the SLOs That Actually Matter
A 30-minute production guide to instrumenting LLM applications — what to log (and what never to), how to trace agent calls end-to-end, the four golden signals for AI, drift detection on outputs, and the dashboards you actually check at 2 a.m.
Browse every article by Islam Gamal on the author page.