0Pricing
Learn AI with Python · درس

واجهة Anthropic Claude البرمجية في Python

‏anthropic.Anthropic() وmessages.create() وكتل المحتوى والتفكير الممتد والبث

واجهة Anthropic Claude البرمجية في Python درس مجاني في Learn AI with Python على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Learn AI with Python، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Learn AI with Python 4 دروس في المجموع.

حزمة Anthropic البرمجية

يمكن الوصول إلى نماذج Claude من Anthropic عبر حزمة Python المسماة anthropic. ثبّتوها باستخدام pip install anthropic. يتفوّق Claude في الاستدلال باستخدام سياق طويل، واتباع التعليمات بعناية، واستخدام الأدوات.

pip install anthropic

import anthropic

إنشاء العميل

أنشئوا العميل باستخدام anthropic.Anthropic(). ويقرأ مفتاحكم من متغير البيئة ANTHROPIC_API_KEY افتراضيًا، مما يحافظ على بيانات الاعتماد خارج الكود.

import anthropic

client = anthropic.Anthropic()

# Or explicitly
client = anthropic.Anthropic(api_key="sk-ant-...")

واجهة Messages API

يستخدم Claude الدالة client.messages.create(). بخلاف OpenAI، تكون مطالبة النظام معلمة مستقلة وليست رسالة ضمن القائمة. ولا تحتوي قائمة messages إلا على أدوار المستخدم والمساعد.

message = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=1024,
    system="You are a concise expert.",
    messages=[{"role": "user", "content": "Explain RAG in one sentence."}]
)

يُعدّ max_tokens إلزاميًا

هناك اختلاف أساسي: تُعدّ max_tokens إلزامية في Anthropic API. فهي تحدد عدد الرموز التي يمكن لـ Claude إنشاؤها في رده. اضبطوها على قيمة مرتفعة بما يكفي للمخرجات المتوقعة، لكنها تحميكم أيضًا من التكاليف غير المنضبطة.

message = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=2048,
    messages=[{"role": "user", "content": "Write a haiku about Python."}]
)

قراءة الاستجابة

يعيد Claude قائمة content من الكتل. بالنسبة إلى النص العادي، يوجد الرد في message.content[0].text. وتكون هذه القيمة قائمة لأن الاستجابة قد تحتوي على كتل متعددة، مثل نص إلى جانب طلب لاستخدام أداة.

print(message.content[0].text)

# Inspect block type
print(message.content[0].type)  # "text"

سجل المحادثة

مثل واجهات برمجة الدردشة الأخرى، Claude عديم الحالة. لمتابعة محادثة، عليكم أنتم إضافة رد المساعد ودور المستخدم التالي إلى messages.

messages = [{"role": "user", "content": "Hello"}]
resp = client.messages.create(model="claude-opus-4-8", max_tokens=512, messages=messages)

messages.append({"role": "assistant", "content": resp.content[0].text})
messages.append({"role": "user", "content": "Tell me more"})

البث باستخدام مدير السياق

للحصول على مخرجات في الوقت الفعلي، يوفّر Claude الدالة client.messages.stream() لاستخدامها بوصفها مدير سياق مع عبارة with. ويؤدي ذلك إلى فتح الاتصال وإغلاقه بأمان.

with client.messages.stream(
    model="claude-opus-4-8",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Count to five."}]
) as stream:
    pass  # iterate inside

التكرار على تدفق النص

داخل كتلة with، كرّروا على stream.text_stream لتلقّي الأجزاء الجديدة من النص أثناء إنشائها بواسطة Claude. كل عنصر عبارة عن سلسلة نصية جاهزة للطباعة.

with client.messages.stream(
    model="claude-opus-4-8",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Count to five."}]
) as stream:
    for text in stream.text_stream:
        print(text, end="", flush=True)

الحصول على الرسالة النهائية

بعد انتهاء البث، استدعوا stream.get_final_message() لاسترداد كائن الرسالة الكامل والمجمّع، بما في ذلك بيانات الاستخدام وكتل المحتوى الكاملة.

with client.messages.stream(model="claude-opus-4-8", max_tokens=1024,
        messages=[{"role": "user", "content": "Hi"}]) as stream:
    for text in stream.text_stream:
        print(text, end="")
    final = stream.get_final_message()

استخدام الرموز

تتضمن الاستجابة كائن usage الذي يحتوي على input_tokens وoutput_tokens. لاحظوا اختلاف التسمية عن OpenAI، الذي يستخدم prompt/completion، لكن المعنى واحد: تتبّع التكلفة لكل استدعاء.

print(message.usage.input_tokens)
print(message.usage.output_tokens)

الاختلافات بين OpenAI وAnthropic

تذكّروا الفروق الأساسية: تضع Anthropic مطالبة النظام في معلمة مستقلة، وتتطلب max_tokens، وتقرأ النص من content[0].text، وتنفّذ البث عبر مدير سياق with. وتتيح لكم معرفة هذه الفروق الانتقال بين المزوّدين بثقة.

تحقّق سريع

اختبروا معرفتكم بـ Anthropic.

مراجعة: Claude في Python

أنشأتم عميل anthropic.Anthropic() واستدعيتم messages.create() باستخدام max_tokens إلزامية ومطالبة system مستقلة. وقرأتم الردود من content[0].text، وتتبعتم التكلفة عبر usage.input_tokens / output_tokens.

وللبث، استخدمتم client.messages.stream() بوصفها مدير سياق with، وكرّرتم على text_stream، واسترجعتم النتيجة المجمّعة باستخدام get_final_message().

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

هل درس «واجهة Anthropic Claude البرمجية في Python» مجاني؟

نعم — نص درس «واجهة Anthropic Claude البرمجية في Python» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Learn AI with Python، انتقل إلى CoddyKit PRO. تتضمن دورة Learn AI with Python 4 دروس في المجموع.

ماذا ستتعلم في «واجهة Anthropic Claude البرمجية في Python»؟

‏anthropic.Anthropic() وmessages.create() وكتل المحتوى والتفكير الممتد والبث تتمرن على Learn AI with Python مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

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

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

كم من الوقت يستغرق درس «واجهة Anthropic Claude البرمجية في Python»؟

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

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

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

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

  1. واجهة OpenAI البرمجية: ‏chat.completions والبث
  2. واجهة Anthropic Claude البرمجية في Python
  3. استدعاء الدوال واستخدام الأدوات مع نماذج اللغة الكبيرة
  4. هندسة المطالبات لتطبيقات نماذج اللغة الكبيرة الإنتاجية
← العودة إلى Learn AI with Python