> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tokenlab.sh/llms.txt
> Use this file to discover all available pages before exploring further.

# Anthropic SDK

> استخدم TokenLab مع Anthropic SDK للتوافق الأصلي مع Claude Messages API

## نظرة عامة

يدعم TokenLab مسار Anthropic الأصلي **Messages API**، لذا يمكنك استخدام Anthropic SDK الرسمي مباشرةً مع نماذج Claude.

<Note>
  بالنسبة إلى Anthropic SDK، استخدم `https://api.tokenlab.sh` كعنوان URL الأساسي، من دون إضافة `/v1` بنفسك.
</Note>

<Note>
  **النوع**: SDK أصلي

  **المسار الرئيسي**: Anthropic-native

  **مستوى الدعم**: مسار أصلي قوي
</Note>

من بين مسارات SDK الموثقة، يُعد هذا أحد أكثر مسارات TokenLab دعماً للميزات الأصلية لـ Claude.

## التثبيت

<CodeGroup>
  ```bash Python theme={null}
  pip install anthropic
  ```

  ```bash JavaScript theme={null}
  npm install @anthropic-ai/sdk
  ```
</CodeGroup>

## تهيئة العميل

<CodeGroup>
  ```python Python theme={null}
  from anthropic import Anthropic

  client = Anthropic(
      api_key="sk-your-tokenlab-key",
      base_url="https://api.tokenlab.sh",
  )
  ```

  ```javascript JavaScript theme={null}
  import Anthropic from '@anthropic-ai/sdk';

  const client = new Anthropic({
    apiKey: 'sk-your-tokenlab-key',
    baseURL: 'https://api.tokenlab.sh',
  });
  ```
</CodeGroup>

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

```python theme={null}
message = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "Explain TokenLab in one sentence."}
    ]
)

print(message.content[0].text)
```

## البث

```python theme={null}
with client.messages.stream(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Write a short poem about coding."}]
) as stream:
    for text in stream.text_stream:
        print(text, end="", flush=True)
```

## الرؤية

```python theme={null}
import base64

message = client.messages.create(
    model="claude-sonnet-4-6",
    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"
                }
            }
        ]
    }]
)

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

message = client.messages.create(
    model="claude-sonnet-4-6",
    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
                }
            }
        ]
    }]
)
```

## استخدام الأدوات

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

for block in message.content:
    if block.type == "tool_use":
        print(block.name)
        print(block.input)
```

## التفكير الموسّع

```python theme={null}
message = client.messages.create(
    model="claude-opus-4-6",
    max_tokens=16000,
    thinking={
        "type": "enabled",
        "budget_tokens": 10000
    },
    messages=[{"role": "user", "content": "Solve this complex problem step by step."}]
)

for block in message.content:
    if block.type == "thinking":
        print(block.thinking)
    elif block.type == "text":
        print(block.text)
```

## نماذج Claude الموصى بها

| النموذج             | الأفضل لـ                          |
| ------------------- | ---------------------------------- |
| `claude-opus-4-6`   | الاستدلال العميق، والتحليل المطوّل |
| `claude-sonnet-4-6` | البرمجة، ومهام المساعد العامة      |
| `claude-haiku-4-5`  | استجابات سريعة وخفيفة              |

## استكشاف الأخطاء وإصلاحها

<AccordionGroup>
  <Accordion title="عنوان URL أساسي غير صحيح">
    * استخدم `https://api.tokenlab.sh`
    * لا تضف `/v1` يدويًا عند تهيئة Anthropic SDK
  </Accordion>

  <Accordion title="فشل المصادقة">
    * تحقق من أن مفتاح TokenLab API الخاص بك يبدأ بـ `sk-`
    * تأكد من أن المفتاح نشط في لوحة تحكم TokenLab
    * دع Anthropic SDK يدير ترويسة المصادقة بدلًا من إضافة ترويسات مخصصة يدويًا
  </Accordion>

  <Accordion title="النموذج غير موجود">
    * تحقق من اسم نموذج Claude بشكل مطابق تمامًا
    * راجع التوفر الحالي في فهرس نماذج TokenLab
  </Accordion>
</AccordionGroup>
