> ## 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>
