نظرة عامة
يوفر هذا المسار توافقاً أصلياً مع Anthropic Messages API. استخدم هذا لموديلات Claude مع ميزات مثل التفكير الموسع (extended thinking).
Base URL لـ Anthropic SDK: https://api.lemondata.cc (بدون لاحقة /v1)
مفتاح LemonData API الخاص بك. بديل لـ Bearer token.
إصدار Anthropic API. استخدم 2023-06-01.
جسم الطلب (Request Body)
معرف موديل Claude (على سبيل المثال، claude-sonnet-4-5).
مصفوفة من كائنات الرسائل تحتوي على role و content.
الحد الأقصى لـ tokens المراد إنشاؤها.
موجه النظام (System prompt) (منفصل عن مصفوفة الرسائل).
درجة حرارة العينات (0-1).
تفعيل استجابات البث (streaming).
إعدادات التفكير الموسع (Claude Opus 4.5).
type (string): "enabled" للتفعيل
budget_tokens (integer): ميزانية الـ tokens للتفكير
كيفية استخدام الموديل للأدوات. الخيارات: auto ، any ، tool (أداة محددة).
معامل Nucleus sampling. استخدم إما temperature أو top_p، وليس كليهما.
أخذ عينات فقط من أفضل K خيارات لكل token.
تسلسلات إيقاف مخصصة ستؤدي إلى توقف الموديل عن الإنشاء.
بيانات وصفية (Metadata) لإرفاقها بالطلب لأغراض التتبع.
الاستجابة
مصفوفة من كتل المحتوى (text ، thinking ، tool_use).
سبب توقف الإنشاء (end_turn ، max_tokens ، tool_use).
استخدام الـ tokens مع input_tokens و output_tokens.
curl -X POST "https://api.lemondata.cc/v1/messages" \
-H "x-api-key: sk-your-api-key" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-4-5",
"max_tokens": 1024,
"system": "You are a helpful assistant.",
"messages": [
{"role": "user", "content": "Hello, Claude!"}
]
}'
{
"id": "msg_abc123",
"type": "message",
"role": "assistant",
"content": [
{
"type": "text",
"text": "Hello! How can I help you today?"
}
],
"model": "claude-sonnet-4-5",
"stop_reason": "end_turn",
"usage": {
"input_tokens": 15,
"output_tokens": 10
}
}
مثال على التفكير الموسع (Extended Thinking)
message = client.messages.create(
model="claude-opus-4-5",
max_tokens=16000,
thinking={
"type": "enabled",
"budget_tokens": 10000
},
messages=[{"role": "user", "content": "Solve this math problem..."}]
)
for block in message.content:
if block.type == "thinking":
print(f"Thinking: {block.thinking}")
elif block.type == "text":
print(f"Response: {block.text}")