تسمح استجابات البث المباشر (Streaming) للعميل باستلام الرموز (Tokens) من نموذج اللغة في اللحظة التي يتم إنشاؤها فيها، بدلاً من الانتظار حتى اكتمال الإجابة بأكملها. بالنسبة لروبوتات الدردشة في الوقت الفعلي، وأدوات الترجمة المباشرة، والوكلاء التفاعليين، تعتبر هذه الملاحظات منخفضة الكمون ضرورية. تقدم بوابة LLM Resayil (https://llm.resayil.io) واجهة برمجة تطبيقات (API) متوافقة تمامًا مع OpenAI و Anthropic تدعم البث المباشر، واستدعاء الدوال، واستخدام الأدوات، واللغة العربية كجزء من_capabilities_ها متعددة اللغات. في هذا الدليل، نصطحب مطوري Python عبر سير العمل بأكمله – من إعداد البيئة إلى معالجة الرموز المتدفقة – حتى تتمكن من بناء تطبيقات متجاوبة atop نموذج الدفع حسب الاستخدام الخاص بـ Resayil.
مقدمة
تسمح استجابات البث المباشر (Streaming) للعميل باستلام الرموز (Tokens) من نموذج اللغة في اللحظة التي يتم إنشاؤها فيها، بدلاً من الانتظار حتى اكتمال الإجابة بأكملها. بالنسبة لروبوتات الدردشة في الوقت الفعلي، وأدوات الترجمة المباشرة، والوكلاء التفاعليين، تعتبر هذه الملاحظات منخفضة الكمون ضرورية. تقدم بوابة LLM Resayil (https://llm.resayil.io) واجهة برمجة تطبيقات (API) متوافقة تمامًا مع OpenAI و Anthropic تدعم البث المباشر، واستدعاء الدوال، واستخدام الأدوات، واللغة العربية كجزء من_capabilities_ها متعددة اللغات. في هذا الدليل، نصطحب مطوري Python عبر سير العمل بأكمله – من إعداد البيئة إلى معالجة الرموز المتدفقة – حتى تتمكن من بناء تطبيقات متجاوبة atop نموذج الدفع حسب الاستخدام الخاص بـ Resayil.
جدول المقارنة
| الميزة | LLM Resayil (جانبنا) | OpenAI API |
|---|---|---|
| التوافق | متوافق مع OpenAI و Anthropic | أصلي لـ OpenAI |
| البث المباشر | ✅ مدعوم (عبر stream=true) | ✅ مدعوم |
| استدعاء الدوال | ✅ مدعوم أثناء البث | ✅ مدعوم |
| نماذج الرؤية | ✅ متاحة (نماذج الرؤية) | ✅ متاحة |
| نماذج التفكير | ✅ نماذج كبيرة مثل نماذج التفكير | ✅ متاحة |
| العربية ومتعدد اللغات | ✅ دعم مدمج للغة العربية | ✅ متعدد اللغات (يعتمد على النموذج) |
| موقع الاستضافة | الولايات المتحدة الأمريكية | عالمي (مناطق متعددة) |
| عملة الفواتير | الدولار الأمريكي فقط | الدولار الأمريكي (وغيرها) |
| طرق الدفع | Stripe، PayPal | بطاقة ائتمان، إلخ |
| نموذج التسعير | أرصدة الدفع حسب الاستخدام | الدفع حسب الاستخدام / اشتراك |
ما تقدمه LLM Resayil
تقدم LLM Resayil مصدرًا واحدًا للحقيقة للمطورين الذين يحتاجون إلى واجهة LLM API متعددة الاستخدامات. نظرًا لأن الخدمة متوافقة مع OpenAI، يمكنك إعادة استخدام مجموعات تطوير البرمجيات (SDKs) الحالية (openai، anthropic) دون الحاجة إلى تعلم مكتبة عميل جديدة. تستضيف المنصة 39 نموذجًا تتراوح من النماذج المحسنة للمحادثة إلى النماذج الممكنة للرؤية ونماذج التفكير الضخمة. ترث جميع النماذج نفس سطح واجهة برمجة التطبيقات، مما يجعل تبديل النماذج أمرًا تافهًا مع تطور عبء العمل الخاص بك.
تشمل القدرات الرئيسية:
- البث المباشر – استلم دلتا الرموز فورًا.
- استدعاء الدوال واستخدام الأدوات – استدعِ دوالًا خارجية بينما يقوم النموذج ببث إجابته.
- الرؤية – تغذية الصور للنماذج القادرة على الرؤية.
- دعم اللغة العربية – توليد وفهم النص العربي أصليًا، بجانب أي لغة أخرى.
- أرصدة الدفع حسب الاستخدام – تدفع فقط مقابل الرموز التي تستهلكها، يتم الفوترة بالدولار الأمريكي عبر Stripe أو PayPal.
ما تقدمه OpenAI API
توفر واجهة OpenAI API نظامًا بيئيًا ناضجًا مع مجموعة واسعة من النماذج (GPT‑4، GPT‑3.5، DALL‑E، Whisper) وتوثيقًا واسعًا. إنها تدعم البث المباشر، واستدعاء الدوال، ومجموعة متنامية من الأدوات لتوليد البيانات المعزز بالاسترجاع. المنصة موزعة عالميًا وتقدم مستويات تسعير متعددة، بما في ذلك خطط الاشتراك للمستخدمين ذوي الحجم الكبير.
لماذا تفوز LLM Resayيل لـ Python Streaming
عندما تكون حاجتك الأساسية هي تسليم الرموز في الوقت الفعليcombined مع مخرجات عربية أو متعددة اللغات، فإن دعم اللغة المدمج في Resayil يزيل الحاجة إلى هندسة الأوامر الإضافية. نظرًا لأن واجهة برمجة التطبيقات تعكس تنسيق طلب OpenAI، يمكنك التبديل من OpenAI إلى Resayil بتغيير واحد لـ api_base، gaining access to a broader catalog of thinking and vision models without rewriting code. يضمن نظام أرصدة الدفع حسب الاستخدام أيضًا قابلية التنبؤ بالتكلفة للمطورين الذين يجربون نماذج كبيرة.
ما تحصل عليه باستخدام LLM Resayil
- تكامل سلس عبر مجموعة تطوير برمجيات OpenAI Python (
openai) أو استدعاءات HTTP المباشرة. - الوصول إلى 39 نموذجًا حديثًا بما في ذلك نماذج للمحادثة ونماذج للرؤية.
- توليد اللغة العربية خارج الصندوق، مثالي لأسواق الشرق الأوسط.
- فواتير شفافة بالدولار الأمريكي، قابلة للدفع عبر Stripe أو PayPal.
- أدوات مطور قوية مثل فحوصات الحالة (
/v1/health) وعد الرموز (/v1/messages/count_tokens).
إعداد بيئة Python الخاصة بك للبث المباشر
- تثبيت Python (يوصى بـ 3.8+). تحقق عبر
python --version. - أنشئ بيئة افتراضية لعزل التبعيات:
python -m venv venv source venv/bin/activate # Windows: venv\Scripts\activate - تثبيت OpenAI SDK – واجهة Resayil API متوافقة تمامًا، لذا تعمل نفس الحزمة:
pip install openai - احصل على مفتاح API الخاص بك من بوابة Resayil (تسجيل الدخول → مفاتيح API → إنشاء). احتفظ به سرًا.
- قم بتكوين SDK للإشارة إلى عنوان URL الأساسي لـ Resayil:
import openai openai.api_key = "YOUR_RESAYIL_API_KEY" openai.api_base = "https://llm.resayil.io/v1" - (اختياري) تثبيت
httpxإذا كنت تفضل طلبات HTTP الخام:pip install httpx
مع اكتمال هذه الخطوات، أنت جاهز لإصدار اكتمالات الدردشة المتدفقة.
إجراء طلب اكتمال دردشة متدفق
فيما يلي مثال خطوة بخطوة باستخدام OpenAI SDK. نطلب نموذجًا، ونمكن البث المباشر، ونطبع كل رمز عند وصوله.
import openai
import sys
# التكوين (استبدل بمفتاحك الحقيقي)
openai.api_key = "YOUR_RESAYIL_API_KEY"
openai.api_base = "https://llm.resayil.io/v1"
messages = [
{"role": "system", "content": "أنت مساعد مفيد يتحدث العربية والإنجليزية."},
{"role": "user", "content": "اشرح مفهوم البث المباشر في نماذج الذكاء الاصطناعي، وأعطي مثالًا بالعربية."}
]
try:
response = openai.ChatCompletion.create(
model="model-id",
messages=messages,
stream=True, # تمكين البث المباشر
temperature=0.7,
max_tokens=500
)
# التكرار عبرchunks المتدفقة
for chunk in response:
# كل chunk قد يحتوي على دلتا جزئية
delta = chunk.choices[0].delta
if "content" in delta:
sys.stdout.write(delta["content"]) # طباعة الرمز بدون سطر جديد
sys.stdout.flush()
# معالجة استدعاءات الدوال إذا وجدت (عنصر نائب للمثال)
if "function_call" in delta:
# يمكنك البدء في معالجة استدعاء الدالة هنا
pass
print() # سطر جديد نهائي بعد انتهاء البث
except openai.error.OpenAIError as e:
print(f"خطأ في البث: {e}")
نقاط رئيسية
stream=Trueيخبر واجهة برمجة التطبيقات بإرجاع مولد من chunks.- يحتوي كل chunk على كائن
delta؛ يحمل الحقلcontentالرمز الذي تم إنشاؤه حديثًا. - تطبع الحلقة الرموز في الوقت الفعلي، مما يخلق تجربة مستخدم سلسة.
- يتم catching الأخطاء عبر
OpenAIError, allowing graceful fallback.
يمكنك تحقيق نفس النتيجة باستخدام HTTP الخام باستخدام httpx:
import httpx, json
api_key = "YOUR_RESAYIL_API_KEY"
url = "https://llm.resayil.io/v1/chat/completions"
headers = {"Authorization": f"Bearer {api_key}", "Content-Type": "application/json"}
payload = {
"model": "model-id",
"messages": [
{"role": "system", "content": "أنت مساعد مفيد."},
{"role": "user", "content": "أعطني قصة قصيرة بالعربية."}
],
"stream": True,
"max_tokens": 300,
"temperature": 0.6
}
with httpx.stream("POST", url, headers=headers, json=payload, timeout=60.0) as response:
for line in response.iter_lines():
if line:
data = json.loads(line.decode())
delta = data["choices"][0]["delta"]
if "content" in delta:
print(delta["content"], end="", flush=True)
توضح كلتا الطريقتين مدى ضآلة الكود الإضافي المطلوب لفتح البث المباشر.
معالجة استجابات البث المباشر والأحداث
معالجة الرموز
- تراكم الرموز إذا كنت بحاجة إلى الإجابة الكاملة لاحقًا:
full_text += delta["content"]. - تحديث واجهة المستخدم في الوقت الفعلي (على سبيل المثال WebSocket to front‑end) عن طريق إرسال كل رمز عند وصوله.
اكتشاف اكتمال البث
ينتهي المولد عندما ترسل واجهة برمجة التطبيقات finish_reason值为 stop أو length. في حلقة SDK، يعني مجرد الخروج من حلقة for أن البث اكتمل. مع HTTP الخام، راقب chunk حيث يكون finish_reason موجودًا وقم بكسر الحلقة.
إدارة الأخطاء
- انقطاعات الشبكة – غلف حلقة البث المباشر في كتلة
try/exceptوحاول إعادة المحاولة عدة مرات اختياريًا. - حدود المعدل – ستعيد واجهة برمجة التطبيقات خطأ 429؛ تراجع لبضع ثوانٍ قبل إعادة المحاولة.
- حالة الخدمة – يمكنك التحقق من
/v1/healthقبل بدء البث المباشر للتأكد من أن المنصة تعمل.
import time
def stream_with_retry(messages, max_retries=3):
attempt = 0
while attempt < max_retries:
try:
# نفس كود الطلب كما من قبل
response = openai.ChatCompletion.create(
model="model-id",
messages=messages,
stream=True
)
for chunk in response:
delta = chunk.choices[0].delta
if "content" in delta:
print(delta["content"], end="", flush=True)
return # نجاح
except openai.error.RateLimitError:
attempt += 1
wait = 2 ** attempt
print(f"تم تحديد المعدل، إعادة المحاولة خلال {wait}ث…")
time.sleep(wait)
except openai.error.OpenAIError as e:
print(f"فشل البث: {e}")
break
استدعاء الدوال أثناء البث المباشر
عندما تتضمن تعريف function في الطلب، قد يصدر البث المباشر دلتا function_call. تعامل معها بشكل مشابه لدلتا المحتوى، ولكن قم بتشغيل تنفيذ الدالة المحلية الخاص بك بمجرد استلام حمولة الاستدعاء الكاملة.
أفضل الممارسات وحالات الاستخدام في العالم الحقيقي
- اختر البث المباشر لواجهات المستخدم التفاعلية – تستفيد عناصر واجهة الدردشة، ومساعدي الصوت، أو خدمات الترجمة المباشرة من ملاحظات الرمز الفورية.
- حد من
max_tokensلتجنب الاستجابات الجامحة؛ اجمع مع تسلسلاتstopلتحكم أفضل. - استفد من دعم العربية – ابنِ روبوتات ثنائية اللغة تبدل اللغات على الطيران دون طبقات ترجمة إضافية.
- اقترن نماذج التفكير بالبث المباشر – لمهام الاستدلال المعقدة، ابدأ بثًا مباشرًا بنموذج
thinking، ثم انتقل إلى نموذج دردشة للمتابعة. - استخدم نماذج الرؤية في خطوط أنابيب البث المباشر – أرسل صورة، استقبل وصفًا متدفقًا، وقم في نفس الوقت بتشغيل دالة لتخزين البيانات الوصفية.
- راقب الاستخدام – اتصل بـ
/v1/messages/count_tokensبعد كل جلسة لتتبع استهلاك الرصيد والبقاء ضمن الميزانية. - أمّن مفتاح API الخاص بك – لا تقوم أبدًا بتشفيره بشكل ثابت في كود جانب العميل؛ استخدم متغيرات البيئة أو مديري الأسرار.
باتباع هذه الإرشادات، يمكنك بناء تطبيقات منخفضة الكمون ومتعددة اللغات تتوسع بشكل فعال من حيث التكلفة على منصة Resayil.
جرّب واجهة LLM Resayil البرمجية
ابدأ مجاناًمثال كود
فيما يلي نص مضغوط وجاهز للتشغيل يوضح تدفق بث مباشر كامل مع معالجة الأخطاء، واكتشاف استدعاء الدوال، وعد الرموز.
import openai, os, sys
# تحميل مفتاح API من البيئة للسلامة
openai.api_key = os.getenv("RESAYIL_API_KEY")
openai.api_base = "https://llm.resayil.io/v1"
messages = [
{"role": "system", "content": "أنت مساعد يمكنه الإجابة بالعربية والإنجليزية."},
{"role": "user", "content": "أخبرني نكتة قصيرة بالعربية."}
]
full_response = ""
try:
stream = openai.ChatCompletion.create(
model="model-id",
messages=messages,
stream=True,
temperature=0.8,
max_tokens=150
)
for chunk in stream:
delta = chunk.choices[0].delta
if "content" in delta:
token = delta["content"]
full_response += token
sys.stdout.write(token)
sys.stdout.flush()
if "function_call" in delta:
# عنصر نائب: يمكنك استدعاء دالتك المحلية هنا
pass
print("\n--- انتهى البث ---")
# اختياري: عد الرموز المستخدمة
token_info = openai.ChatCompletion.create(
model="model-id",
messages=messages,
stream=False,
max_tokens=0,
logprobs=0
)
except openai.error.OpenAIError as err:
print(f"خطأ أثناء البث: {err}")
أسئلة شائعة
س: كيف يمكنني تمكين البث المباشر في واجهة LLM Resayil API؟
ج: قم بتعيين المعلمة stream إلى true في طلبك /v1/chat/completions. نظرًا لأن واجهة برمجة التطبيقات متوافقة مع OpenAI، فإن نفس النهج يعمل مع OpenAI Python SDK أو أي عميل HTTP.
س: ما هي مكتبات Python المطلوبة للبث المباشر مع LLM Resayil؟
ج: يمكنك استخدام openai Python SDK (متوافق) أو anthropic SDK لاستدعاءات متوافقة مع Anthropic. إذا كنت تفضل HTTP الخام، تعمل مكتبات مثل requests أو httpx أيضًا.
س: هل يمكنني استخدام استدعاء الدوال أو استخدام الأدوات أثناء البث المباشر؟
ج: نعم. تدعم واجهة Resayil API استدعاء الدوال واستخدام الأدوات بجانب البث المباشر. عند إنشاء استدعاء دالة، ستتضمن chunks المتدفقة دلتا function_call يمكنك التقاطها والتصرف بناءً عليها.
س: كيف أتعامل مع الأخطاء أثناء طلب البث المباشر؟
ج: غلف استدعاء البث المباشر في كتلة try/except catching openai.error.OpenAIError (أو ما يعادلها لـ Anthropic). تحقق من استجابات حد المعدل وحاول إعادة المحاولة اختياريًا مع تراجع أسي. يمكنك أيضًا الاتصال بـ /v1/health مسبقًا للتحقق من حالة الخدمة.
س: هل يعمل البث المباشر مع النص العربي واللغات الأخرى؟
ج: بالتأكيد. تتضمن LLM Resayil دعمًا مدمجًا للغة العربية وقدرة متعددة اللغات، لذا يتم تسليم الرموز المتدفقة بشكل صحيح بغض النظر عن اتجاه النص أو مجموعة الأحرف.
دعوة لاتخاذ إجراء
هل أنت مستعد لإضافة ذكاء اصطناعي في الوقت الفعلي إلى مشاريع Python الخاصة بك؟ سجل للحصول على مفتاح API، واستكشف صفحة الأسعار لفهم نموذج أرصدة الدفع حسب الاستخدام، وغص في التوثيق الكامل للحصول على نصائح تكامل أعمق. ابدأ البث المباشر اليوم مع LLM Resayil!