الانتقال إلى المحتوى الرئيسي

نظرة عامة

يدعم LemonData تنسيق Anthropic Messages API الأصلي. استخدم Anthropic SDK الرسمي مع LemonData للوصول إلى نماذج Claude.

التثبيت

pip install anthropic

الإعداد

from anthropic import Anthropic

client = Anthropic(
    api_key="sk-your-lemondata-key",
    base_url="https://api.lemondata.cc"
)
ملاحظة: عنوان URL الأساسي هو https://api.lemondata.cc (بدون /v1) لـ Anthropic SDK.

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

message = client.messages.create(
    model="claude-sonnet-4-5",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "Hello, Claude!"}
    ]
)

print(message.content[0].text)

مع System Prompt

message = client.messages.create(
    model="claude-sonnet-4-5",
    max_tokens=1024,
    system="You are a helpful coding assistant.",
    messages=[
        {"role": "user", "content": "Write a Python function to reverse a string"}
    ]
)

البث (Streaming)

with client.messages.stream(
    model="claude-sonnet-4-5",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Tell me a story"}]
) as stream:
    for text in stream.text_stream:
        print(text, end="", flush=True)

الرؤية (Vision)

import base64

# From URL
message = client.messages.create(
    model="claude-sonnet-4-5",
    max_tokens=1024,
    messages=[{
        "role": "user",
        "content": [
            {"type": "text", "text": "What's in this image?"},
            {
                "type": "image",
                "source": {
                    "type": "url",
                    "url": "https://example.com/image.jpg"
                }
            }
        ]
    }]
)

# From base64
with open("image.png", "rb") as f:
    image_data = base64.b64encode(f.read()).decode()

message = client.messages.create(
    model="claude-sonnet-4-5",
    max_tokens=1024,
    messages=[{
        "role": "user",
        "content": [
            {"type": "text", "text": "Describe this image"},
            {
                "type": "image",
                "source": {
                    "type": "base64",
                    "media_type": "image/png",
                    "data": image_data
                }
            }
        ]
    }]
)

استخدام الأدوات (Tool Use)

message = client.messages.create(
    model="claude-sonnet-4-5",
    max_tokens=1024,
    tools=[{
        "name": "get_weather",
        "description": "Get the weather for a location",
        "input_schema": {
            "type": "object",
            "properties": {
                "location": {"type": "string", "description": "City name"}
            },
            "required": ["location"]
        }
    }],
    messages=[{"role": "user", "content": "What's the weather in Tokyo?"}]
)

# Check for tool use
for block in message.content:
    if block.type == "tool_use":
        print(f"Tool: {block.name}")
        print(f"Input: {block.input}")

التفكير الموسع (Claude Opus 4.5)

لنماذج التي تدعم التفكير الموسع (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 complex math problem..."}]
)

# Access thinking blocks
for block in message.content:
    if block.type == "thinking":
        print(f"Thinking: {block.thinking}")
    elif block.type == "text":
        print(f"Response: {block.text}")

نماذج Claude المتاحة

النموذجالأفضل لـ
claude-opus-4-5الاستنتاج المعقد، التفكير الموسع
claude-sonnet-4-5الأغراض العامة، البرمجة
claude-haiku-4-5الاستجابات السريعة

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

from anthropic import APIError, APIStatusError, APIConnectionError

try:
    message = client.messages.create(
        model="claude-sonnet-4-5",
        max_tokens=1024,
        messages=[{"role": "user", "content": "Hello"}]
    )
except APIStatusError as e:
    if e.status_code == 401:
        print("Invalid API key")
    elif e.status_code == 429:
        print("Rate limit exceeded")
    else:
        print(f"API error: {e.status_code}")
except APIConnectionError:
    print("Connection error")
except APIError as e:
    print(f"Unexpected error: {e}")

مقارنة: OpenAI SDK مقابل Anthropic SDK

كلاهما يعمل مع LemonData لنماذج Claude:
الميزةOpenAI SDKAnthropic SDK
Base URLhttps://api.lemondata.cc/v1https://api.lemondata.cc
Endpoint/chat/completions/v1/messages
System promptفي مصفوفة messagesبارامتر system منفصل
التفكير الموسعغير مدعوممدعوم
اختر بناءً على تفضيلك أو قاعدة الكود الحالية لديك.