# OpenAI Python SDK 接入指南

https://modelportal.ai/docs/integrations/openai-python?lang=zh

> 官方 Python SDK，改两个参数即可指向我们的端点。

## 适用场景

适合在自己的 Python 服务里调用模型：官方 SDK 只需要改 base_url 和 api_key 两个参数，已有代码基本不用改。

## 使用建议

密钥只放在服务端的环境变量里读取，不要写进代码仓库或打包进前端。

## 连不通时检查

1. API 地址填 `https://modelportal.ai/v1`，不要多写 `/chat/completions`。
2. 密钥以 `mp-`（早期的为 `key_`）开头且没有被暂停或撤销，错误码 `invalid_api_key` 表示密钥不可用。
3. 模型 ID 与[模型目录](/catalog)一致，并且在这把密钥的可用模型里。
4. 余额不足会返回 `insufficient_balance`，更多错误见[常见错误](/docs/errors)。

## 配置步骤

1. 安装依赖：pip install openai。
2. 把 base_url 指向下面的 API 地址，api_key 用你自己的密钥。
3. 其余调用方式与官方完全一致。

## 配置参数

- API 地址：`https://modelportal.ai/v1`
- API 密钥：`YOUR_API_KEY`
- 模型：`MODEL_ID`

```python
from openai import OpenAI

client = OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://modelportal.ai/v1",
)
resp = client.chat.completions.create(
    model="MODEL_ID",
    messages=[{"role": "user", "content": "你好"}],
)
print(resp.choices[0].message.content)
```

## 常见问题

### 支持流式输出吗？

支持。创建请求时传 stream=True，按 SDK 的方式迭代返回的分块即可。

### 怎么处理错误？

SDK 会把错误响应抛成异常，异常里带 HTTP 状态码和错误码，按常见错误文档处理；429 和 503 可以退避重试。

