0Pricing
AI Agents · درس

استدعاء OpenAI API: chat.completions

أرسل الرسائل إلى نقطة نهاية OpenAI chat.completions، واضبط temperature وmax_tokens، وحلّل الاستجابة.

استدعاء OpenAI API: chat.completions درس مجاني في AI Agents على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في AI Agents، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة AI Agents 4 دروس في المجموع.

لماذا chat.completions؟

لدى OpenAI واجهتا برمجة تطبيقات:

  • chat.completions — نقطة النهاية القياسية والمدعومة جيدًا
  • Responses API / Assistants — وكلاء مُدارون (أكثر تقدمًا)

يغطي هذا الدرس chat.completions، وهي نقطة النهاية الأساسية لـ 95% من الوكلاء.

تثبيت SDK

حزمة واحدة، وسطر واحد:

# pip install openai
from openai import OpenAI

client = OpenAI()  # reads OPENAI_API_KEY from env

الاستدعاء الأول

إكمال بسيط:

response = client.chat.completions.create(
    model='gpt-4o-mini',
    messages=[
        {'role': 'system', 'content': 'You are concise.'},
        {'role': 'user', 'content': 'Capital of France?'},
    ],
)
print(response.choices[0].message.content)
# 'Paris'

بنية كائن الاستجابة

تحتوي الاستجابة على أكثر من مجرد نص. ومن الحقول المفيدة:

response.choices[0].message.content       # the text
response.choices[0].finish_reason          # 'stop' / 'length' / 'tool_calls'
response.usage.prompt_tokens               # input tokens
response.usage.completion_tokens           # output tokens
response.usage.total_tokens                # sum
response.id                                # 'chatcmpl-...' for tracing

المعاملات الأساسية

  • model — النموذج المراد استخدامه
  • temperature — قيمة 0.0 حتمية، وقيمة 1.0 إبداعية
  • max_tokens — حد أقصى لطول المخرجات
  • top_p — بديل عن temperature
  • seed — مخرجات قابلة لإعادة الإنتاج (مع بعض القيود)

‏Temperature: اختاروا القيمة وفقًا للمهمة

  • 0.0 — الاستخراج والتصنيف وتوليد الشيفرة
  • 0.2-0.5 — معظم قرارات الوكلاء
  • 0.7-1.0 — الكتابة الإبداعية والعصف الذهني

تسلسلات الإيقاف

أوقفوا المخرجات عند علامة محددة:

response = client.chat.completions.create(
    model='gpt-4o-mini',
    messages=messages,
    stop=['\n\n', 'END'],
)
# Stops as soon as a blank line or 'END' appears.

خيارات متعددة

ولّدوا N مرشحًا في استدعاء واحد:

response = client.chat.completions.create(
    model='gpt-4o-mini',
    messages=messages,
    n=3,  # three samples
)
for choice in response.choices:
    print(choice.message.content)

أنواع الأخطاء التي يجب معالجتها

  • RateLimitError — الخطأ 429، انتظروا قبل إعادة المحاولة
  • APIConnectionError — مشكلة في الشبكة
  • APITimeoutError — استجابة بطيئة
  • AuthenticationError — مفتاح API غير صالح
  • BadRequestError — مشكلة في المخطط

الاستدعاءات غير المتزامنة

بالنسبة إلى الوكلاء ذوي معدل الإنتاجية المرتفع، استخدموا العميل غير المتزامن:

from openai import AsyncOpenAI
import asyncio

client = AsyncOpenAI()

async def ask(q):
    r = await client.chat.completions.create(
        model='gpt-4o-mini',
        messages=[{'role': 'user', 'content': q}],
    )
    return r.choices[0].message.content

results = asyncio.run(asyncio.gather(*[ask(q) for q in questions]))

المهلة وإعادة المحاولات مضمّنتان

تنفّذ SDK بعض عمليات إعادة المحاولة افتراضيًا. ويمكنكم تجاوز ذلك:

client = OpenAI(
    timeout=30.0,
    max_retries=3,
)

أسباب الإنهاء

ماذا يعني finish_reason == "length"؟

مراجعة

يمكنكم الآن استدعاء OpenAI من Python. سنغطي بعد ذلك Anthropic API، الذي يختلف اختلافات صغيرة لكنها مهمة.

الأسئلة الشائعة

هل درس «استدعاء OpenAI API: chat.completions» مجاني؟

نعم — نص درس «استدعاء OpenAI API: chat.completions» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة AI Agents، انتقل إلى CoddyKit PRO. تتضمن دورة AI Agents 4 دروس في المجموع.

ماذا ستتعلم في «استدعاء OpenAI API: chat.completions»؟

أرسل الرسائل إلى نقطة نهاية OpenAI chat.completions، واضبط temperature وmax_tokens، وحلّل الاستجابة. تتمرن على AI Agents مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ AI Agents؟

لا تُشترط خبرة سابقة. AI Agents على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.

كم من الوقت يستغرق درس «استدعاء OpenAI API: chat.completions»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس AI Agents هذا؟

نعم. كل درس في AI Agents يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. استدعاء OpenAI API: chat.completions
  2. استدعاء Anthropic API: messages
  3. بث الاستجابات (SSE)
  4. الوعي بالتكلفة: عدّ الرموز والميزانيات
← العودة إلى AI Agents