عملية الطلب
لاستخدام واجهة برمجة تطبيقات رسائل كلود، يجب أولاً الذهاب إلى وحدة التحكم في Ace Data Cloud للحصول على رمز API الخاص بك، للاحتفاظ به كنسخة احتياطية.
إذا لم تكن قد قمت بتسجيل الدخول أو التسجيل بعد، فسيتم تحويلك تلقائيًا إلى صفحة تسجيل الدخول لدعوتك للتسجيل وتسجيل الدخول، وبعد الانتهاء، سيتم إرجاعك تلقائيًا إلى الصفحة الحالية.
يمكن استخدام رمز API واحد لاستدعاء جميع خدمات المنصة، دون الحاجة لتقديم طلب منفصل لكل خدمة. ستتلقى رصيدًا مجانيًا عند الطلب الأول، يمكنك تجربته مجانًا؛ وعند نفاد الرصيد، يمكنك إعادة شحن الرصيد العام في وحدة التحكم.
📘 الوثيقة الكاملة: واجهة برمجة تطبيقات رسائل كلود →
الاستخدام الأساسي
مسار طلب واجهة برمجة تطبيقات رسائل كلود هو/v1/messages، وهو متوافق مع واجهة برمجة تطبيقات Anthropic الرسمية. نحتاج على الأقل إلى تقديم ثلاثة معلمات إلزامية:
model: اختيار نموذج كلود المستخدم. الطراز الرائد الأحدث هوclaude-fable-5-1(سياق 1 مليون توكن، أقصى إخراج 128K توكن)؛ لا يزال الطراز الأصليclaude-fable-5متوافقًا.messages: مصفوفة الرسائل المدخلة، تحتوي كل رسالة علىrole(دور) وcontent(محتوى)، حيث يدعمroleكل منuserوassistant.max_tokens: الحد الأقصى لعدد توكنات الإخراج، يستخدم لتحديد طول الرد في مرة واحدة.
system: كلمة تحفيزية للنظام، تستخدم لتحديد سلوك النموذج ودوره.temperature: عشوائية التوليد، بين 0-1، كلما زادت القيمة، زادت تشتت الرد.stream: هل تستخدم الاستجابة المتدفقة، تعيينها إلىtrueيمكن أن يحقق تأثير العودة كلمة بكلمة.stop_sequences: تسلسل التوقف المخصص، سيتوقف النموذج عن التوليد عند مواجهة هذه النصوص.top_p: معلمة أخذ العينات النووية، بالتعاون مع temperature للتحكم في عشوائية التوليد.top_k: أخذ العينات فقط من أعلى K خيارات احتمالية.tools: تعريف الأدوات، للسماح للنموذج باستدعاء وظائف خارجية.tool_choice: التحكم في كيفية استخدام النموذج للأدوات المقدمة.cache_control: إنشاء نقطة توقف مؤقتة تلقائيًا في آخر كتلة محتوى قابلة للتخزين المؤقت في الطلب؛ يمكن أيضًا كتابتها على كتلة المحتوى المحددة.
مثال cURL
مثال Python
id: المعرف الفريد لهذه الرسالة.type: دائمًاmessage.role: دائمًاassistant.content: مصفوفة محتوى الرد، تحتوي كل عنصر علىtype(مثلtext) والمحتوى المقابل.model: اسم النموذج الذي يعالج الطلب.stop_reason: سبب التوقف. القيم الثابتة تشملend_turn،max_tokens،stop_sequence،tool_use،pause_turn(يمكن إعادة محتوى assistant الحالي كما هو للاستمرار)،refusalوmodel_context_window_exceeded.stop_sequence: إذا توقفت بسبب تسلسل التوقف المخصص، يتم عرض نص التسلسل المتوقف المطابق.stop_details: عندما يكونstop_reasonهوrefusal، قد تحتوي على فئة الرفض والتوضيح.usage: إحصائيات استخدام التوكن.input_tokensهو الإدخال غير المخزن؛cache_creation_input_tokensوcache_read_input_tokensهما على التوالي الكتابة والقراءة من التخزين المؤقت؛output_tokensهو عدد توكنات الإخراج. السعر الرسمي لقراءة التخزين المؤقت لـ Fable 5.1 هو 12.50 و$20/مليون توكن على التوالي؛ يتم حساب الأسعار الفعلية للمنصة وفقًا لخصومات الحزم. قد تحتوي الاستجابة غير المتدفقة أيضًا علىcostالمسجل من Ace Data Cloud.
كلمات التحفيز النظامية
تدعم واجهة برمجة تطبيقات رسائل كلود تعيين كلمات تحفيز النظام من خلال حقلsystem، لتحديد سلوك النموذج ودوره وسياقه.
مثال Python
system، يمكن التحكم بدقة في دور كلود وسلوكه.
الاستجابة المتدفقة
تدعم هذه الواجهة أيضًا الاستجابة المتدفقة، حيث يمكن تعيين معلمةstream إلى true للحصول على تأثير العودة خطوة بخطوة، مما يجعلها مثالية لتنفيذ عرض كلمة بكلمة على الويب.
مثال Python
event: و data:. تشمل أنواع الأحداث المتدفقة:
message_start: بداية الرسالة، تحتوي على المعلومات الأساسية للرسالة واسم النموذج.content_block_start: بداية كتلة المحتوى.content_block_delta: تحديثات زيادة كتلة المحتوى، تحتوي على مقاطع نصية جديدة تم إنشاؤها.content_block_stop: نهاية كتلة المحتوى.message_delta: تحديثات زيادة على مستوى الرسالة، تحتوي علىstop_reasonومعلوماتusageالنهائية.message_stop: نهاية الرسالة.
content_block_delta في الاستجابة المتدفقة يحتوي على محتوى نصي يتم إنشاؤه تدريجياً، من خلال تجميع جميع text_delta يمكنك الحصول على الرد الكامل.
مثال على JavaScript
محادثة متعددة الجولات
إذا كنت ترغب في دمج وظيفة المحادثة متعددة الجولات، تحتاج إلى ترتيب الرسائل بين أدوارuser و assistant بالتناوب في مصفوفة messages، مع تضمين تاريخ المحادثة السابقة.
مثال على Python
messages، يمكن لكلود دمج السياق لتقديم إجابات دقيقة.
نموذج التفكير العميق
تفكير كلود وملخص التفكير هما مفهومان مختلفان: يمكن للنموذج إجراء استدلال داخلي، لكن واجهة برمجة التطبيقات لا تعيد سلسلة التفكير الأصلية. عند الحاجة لعرض عملية الاستدلال، تعيد واجهة برمجة التطبيقات ملخصًا معالجًا. يوصى باستخدام التفكير التكيفي للنموذج الحالي، ويتم التحكم في إجمالي جهد الاستدلال من خلالoutput_config.effort:
display: "summarized"تعيد ملخص تفكير قابل للقراءة؛ ليس سلسلة التفكير الأصلية.display: "omitted"تعيدthinking: ""، ولكن لا تزال تحتفظ بـ opaquesignatureلدعم المحادثات اللاحقة.- القيم الافتراضية لـ Fable 5.1، Fable 5، Opus 5، Sonnet 5، Opus 4.8 و Opus 4.7 هي
omitted؛ بينما Opus 4.6، Sonnet 4.6 وما قبلها التي تدعم التفكير تستخدم افتراضيًاsummarized. - يؤثر العرض فقط على محتوى الاستجابة وتأخير التدفق، ولا يغلق الاستدلال، ولا يقلل من تكلفة تفكير الرموز.
- ما إذا كان التفكير مفعلًا افتراضيًا وما هي القيم الافتراضية للعرض هما مسألتان مستقلتان. Opus 5 و Sonnet 5 مفعلان افتراضيًا التفكير التكيفي؛ بينما Opus 4.8، 4.7 و 4.6 تحتاج إلى تفعيل صريح.
budget_tokensتستخدم فقط للنماذج القديمة التي لا تزال تدعم ميزانية تفكير ثابتة. يجب على النماذج الجديدة استخدامthinking.type=adaptiveوoutput_config.effort؛ تفكير Fable 5.1 مفعل دائمًا ولا يمكن إيقافه صراحة.- عند المحادثات متعددة الجولات واستدعاء الأدوات، يجب إعادة كتلة التفكير الكاملة التي أعادها المساعد و
signatureكما هي؛ لا تعدل أو تولدsignatureبنفسك. - بعض التوجيهات المتوافقة جزئيًا لا يمكنها معالجة
redacted_thinkingأو إيقاف التفكير صراحة، وفي هذه الحالة ستعيد خطأ في المعلمات، ولن تتجاهل أو تغير دلالة الطلب بصمت.
summarized إلى إنتاج thinking_delta؛ بينما omitted لا ينتج thinking_delta، بل يحتفظ فقط بدورة حياة كتلة التفكير و signature_delta.
نموذج بصري
Claude يدعم الإدخال متعدد الوسائط، ويمكنه معالجة النصوص والصور في نفس الوقت. في واجهة برمجة التطبيقات للرسائل، يمكن استخدام القدرات البصرية عن طريق تعيينcontent إلى تنسيق مصفوفة وتمرير كتل محتوى الصورة.
استخدام ترميز Base64 للصورة
استخدام صورة URL
مثال cURL
image/jpeg، image/png، image/gif، image/webp.
الوثائق و PDF
تستخدم PDF كتلة محتوىdocument، وتدعم مصدرين ثابتين هما Base64 و URL. يجب أن يكون مصدر Base64 باستخدام application/pdf:
{"type":"url","url":"https://example.com/report.pdf"}. تدعم document أيضًا text/plain ومصادر content المكونة من كتل نصية/صورية؛ تشمل الحقول الاختيارية title، context و citations. مصدر file_id في واجهة برمجة التطبيقات للملفات هو ميزة بيتا مستقلة، ولا تدخل ضمن العقد الثابتة لهذه الواجهة.
تخزين التلميحات
سيقومcache_control في المستوى الأعلى تلقائيًا بوضع نقاط التوقف في آخر كتلة قابلة للتخزين المؤقت:
cache_control في كتل المحتوى النصية، الصور، الوثائق، استخدام الأدوات، أو تعريف الأدوات. يدعم ttl قيم 5m (افتراضي) و 1h؛ يرجى استخدام usage.cache_creation_input_tokens و usage.cache_read_input_tokens لتحديد كتابة ونجاح التخزين المؤقت.
مثال على نتيجة العودة:
استخدام الأدوات (Tool Use)
تدعم واجهة برمجة التطبيقات للرسائل في Claude بشكل أصلي وظيفة استدعاء الأدوات، مما يسمح للنموذج باستدعاء الأدوات/الدوال التي قمت بتعريفها مسبقًا عند الحاجة.مثال Python
tool_use:
stop_reason هو tool_use، مما يشير إلى أن النموذج يحتاج إلى استدعاء أداة. بعد تلقي هذه النتيجة، تحتاج إلى تنفيذ دالة الأداة وإعادة النتيجة بشكل tool_result إلى النموذج:
الفرق مع واجهة برمجة التطبيقات لإكمال الدردشة
تقدم Ace Data Cloud نوعين من تنسيقات واجهة برمجة التطبيقات لـ Claude، والفرق الرئيسي بينهما كما يلي: تشيرusage.input_tokens في واجهة برمجة التطبيقات للرسائل فقط إلى المدخلات غير المخزنة، بينما cache_read_input_tokens و cache_creation_input_tokens هي فئات محاسبة مستقلة؛ وسيتم حساب الثلاثة وفقًا للأسعار المقابلة.
إذا كان نظامك متصلاً بالفعل بواجهة برمجة التطبيقات بتنسيق OpenAI، يمكنك استخدام واجهة برمجة التطبيقات لإكمال الدردشة للتبديل بسلاسة. إذا كنت بحاجة إلى استخدام جميع قدرات Claude الأصلية، يُنصح باستخدام واجهة برمجة التطبيقات للرسائل.
معالجة الأخطاء
تستخدم استجابة الأخطاء من الواجهة العامة غلاف منصة Ace Data Cloud:error.code هو رمز خطأ ثابت، وerror.message هو الوصف، وtrace_id يُستخدم لتتبع الطلب. تشمل حالات HTTP الشائعة:
400: معلمات الطلب أو محتوى البروتوكول غير صالحة.401: رمز التفويض غير صالح أو مفقود أو منتهي.403: الوصول ممنوع، رصيد غير كافٍ أو حصة محدودة.404: واجهة برمجة التطبيقات أو النموذج غير موجود.413: جسم الطلب كبير جدًا.429: عدد الطلبات كبير جدًا.500/503/504: خطأ في الخدمة، غير متاح مؤقتًا أو تجاوز الوقت.
مثال على استجابة الخطأ
error.code.

