على مدار الأشهر القليلة الماضية، شهد مشهد الذكاء الاصطناعي تحولاً سريعاً: فقد قامت OpenAI بطرح GPT-5 للمطورين وتحديث حزمة تطبيقات الوقت الفعلي الخاصة بها؛ وقامت Anthropic بتحديث Claude وسياساتها المتعلقة باستخدام البيانات؛ ودفعت Google بـ Gemini إلى مستوى أعمق في بيئة الأجهزة المنزلية والذكية. هذه التحولات مهمة لأنها تُغير النماذج التي ترغب في الوصول إليها وكيفية مراقبتها - تماماً حيث يُمثل اقتران "واجهة برمجة تطبيقات موحدة وقابلية مراقبة" مثل LiteLLM + CometAPI يضيء.
في هذا الدليل، ستحصل على شرح عملي وشامل للتكامل لايتLLM مع كوميت ايه بي اي (الذي يتحدث متوافق مع OpenAI سنتناول في هذا الدليل التثبيت، والمكالمات الأساسية، والمزامنة والبث، ونصائح النشر. سنتناول خلال هذا الدليل ما تعنيه أحدث تحديثات النماذج لخيارات التكامل لديك.
ما هو LiteLLM؟
LiteLLM هي حزمة تطوير برمجيات (SDK) مفتوحة المصدر بلغة بايثون ووكيل (بوابة LLM) تُتيح واجهة برمجة تطبيقات واحدة ومتسقة للعديد من موفري النماذج (OpenAI، Anthropic، Vertex/Google، AWS Bedrock، Hugging Face، إلخ). تُطبّق هذه الحزمة اختلافات الموفري (تنسيق الإدخال، الأخطاء، أشكال الإخراج)، وتوفر منطق إعادة المحاولة/الرجوع/التوجيه، وتدعم حزمة تطوير برمجيات خفيفة الوزن. و خادم وكيل لتوجيه LLM المركزي في مجموعات البنية التحتية. بمعنى آخر، واجهة برمجة تطبيقات واحدة لاستدعاء نماذج متعددة.
ميزة:
- وظائف بايثون الموحدة مثل
completion,responses,embeddings. - التوجيه المتوافق مع OpenAI (حتى يمكن توجيه العملاء الذين يتحدثون واجهات برمجة التطبيقات على غرار OpenAI إلى موفري خدمات آخرين).
- دعم البث غير المتزامن (مثل الغلافات غير المتزامنة)
acompletionوstream=Trueللاستجابات المجزأة).
كيفية تعيين نماذج LiteLLM ونقاط النهاية
- استعمل
completion()(مزامنة) وacompletion()(async) في SDK Python لمكالمات نمط الدردشة/الإكمال. - بالنسبة لنقاط النهاية المتوافقة مع OpenAI، يدعم LiteLLM
api_base/api_keyالتجاوز حتى تعرف مجموعة أدوات التطوير البرمجية (SDK) كيفية الوصول إلى مسار على غرار OpenAI.
ما هو CometAPI؟
كوميت ايه بي اي هي خدمة "واجهة برمجة تطبيقات واحدة للعديد من النماذج" تعرض مئات النماذج (بما في ذلك OpenAI GPT-5، وAnthropic Claude، وxAI Grok، وQwen، وGLM، ومولدات الصور/الفيديو) من خلال متوافق مع OpenAI واجهة REST. نظرًا لتوافقها، يمكنك عادةً توجيه عميل OpenAI الخاص بك إلى واجهة CometAPI. base_url والحفاظ على نفس مخطط الطلب/الاستجابة - مما يجعله بديلاً أو مكملاً لواجهات برمجة التطبيقات الأصلية.
تلميح: هذا التوافق هو بالضبط ما يتوقعه LiteLLM. يمكنك الرجوع إلى نماذج CometAPI عبر LiteLLM باستخدام استدعاءات بنمط OpenAI، أو توجيهها عبر وكيل LiteLLM باستخدام
base_urlالتجاوزات.
المتطلبات الأساسية لدمج LiteLLM مع CometAPI
قبل أن تتمكن من ربط LiteLLM بـ CometAPI، ستحتاج إلى بعض الأشياء في مكانها:
بيئة بايثون
- Python 3.8+ (موصى به: بيئة افتراضية عبر
venvorconda). pipتمت الترقية:python -m pip install --upgrade pip
تم تثبيت LiteLLM pip install litellm (اختياري: التثبيت litellm إذا كنت تريد تشغيل خادم الوكيل LiteLLM.)
حساب CometAPI ومفتاح API
- اشترك في كوميتابي.كوم.
- احصل على مفتاح API من لوحة القيادة الخاصة بك.
- قم بتخزينه كمتغير بيئي:
export COMETAPI_KEY="sk-xxxx"
فهم أساسي لواجهات برمجة التطبيقات المتوافقة مع OpenAI
- CometAPI يكشف نقاط نهاية على غرار OpenAI مثل
/v1/chat/completions. - يدعم LiteLLM هذا التنسيق بشكل أصلي، لذلك لا يلزم وجود عميل مخصص.
كيف أقوم بإجراء مكالمة إكمال أساسية (باستخدام LiteLLM → CometAPI)؟
استخدم دالة الإكمال في LiteLLM لإرسال رسائل إلى نموذج CometAPI. يمكنك تحديد نماذج مثل cometapi/gpt-5 أو cometapi/gpt-4o.
الطريقة 1: استخدام متغير البيئة لمفتاح API (مستحسن).
from litellm import completion
import os
# Option A: use env var
os.environ = "sk_xxx" # CometAPI key
# Direct call with explicit api_base + api_key
resp = completion(
model="cometapi/gpt-5",
api_key=os.environ,
api_base="https://www.cometapi.com/console/", # CometAPI base URL
messages=[
{"role":"system", "content":"You are a concise assistant."},
{"role":"user", "content":"Explain why model-aggregation is useful in 3 bullets."}
],
max_tokens=200,
temperature=0.2
)
print(resp.choices.message)
إذا كنت تفضل ذلك، يمكنك أيضًا تعيين OPENAI_API_KEY/OPENAI_API_BASE — يقبل LiteLLM العديد من اتفاقيات المزود؛ تحقق من إصدار مستندات SDK الخاصة بك.
الطريقة 2: تمرير مفتاح API صراحةً:
على سبيل المثال:
from litellm import completion
import os
# Define your messages (array of dictionaries with 'content' and 'role')
messages =
api_key = 'your-cometapi-key-here' # Alternative: Store it in a variable for explicit passing
# CometAPI call - Method 2: Explicitly passing API key
response_2 = completion(model="cometapi/gpt-4o", messages=messages, api_key=api_key)
# Print the responses
print(response_2.choices.message.content)
كيف تعمل المكالمات غير المتزامنة والمتدفقة مع LiteLLM → CometAPI؟
المكالمات غير المتزامنة
- معنى:المكالمة غير المتزامنة هي عندما يتم تقديم طلب للقيام بشيء ما (مثل جلب البيانات أو تشغيل مهمة)، ولكن بدلاً من الانتظار حتى الانتهاء قبل الانتقال إلى الخطوة التالية، يستمر البرنامج في تنفيذ التعليمات البرمجية الأخرى.
- الفكرة الرئيسية"لا تمنع نفسك، استمر في العمل أثناء الانتظار."
- مثال:
- في تطبيقات الويب: جلب البيانات من واجهة برمجة التطبيقات دون تجميد واجهة المستخدم.
- في بايثون: استخدام
async/awaitمعasyncio. - في JavaScript: استخدام
Promisesorasync/await.
حالة الاستخدام:يحسن الأداء والاستجابة من خلال عدم حظر الخيط الرئيسي.
مكالمات البث
- معنىتعني مكالمة البث المباشر أنه بدلاً من انتظار جاهزية كافة البيانات ثم إرسالها مرة أخرى دفعة واحدة، يقوم الخادم بإرسال أجزاء من البيانات بمجرد توفرها.
- الفكرة الرئيسية:"إرسال البيانات قطعة قطعة أثناء إنتاجها."
- مثال:
- مشاهدة مقطع فيديو على YouTube قبل تنزيل ملف الفيديو بالكامل.
- تطبيقات الدردشة في الوقت الفعلي أو تحديثات مؤشر الأسهم.
- في واجهات برمجة التطبيقات: بدلاً من انتظار الناتج الكامل للنموذج، يتلقى العميل الكلمات/الرموز بشكل تدريجي (مثل كيفية بث ChatGPT للنص).
An مكالمة بث غير متزامنة يدعم كلٌّ من LiteLLM وCometAPI البث والاستخدام غير المتزامن. يعرض LiteLLM stream=True لتلقي متكرر من القطع، و acompletion() للاستخدام غير المتزامن. استخدم البث عند الحاجة إلى مخرجات جزئية منخفضة الكمون (تفاعلية واجهة المستخدم، معالجة رمز تلو الآخر). عند تقديم الطلب دون حظر، تُسلّم النتائج تدريجيًا عند جاهزيتها. بالنسبة للتطبيقات غير المحظورة أو الفورية، استخدم دالة الإكمال في LiteLLM للمكالمات غير المتزامنة. هذا مفيد مع دالة asyncio في بايثون للتعامل مع التزامن.
على سبيل المثال:
from litellm import acompletion
import asyncio, os, traceback
async def completion_call():
try:
print("Testing asynchronous completion with streaming")
response = await acompletion(
model="cometapi/chatgpt-4o-latest",
messages=,
stream=True # Enable streaming for chunked responses
)
print(f"Response object: {response}")
# Iterate over the streamed chunks asynchronously
async for chunk in response:
print(chunk)
except Exception:
print(f"Error occurred: {traceback.format_exc()}")
pass
# Run the async function
await completion_call()
تفسير:
acompletionهي النسخة غير المتزامنة منcompletion.stream=Trueيتيح البث المباشر، حيث يتم تقديم الاستجابة في أجزاء في الوقت الفعلي.- استعمل
asyncioلتشغيل الوظيفة (على سبيل المثال، في Jupyter Notebook معawaitأو عن طريقasyncio.run()في النصوص). - إذا حدث خطأ، فسيتم اكتشافه وطباعته للتصحيح.
الناتج المتوقع:ستشاهد كائن الاستجابة والأجزاء الفردية المطبوعة، على سبيل المثال:
Testing asynchronous completion with streaming
Response object: <async_generator object acompletion at 0x...>
Chunk: {'choices': }
Chunk: {'choices': }
... (full response streamed in parts)
نصائح إضافية
- لم يتم العثور على النموذج / عدم تطابق نقطة النهاية: تأكد من اختيار اسم نموذج موجود على CometAPI (تدرج المستندات الخاصة بهم معرفات متاحة) وأن اتفاقيات بادئة نموذج LiteLLM الخاصة بك تتطابق (على سبيل المثال،
cometapi/<model>عند الحاجة). تتبع نماذج CometAPI التنسيق cometapi/، على سبيل المثال: cometapi/gpt-5، cometapi/gpt-4o، cometapi/chatgpt-4o-latest. راجع وثائق CometAPI للاطلاع على أحدث النماذج. - معالجة الأخطاء: قم دائمًا بتغليف المكالمات في كتل try-except للتعامل مع مشكلات مثل المفاتيح غير الصالحة أو أخطاء الشبكة.
- الميزات المتقدمةيدعم LiteLLM معلمات مثل درجة الحرارة، والحد الأقصى للرموز، وأعلى قيمة p لضبط الاستجابات بدقة. أضفها إلى استدعاءات الإكمال أو الإكمال، مثل: complete(…, temperature=0.7).
- 403 / أخطاء المصادقة - تأكد من استخدام مفتاح CometAPI الصحيح وإرساله إما كـ
api_keyإلى LiteLLM
الخاتمة
دمج LiteLLM مع CometAPI يتميز بانخفاض الاحتكاك لأن كلا الجانبين يستخدمان واجهات متوافقة مع OpenAI وموثقة جيدًا. استخدم LiteLLM لتركيز استخدام LLM في قاعدة بياناتك البرمجية، وضبطه api_base إلى CometAPI وتمرير مفتاح CometAPI، والاستفادة من مساعدي المزامنة/غير المتزامنة/البث في LiteLLM لإنشاء تطبيقات سريعة الاستجابة ومرنة.
كيف تبدأ
CometAPI هي منصة واجهات برمجة تطبيقات موحدة تجمع أكثر من 500 نموذج ذكاء اصطناعي من أبرز المزودين، مثل سلسلة GPT من OpenAI، وGemini من Google، وClaude من Anthropic، وMidjourney، وSuno، وغيرهم، في واجهة واحدة سهلة الاستخدام للمطورين. من خلال توفير مصادقة متسقة، وتنسيق الطلبات، ومعالجة الردود، تُبسط CometAPI بشكل كبير دمج قدرات الذكاء الاصطناعي في تطبيقاتك. سواء كنت تُنشئ روبوتات دردشة، أو مُولّدات صور، أو مُلحّنين موسيقيين، أو خطوط أنابيب تحليلات قائمة على البيانات، تُمكّنك CometAPI من التكرار بشكل أسرع، والتحكم في التكاليف، والاعتماد على مورد واحد فقط، كل ذلك مع الاستفادة من أحدث التطورات في منظومة الذكاء الاصطناعي.
للبدء، استكشف قدرات النموذج في ملعب واستشر دليل تكامل LiteLLM للحصول على تعليمات مفصلة. قبل الدخول، يُرجى التأكد من تسجيل الدخول إلى CometAPI والحصول على مفتاح API. كوميت ايه بي اي عرض سعر أقل بكثير من السعر الرسمي لمساعدتك على التكامل.
