القائمة

لقد خفضت فاتورة LLM API بنسبة 70٪: ملاحظات AirAi الميدانية مع التوجيه + التخزين المؤقت

0. الخلفية: كيف انفجرت التكاليف؟

أقوم بعدة مشاريع جانبية، وفي البداية إما أن أدفع مبلغ 20 دولارًا شهريًا مقابل الاشتراك الرسمي، أو أحاول استخدام بطاقات الائتمان الدولية لكنها تتم رفضها. عندما أحسب الحسابات في نهاية الشهر، اكتشفت شيئين مؤلمين:

  1. 80% من الطلبات كانت تتعلق بمهام بسيطة مثل التلخيص والتصنيف والتنسيق، واستخدام أغلى النماذج كان مجرد هدر؛

  1. الاشتراك يمثل تكلفة ثابتة - عندما يكون عدد الطلبات قليلاً أتكبد خسائر، وعندما يكون كبيرًا لا تكفي النماذج المتاحة.

لذلك لجأت إلى AirAi: استخدمت مفتاح الواجهة البرمجية الخاص بهم (API key)، واعتمدت نظام الدفع حسب الاستخدام (pay-as-you-go)، ووجهت العميل إلى واجهتهم المتوافقة مع OpenAI.

هناك أيضًا بعض المواقف الطريفة. لم يكن لدي بطاقة ائتمان دولية ملائمة طوال الوقت، وكلما حاولت الدفع مباشرة عبر الخدمات الرسمية كانت المعاملة تتم رفضها؛ في فترة من الوقت استخدمت بطاقة أحد أفراد العائلة، لكن ذلك أدى إلى تفعيل إجراءات الرقابة المالية وتم تجميد حسابي، واستغرق الأمر حوالي أسبوعين لحل المشكلة بعد التقدم بالشكوى. بعد ذلك، قررت بشكل قاطع البحث عن خيارات لا تعتمد على البطاقات الائتمانية الدولية. البوابة التي وجدتها في النهاية تقبل فقط عملات USDT، وهو ما يعتبر الخيار الأكثر سهولة بالنسبة لشخص لا يمتلك بطاقة ائتمان دولية: يمكن استخدام العملات مباشرة دون الحاجة إلى اشتراك شهري أو إجراءات تحقق من هوية (KYC). الأهم من ذلك، السعر: وفقًا لتقديري، فإن سعر الخدمة يبلغ حوالي نصف سعر الخدمة المقدمة مباشرة من الجهات الرسمية، وهذا هو السبب الحقيقي الذي جعلني أختار هذه البوابة.

1. تبديل الخطوط: يشير إلى أي بوابة متوافقة

تقريبًا جميع العملاء التي تدعم نقاط النهاية المخصصة (Claude Code، Cursor، Open WebUI، LibreChat، Cline، إلخ) يمكن تغييرها باستخدام متغير بيئي واحد دون الحاجة إلى تعديل الكود. ما عليك سوى توجيه المتغيرين التاليين إلى بوابتك الخاصة:

export OPENAI_BASE_URL="https://api.airai.cc/v1"
export ANTHROPIC_BASE_URL="https://api.airai.cc/v1"

اختيار البوابة المناسبة هو موضوع آخر؛ هذا المقال يتناول فقط طرق التنفيذ.

2. تطبيقات عملية للكود: التوجيه (Routing) + التخزين المؤقت (Caching)

ليس مجرد تبديل المصادر الضوئية كافيًا لتوفير المال بشكل حقيقي؛ الأمر الأكثر فعالية هو “استخدام النموذج الصحيح للقيام بالمهمة الصحيحة + تخزين الطلبات المتكررة”. فيما يلي الهيكل الذي أستخدمه في الإنتاج (متوافق مع OpenAI SDK)، حيث يتم قراءة قيم base_url و api_key من متغيرات البيئة وليس كتابتها بشكل ثابت في الكود:

import openai, hashlib, os

client = openai.OpenAI(
    base_url=os.getenv("OPENAI_BASE_URL"),
    api_key=os.getenv("OPENAI_API_KEY"),
)

# Routing: small model for light tasks, flagship only for complex reasoning
CHEAP  = "gpt-5.6-luna"   # classification / summarization / formatting
STRONG = "gpt-5.6-sol"    # only called for complex reasoning

_cache: dict[str, str] = {}   # swap for Redis in production

def ask(prompt: str) -> str:
    model = STRONG if len(prompt) > 400 else CHEAP
    key = hashlib.md5(prompt.encode()).hexdigest()
    if key in _cache:                      # cache hit, 0 cost
        return _cache[key]
    resp = client.chat.completions.create(
        model=model,
        messages=[{"role": "user", "content": prompt}],
    )
    answer = resp.choices[0].message.content
    _cache[key] = answer
    return answer

CHEAP / STRONG يمكنك تعديلها وفقًا لميزانيتك والنتائج المرجوة. اسم النموذج يجب أن يتوافق مع وثائق البوابة التي تستخدمها. تذكر استخدام واجهة الدفعة (Batch) للمهام غير المتصلة بالإنترنت، حيث يمكنك عادةً توفير نصف التكلفة.

3. مقارنة التكاليف (توضيحية)

قبل وبعد التحسينتوضيحيالبيانات (يرجى استخدام الأرقام الفعلية من فواتيرك):

المشروع

الاشتراك الرسمي / الاتصال المباشر

AirAi + ذاكرة التخزين المؤقت للمسارات

طريقة الدفع

رسوم شهرية ثابتة / السعر الرسمي

الدفع حسب الاستخدام

نموذج خفيف

النموذج الرائد (مهدر للموارد)

النموذج الصغير (أرخص)

طلب مكرر

إعادة حساب السعر الكامل

تصادف التخزين المؤقت: 0 التكلفة

تكلفة الإحساس الجسدي

المعيار 100%

حوالي 10–30% (اعتمادًا على معدل الطلب)

4. حدود الصدق (دعونا نقول الحقيقة)

  • ليس الجميع أكثر توفيرًاعندما يكون معدل الاستخدام الشهري منخفضًا، قد يكون الاشتراك الثابت أكثر اقتصادية؛ أما الاشتراك حسب الاستخدام فهو يتميز عندما يكون معدل الاستخدام مرتفعًا. قم أولاً بحساب كمية استخدامك الخاصة.

  • التأخير والاستقرارإضافة طبقة بوابة إضافية ستؤدي إلى زيادة طفيفة في التأخير، بالإضافة إلى مشاكل مثل التوقيت الزائد والتدهور في أداء النظام على المسارات الرئيسية.

  • أمان المفاتيح: يجب وضع المفتاح (key) كمتغير بيئي (environment variable)، ولا يجب كتابته بشكل ثابت في الجزء الأمامي (frontend) أو في المستودع العام (public repository).

5. خلاصة

جوهر تقليل تكاليف نماذج LLM (Large Language Models) يمكن تلخيصه في جملة واحدة: استخدام النماذج الرخيصة لأداء معظم المهام، واستخدام النماذج الغالية فقط عند الضرورة، ثم التخلص من الهدر في استخدام الرموز (tokens)؛ وتحويل عملية “التواصل مع عدة جهات” إلى مجرد تعديل في سطر واحد من الكود.base_urlالطرق (Routing) والتخزين المؤقت (Caching) هما عنصران مجانيان يمكن البدء باستخدامهما أولاً.


هل كان هذا مفيدًا؟

الدعم الفنيالدعم المباشر
侧栏
العودة إلى الأعلى
简体中文ZH-CNDefault繁體中文ZH-TWEnglishEN日本語JA한국어KOภาษาไทยTHTiếng ViệtVIBahasa IndonesiaIDEspañolESFrançaisFRDeutschDEРусскийRUPortuguêsPTItalianoITالعربيةAR