الانتقال إلى المحتوى الرئيسي
يعد Anthropic Claude نظام محادثة AI قويًا للغاية، حيث يمكنه توليد ردود طبيعية وسلسة في غضون ثوانٍ قليلة بمجرد إدخال كلمات التحفيز. يتميز Claude بقدرته الفائقة على فهم اللغة وتوليدها، وقد أصبح له تأثير كبير في مختلف الصناعات والقطاعات. سواء كان ذلك في المحادثات اليومية، الكتابة الإبداعية، أو الاستشارات المهنية، أو برمجة الأكواد، يمكن لـ Claude تقديم مساعدة ذكية مذهلة، مما يزيد بشكل كبير من كفاءة وإبداع البشر في العمل. تتناول هذه الوثيقة بشكل رئيسي عملية استخدام واجهة برمجة تطبيقات إكمال الدردشة Claude، حيث يمكننا من خلالها استخدام وظيفة المحادثة الرسمية لـ Claude بسهولة.

عملية الطلب

لاستخدام واجهة برمجة تطبيقات إكمال الدردشة Claude، يمكنك أولاً زيارة صفحة واجهة برمجة تطبيقات إكمال الدردشة Claude والنقر على زر “Acquire” للحصول على الشهادات المطلوبة للطلب: إذا لم تكن قد قمت بتسجيل الدخول أو التسجيل بعد، فسيتم تحويلك تلقائيًا إلى صفحة تسجيل الدخول لدعوتك للتسجيل وتسجيل الدخول، وبعد تسجيل الدخول، سيتم العودة تلقائيًا إلى الصفحة الحالية. عند الطلب لأول مرة، سيكون هناك حد مجاني متاح، مما يتيح لك استخدام هذه الواجهة مجانًا.

الاستخدام الأساسي

بعد ذلك، يمكنك ملء المحتوى المقابل في الواجهة، كما هو موضح في الصورة:

عند استخدام هذه الواجهة لأول مرة، نحتاج على الأقل إلى ملء ثلاثة محتويات، أحدها هو authorization، والذي يمكن اختياره مباشرة من القائمة المنسدلة. المعامل الآخر هو model، حيث يمثل model فئة النموذج التي نختار استخدامها من موقع Claude الرسمي، وهنا لدينا 20 نوعًا من النماذج، يمكن الاطلاع على التفاصيل في النماذج التي نقدمها. المعامل الأخير هو messages، حيث أن messages هو مصفوفة كلمات الاستفسار التي ندخلها، وهي مصفوفة تمثل إمكانية تحميل عدة كلمات استفسار في نفس الوقت، حيث تحتوي كل كلمة استفسار على role و content، حيث يمثل role دور المستفسر، وقد قدمنا ثلاثة أنواع من الهوية، وهي user و assistant و system. أما content فهو المحتوى المحدد لاستفسارنا. يمكنك أيضًا ملاحظة وجود كود استدعاء مطابق على الجانب الأيمن، يمكنك نسخ الكود وتشغيله مباشرة، أو يمكنك النقر على زر “Try” للاختبار. المعلمات الاختيارية الشائعة:
  • max_tokens: تحديد الحد الأقصى لعدد الرموز في الرد الواحد.
  • temperature: عشوائية التوليد، بين 0-2، كلما زادت القيمة زادت العشوائية.
  • n: عدد الردود المرشحة التي يتم توليدها في مرة واحدة.
  • response_format: إعداد تنسيق الاستجابة.

بعد الاستدعاء، نجد أن النتيجة المرجعة هي كما يلي:
{
  "id": "msg_bdrk_01Q6WN27v95ypCa1kbanAQ6K",
  "model": "claude-opus-4-20250514",
  "object": "chat.completion",
  "created": 1768619365,
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Hello! How can I help you today?"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 8,
    "completion_tokens": 12,
    "total_tokens": 20,
    "prompt_tokens_details": {
      "cached_tokens": 0,
      "text_tokens": 0,
      "audio_tokens": 0,
      "image_tokens": 0
    },
    "completion_tokens_details": {
      "text_tokens": 0,
      "audio_tokens": 0,
      "reasoning_tokens": 0
    },
    "input_tokens": 0,
    "output_tokens": 0,
    "input_tokens_details": null,
    "claude_cache_creation_5_m_tokens": 0,
    "claude_cache_creation_1_h_tokens": 0
  }
}
تتكون النتيجة المرجعة من عدة حقول، كما هو موضح أدناه:
  • id، هو معرف مهمة المحادثة التي تم إنشاؤها، ويستخدم لتحديد هذه المهمة بشكل فريد.
  • model، هو النموذج الذي تم اختياره من موقع Claude الرسمي.
  • choices، هي معلومات الرد التي قدمها Claude على كلمات الاستفسار.
  • usage: معلومات إحصائية حول الرموز المستخدمة في هذه المحادثة.
حيث أن choices تحتوي على معلومات ردود Claude، ويمكن ملاحظة أن choices تحتوي على المعلومات المحددة للردود، كما هو موضح في الصورة.

يمكنك أن ترى أن حقل content داخل choices يحتوي على المحتوى المحدد لردود Claude.

الاستجابة المتدفقة

تدعم هذه الواجهة أيضًا الاستجابة المتدفقة، وهو أمر مفيد جدًا لتكامل الويب، حيث يمكن أن يتيح للويب عرض النتائج حرفيًا. إذا كنت ترغب في الحصول على استجابة متدفقة، يمكنك تغيير معامل stream في رأس الطلب إلى true. التعديل كما هو موضح في الصورة، ولكن يجب أن يكون هناك تغييرات مطابقة في كود الاستدعاء لدعم الاستجابة المتدفقة.

بعد تغيير stream إلى true، ستقوم واجهة برمجة التطبيقات بإرجاع بيانات JSON سطرًا بسطر، وعلى مستوى الكود، نحتاج إلى إجراء التعديلات اللازمة للحصول على النتائج سطرًا بسطر. كود استدعاء Python كمثال:
import requests

url = "https://api.acedata.cloud/v1/chat/completions"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "model": "claude-opus-4-20250514",
    "messages": [{"role":"user","content":"Hello"}],
    "stream": True
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
نتيجة الإخراج كما يلي:
data: {"id": "msg_bdrk_01LPPqDjLKMgfSwTRMRty9VT", "object": "chat.completion.chunk", "created": 1768619445, "model": "claude-opus-4-20250514", "system_fingerprint": null, "choices": [{"delta": {"content": "", "role": "assistant"}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "msg_bdrk_01LPPqDjLKMgfSwTRMRty9VT", "object": "chat.completion.chunk", "created": 1768619445, "model": "claude-opus-4-20250514", "system_fingerprint": null, "choices": [{"delta": {"content": ""}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "msg_bdrk_01LPPqDjLKMgfSwTRMRty9VT", "object": "chat.completion.chunk", "created": 1768619445, "model": "claude-opus-4-20250514", "system_fingerprint": null, "choices": [{"delta": {"content": "مرحبًا!"}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "msg_bdrk_01LPPqDjLKMgfSwTRMRty9VT", "object": "chat.completion.chunk", "created": 1768619445, "model": "claude-opus-4-20250514", "system_fingerprint": null, "choices": [{"delta": {"content": " كيف يمكنني مساعدتك"}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "msg_bdrk_01LPPqDjLKMgfSwTRMRty9VT", "object": "chat.completion.chunk", "created": 1768619445, "model": "claude-opus-4-20250514", "system_fingerprint": null, "choices": [{"delta": {"content": " اليوم؟"}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "msg_bdrk_01LPPqDjLKMgfSwTRMRty9VT", "object": "chat.completion.chunk", "created": 1768619445, "model": "claude-opus-4-20250514", "system_fingerprint": null, "choices": [{"delta": {}, "logprobs": null, "finish_reason": "stop", "index": 0}], "usage": null}

data: {"id": "msg_bdrk_01LPPqDjLKMgfSwTRMRty9VT", "object": "chat.completion.chunk", "created": 1768619445, "model": "claude-opus-4-20250514", "system_fingerprint": null, "choices": [], "usage": {"prompt_tokens": 8, "completion_tokens": 12, "total_tokens": 20, "prompt_tokens_details": {"cached_tokens": 0, "text_tokens": 0, "audio_tokens": 0, "image_tokens": 0}, "completion_tokens_details": {"text_tokens": 0, "audio_tokens": 0, "reasoning_tokens": 0}, "input_tokens": 0, "output_tokens": 0, "input_tokens_details": null, "claude_cache_creation_5_m_tokens": 0, "claude_cache_creation_1_h_tokens": 0}}

data: [DONE]
يمكنك أن ترى أن هناك العديد من data في الاستجابة، وdata تحتوي على choices التي تمثل أحدث محتوى للإجابة، وهو متوافق مع ما تم تقديمه أعلاه. choices هي محتوى الإجابة الجديد، يمكنك دمج النتائج في نظامك. أيضًا، يتم تحديد نهاية الاستجابة المتدفقة بناءً على محتوى data، إذا كان المحتوى هو [DONE]، فهذا يعني أن إجابة الاستجابة المتدفقة قد انتهت بالكامل. تحتوي نتائج data على عدة حقول، كما هو موضح أدناه:
  • id، معرف فريد لمهمة المحادثة هذه.
  • model، النموذج المختار من موقع Claude.
  • choices، معلومات الإجابة التي قدمها Claude بناءً على كلمات السؤال.
يدعم JavaScript أيضًا، على سبيل المثال، كود استدعاء التدفق في Node.js كما يلي:
const options = {
  method: "post",
  headers: {
    accept: "application/json",
    authorization: "Bearer {token}",
    "content-type": "application/json",
  },
  body: JSON.stringify({
    model: "claude-opus-4-20250514",
    messages: [{ role: "user", content: "مرحبًا" }],
    stream: true,
  }),
};

fetch("https://api.acedata.cloud/v1/chat/completions", options)
  .then((response) => response.json())
  .then((response) => console.log(response))
  .catch((err) => console.error(err));
كود مثال في Java:
JSONObject jsonObject = new JSONObject();
jsonObject.put("model", "claude-opus-4-20250514");
jsonObject.put("messages", [{"role":"user","content":"مرحبًا"}]);
jsonObject.put("stream", true);
MediaType mediaType = "application/json; charset=utf-8".toMediaType();
RequestBody body = jsonObject.toString().toRequestBody(mediaType);
Request request = new Request.Builder()
  .url("https://api.acedata.cloud/v1/chat/completions")
  .post(body)
  .addHeader("accept", "application/json")
  .addHeader("authorization", "Bearer {token}")
  .addHeader("content-type", "application/json")
  .build();

OkHttpClient client = new OkHttpClient();
Response response = client.newCall(request).execute();
System.out.print(response.body!!.string())
يمكنك إعادة كتابة الكود بلغة أخرى بنفس المبدأ.

محادثة متعددة الجولات

إذا كنت ترغب في دمج وظيفة المحادثة متعددة الجولات، تحتاج إلى تحميل عدة كلمات سؤال في حقل messages، مثال على عدة كلمات سؤال موضح أدناه:

كود مثال في Python:
import requests

url = "https://api.acedata.cloud/v1/chat/completions"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "model": "claude-opus-4-20250514",
    "messages": [{"role":"user","content":"مرحبًا"},{"role":"assistant","content":"مرحبًا! كيف يمكنني مساعدتك اليوم؟"},{"role":"user","content":"ماذا قلت للتو؟"}]
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
من خلال تحميل عدة كلمات سؤال، يمكنك بسهولة تحقيق محادثة متعددة الجولات، ويمكنك الحصول على إجابة كما يلي:
{
  "id": "msg_bdrk_01Y1wfQmd89g968TVbFu57Yc",
  "model": "claude-opus-4-20250514",
  "object": "chat.completion",
  "created": 1768619674,
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "لقد قلت \"مرحبًا\" - كانت هذه رسالتك الأولى لي في محادثتنا."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 29,
    "completion_tokens": 20,
    "total_tokens": 49,
    "prompt_tokens_details": {
      "cached_tokens": 0,
      "text_tokens": 0,
      "audio_tokens": 0,
      "image_tokens": 0
    },
    "completion_tokens_details": {
      "text_tokens": 0,
      "audio_tokens": 0,
      "reasoning_tokens": 0
    },
    "input_tokens": 0,
    "output_tokens": 0,
    "input_tokens_details": null,
    "claude_cache_creation_5_m_tokens": 0,
    "claude_cache_creation_1_h_tokens": 0
  }
}
可以看到,choices 包含的信息与基本使用的内容是一致的,这个包含了 Claude 针对多个对话进行回复的具体内容,这样就可以根据多个对话内容来回答对应的问题了。

深度思考模型

claude-opus-4-20250514-thinking 和 claude-sonnet-4-20250514-thinking 模型与其它模型不同,它可以根据提问词来进行深度思考来回答,并且将思考过程的结果返回给你,本文将通过一个具体示例来演示深度思考功能,接下来就可以在 Claude Chat Completion API 界面上填写对应的内容,如图所示:

同时您可以注意到右侧有对应的调用代码生成,您可以复制代码直接运行,也可以直接点击「Try」按钮进行测试。

调用之后,我们发现返回结果如下:
{
  "id": "msg_018J4YaRoGHtbsTVb4Vvz7oH",
  "object": "chat.completion",
  "created": 1755444014,
  "model": "claude-sonnet-4-20250514-thinking",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "زاوية 30 درجة هي **1/2** أو **0.5**.\n\nهذه واحدة من القيم الأساسية في علم المثلثات. في مثلث 30-60-90، تكون الأضلاع في نسبة 1:√3:2، حيث يكون الضلع المقابل لزاوية 30° طوله 1 والوتر طوله 2، مما يعطينا sin(30°) = 1/2.",
        "reasoning_content": "المستخدم يسأل عن جيب زاوية 30 درجة. هذا سؤال أساسي في علم المثلثات.\n\nجيب زاوية 30 درجة هو قيمة معروفة. في مثلث 30-60-90، تكون الأضلاع في نسبة 1:√3:2.\n\nبالنسبة لزاوية 30°:\n- الضلع المقابل هو 1\n- الوتر هو 2\n- لذا sin(30°) = مقابل/وتر = 1/2 = 0.5\n\nهذه واحدة من القيم القياسية في علم المثلثات التي يتم حفظها عادة."
      },
      "logprobs": null,
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 60,
    "completion_tokens": 239,
    "total_tokens": 299,
    "prompt_tokens_details": {
      "cached_tokens_details": {}
    },
    "completion_tokens_details": {}
  }
}
可以看到,choices 里面的回答信息是经过深度思考后得到的,并且也给出了相关的思考过程内容,其中在contentreasoning_content表示模型的思考过程。choices 里面的回答信息是要通过 markdown 语法进行渲染,这样才能获得最佳的体验,最后这也体现出我们模型的联网功能的强大优势。

视觉模型

claude-sonnet-4-20250514 是 Claude 开发的多模态大型语言模型,它在 claude-4 的基础上增加了视觉理解能力。这个模型可以同时处理文本和图像输入,实现了跨模态的理解和生成。 使用 claude-sonnet-4-20250514 模型的文本处理是与上文的基本使用内容一致的,下面将简要介绍一下如果使用模型的图像处理能力。 使用 claude-sonnet-4-20250514 模型的图像处理能力主要是通过在原有的 content 内容基础上添加一个 type 字段,通过该字段可以知道上传的是文本还是图片,从而使用 claude-sonnet-4-20250514 模型的图像处理能力,下面主要讲述采用 Curl 和 Python 俩种方式来调用该功能。
  • Curl 脚本方式
curl -X POST 'https://api.acedata.cloud/v1/chat/completions' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
    "model": "claude-sonnet-4-20250514",
    "messages": [
      {
        "role": "user",
        "content": [
          {
            "type": "text",
            "text": "ما في هذه الصورة؟"
          },
          {
            "type": "image_url",
            "image_url": {
              "url": "https://cdn.acedata.cloud/ueugot.png"
            }
          }
        ]
      }
    ]
  }'
  • Python 脚本方式
import requests

url = "https://api.acedata.cloud/v1/chat/completions"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "model": "claude-sonnet-4-20250514",
    "messages": [
        {
            "role": "user",
            "content": [
                {
                    "type": "text", "text": "ما في هذه الصورة؟"
                },
                {
                    "type": "image_url",
                    "image_url": {
                        "url": "https://cdn.acedata.cloud/ueugot.png"
                    }
                },
            ],
        }
    ]
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
然后可以得到下面的结果,结果里面的字段信息是与上文一致的,具体的如下:
{
  "id": "msg_bdrk_01NCrxpZmV17bhQJJRQEFEb9",
  "model": "claude-sonnet-4-20250514",
  "object": "chat.completion",
  "created": 1768628904,
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "تظهر هذه الصورة واجهة تكوين طلب API لما يبدو أنه خدمة إكمال دردشة AI. إليك العناصر الرئيسية:\n\n**معلمات جسم الطلب:**\n\n1. **النموذج** (سلسلة مطلوبة) - تم تعيينه إلى \"claude-opus-4-202505...\" - يحدد أي نموذج AI لاستخدامه\n\n2. **الرسائل** (مصفوفة مطلوبة) - تحتوي على تاريخ المحادثة مع:\n   - **الدور** (سلسلة مطلوبة) - تم تعيينه إلى \"user\" \n   - **المحتوى** (سلسلة مطلوبة) - يحتوي على \"مرحبًا\" كمحتوى الرسالة\n\n3. **التدفق** (منطقي) - تم تعيينه إلى \"true\" - يمكّن دلائل الرسائل الجزئية مثل في ChatGPT\n\n4. **max_tokens** (رقم) - حقل لتعيين الحد الأقصى من الرموز التي يمكن توليدها في الاستجابة\n\n5. **n** (رقم) - يحدد عدد خيارات إكمال الدردشة التي يجب توليدها لكل إدخال\n\nتتميز الواجهة بموضوع داكن مع نص أبيض على خلفيات سوداء/رمادية داكنة. يوجد زر \"ملء مثال\" في أسفل اليمين وقوائم منسدلة مختلفة وحقول إدخال لتكوين معلمات طلب API. يظهر رمز سلة المهملات/الحذف الأحمر، من المحتمل أن يكون لإزالة إدخالات الرسالة."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 1570,
    "completion_tokens": 252,
    "total_tokens": 1822,
    "prompt_tokens_details": {
      "cached_tokens": 0,
      "text_tokens": 0,
      "audio_tokens": 0,
      "image_tokens": 0
    },
    "completion_tokens_details": {
      "text_tokens": 0,
      "audio_tokens": 0,
      "reasoning_tokens": 0
    },
    "input_tokens": 0,
    "output_tokens": 0,
    "input_tokens_details": null,
    "claude_cache_creation_5_m_tokens": 0,
    "claude_cache_creation_1_h_tokens": 0
  }
}
يمكن رؤية أن محتوى الإجابة يعتمد على الصور، لذلك من خلال الطريقتين المذكورتين أعلاه يمكن استخدام نموذج claude-3-7-sonnet-20250219 بسهولة للاستفادة من قدرات معالجة النصوص والصور.

معالجة الأخطاء

عند استدعاء واجهة برمجة التطبيقات (API)، إذا واجهت خطأ، ستقوم واجهة برمجة التطبيقات بإرجاع رمز الخطأ والمعلومات ذات الصلة. على سبيل المثال:
  • 400 token_mismatched:طلب غير صحيح، ربما بسبب معلمات مفقودة أو غير صالحة.
  • 400 api_not_implemented:طلب غير صحيح، ربما بسبب معلمات مفقودة أو غير صالحة.
  • 401 invalid_token:غير مصرح، رمز تفويض غير صالح أو مفقود.
  • 429 too_many_requests:عدد كبير جداً من الطلبات، لقد تجاوزت الحد الأقصى لمعدل الطلبات.
  • 500 api_error:خطأ في الخادم الداخلي، حدث خطأ ما على الخادم.

مثال على استجابة الخطأ

{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "fetch failed"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}

الخاتمة

من خلال هذه الوثيقة، لقد تعرفت على كيفية استخدام واجهة برمجة تطبيقات Claude Chat Completion بسهولة لتحقيق وظائف المحادثة الرسمية لـ Claude. نأمل أن تساعدك هذه الوثيقة في التواصل واستخدام هذه الواجهة بشكل أفضل. إذا كان لديك أي استفسارات، فلا تتردد في الاتصال بفريق الدعم الفني لدينا.