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

# Python

> OpenAI, Anthropic 또는 Gemini Python SDK로 ARouter를 사용하세요.

## OpenAI SDK

[OpenAI Python SDK](https://github.com/openai/openai-python)는 ARouter와 바로 연동됩니다.

### 설치

```bash theme={null}
pip install openai
```

### 기본 사용법

```python theme={null}
from openai import OpenAI

client = OpenAI(
    base_url="https://api.arouter.ai/v1",
    api_key="lr_live_xxxx",
)

response = client.chat.completions.create(
    model="openai/gpt-5.4",
    messages=[{"role": "user", "content": "양자 컴퓨팅을 한 문장으로 설명해주세요."}],
)
print(response.choices[0].message.content)
```

### 멀티 Provider 라우팅

모델 문자열을 변경하여 provider를 전환합니다:

```python theme={null}
# OpenAI SDK를 통한 Anthropic 사용
response = client.chat.completions.create(
    model="anthropic/claude-sonnet-4.6",
    messages=[{"role": "user", "content": "Hello!"}],
)

# OpenAI SDK를 통한 DeepSeek 사용
response = client.chat.completions.create(
    model="deepseek/deepseek-v3.2",
    messages=[{"role": "user", "content": "Hello!"}],
)

# OpenAI SDK를 통한 Gemini 사용
response = client.chat.completions.create(
    model="google/gemini-2.5-flash",
    messages=[{"role": "user", "content": "Hello!"}],
)
```

### 스트리밍

```python theme={null}
stream = client.chat.completions.create(
    model="openai/gpt-5.4",
    messages=[{"role": "user", "content": "코드에 대한 하이쿠를 써주세요."}],
    stream=True,
)

for chunk in stream:
    if chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="")
```

### 비동기

```python theme={null}
import asyncio
from openai import AsyncOpenAI

client = AsyncOpenAI(
    base_url="https://api.arouter.ai/v1",
    api_key="lr_live_xxxx",
)

async def main():
    response = await client.chat.completions.create(
        model="openai/gpt-5.4",
        messages=[{"role": "user", "content": "Hello!"}],
    )
    print(response.choices[0].message.content)

asyncio.run(main())
```

### 임베딩

```python theme={null}
response = client.embeddings.create(
    model="openai/text-embedding-3-small",
    input="The quick brown fox jumps over the lazy dog",
)
print(response.data[0].embedding[:5])
```

***

## Anthropic SDK

[Anthropic Python SDK](https://github.com/anthropics/anthropic-sdk-python)는 네이티브로 사용 가능합니다.

### 설치

```bash theme={null}
pip install anthropic
```

### 기본 사용법

```python theme={null}
import anthropic

client = anthropic.Anthropic(
    base_url="https://api.arouter.ai",
    api_key="lr_live_xxxx",
)

message = client.messages.create(
    model="claude-sonnet-4.6",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Hello!"}],
)
print(message.content[0].text)
```

<Warning>
  Anthropic SDK의 경우 `base_url`을 `https://api.arouter.ai`（`/v1` 없이）로 설정하세요.
  SDK가 자동으로 `/v1/messages`를 추가합니다.
</Warning>

### 스트리밍

```python theme={null}
with client.messages.stream(
    model="claude-sonnet-4.6",
    max_tokens=1024,
    messages=[{"role": "user", "content": "이야기를 써주세요."}],
) as stream:
    for text in stream.text_stream:
        print(text, end="")
```

***

## Gemini SDK

[Google Generative AI Python SDK](https://github.com/google/generative-ai-python)는 API 엔드포인트를 설정하여 사용합니다.

### 설치

```bash theme={null}
pip install google-generativeai
```

### 기본 사용법

```python theme={null}
import google.generativeai as genai

genai.configure(
    api_key="lr_live_xxxx",
    transport="rest",
    client_options={"api_endpoint": "https://api.arouter.ai"},
)

model = genai.GenerativeModel("gemini-2.5-flash")
response = model.generate_content("Hello!")
print(response.text)
```

<Note>
  `transport="rest"` 파라미터는 필수입니다. Gemini SDK는 기본적으로 gRPC를 사용하는데,
  ARouter는 gRPC를 지원하지 않습니다.
</Note>
