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

# 发出第一个请求

> 使用 OpenAI SDK / cURL / Python / Node.js 完成首次调用

本节假设你已经:

1. 完成 [注册](/getting-started/register)。
2. [创建了一把 API Key](/getting-started/get-api-key)。
3. 账户中有可用额度(新用户体验额度即可)。

## 基础信息

| 项        | 值                                                    |
| -------- | ---------------------------------------------------- |
| Base URL | `https://openp.ai/v1`                                |
| 鉴权       | `Authorization: Bearer sk-...`                       |
| 默认协议     | OpenAI 兼容(/v1/chat/completions 等)                    |
| 推荐入门模型   | `gpt-5.5`、`claude-opus-4-8`、`gemini-3.1-pro-preview` |

## cURL 测试

```bash theme={null}
curl https://openp.ai/v1/chat/completions \
  -H "Authorization: Bearer $OPENPAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.5",
    "messages": [
      {"role": "user", "content": "用一句话解释什么是 RAG"}
    ]
  }'
```

预期返回:

```json theme={null}
{
  "id": "chatcmpl-...",
  "object": "chat.completion",
  "model": "gpt-5.5",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "RAG(检索增强生成)是一种把外部知识检索结果作为上下文输入大模型,以提高回答准确性的技术。"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": { "prompt_tokens": 21, "completion_tokens": 41, "total_tokens": 62 }
}
```

## Python — openai 官方 SDK

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

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

client = OpenAI(
    api_key="sk-XXXXXXXXXXXXXXXX",
    base_url="https://openp.ai/v1",
)

resp = client.chat.completions.create(
    model="gpt-5.5",
    messages=[
        {"role": "system", "content": "你是一名资深产品经理。"},
        {"role": "user", "content": "帮我写 3 条 OpenPAI 的卖点。"},
    ],
)

print(resp.choices[0].message.content)
print("Tokens used:", resp.usage.total_tokens)
```

## Node.js / TypeScript

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

```ts theme={null}
import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.OPENPAI_API_KEY!,
  baseURL: "https://openp.ai/v1",
});

const resp = await client.chat.completions.create({
  model: "gpt-5.5",
  messages: [
    { role: "system", content: "你是一名资深产品经理。" },
    { role: "user", content: "帮我写 3 条 OpenPAI 的卖点。" },
  ],
});

console.log(resp.choices[0].message.content);
```

## 流式输出

把 `stream: true` 加进请求体即可使用 SSE 流:

```python theme={null}
stream = client.chat.completions.create(
    model="gpt-5.5",
    messages=[{"role": "user", "content": "讲一个 100 字的科幻短故事"}],
    stream=True,
)

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

## 切换到 Claude / Gemini 原生协议

如果你的代码原本使用 Anthropic 或 Google SDK,无需改写 —— 只需把 `base_url` 指向 OpenPAI:

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

  client = Anthropic(
      api_key="sk-XXXXXXXXXXXXXXXX",
      base_url="https://openp.ai",
  )

  resp = client.messages.create(
      model="claude-opus-4-8",
      max_tokens=1024,
      messages=[{"role": "user", "content": "你好"}],
  )
  print(resp.content[0].text)
  ```

  ```python google-genai SDK theme={null}
  from google import genai

  client = genai.Client(
      api_key="sk-XXXXXXXXXXXXXXXX",
      http_options={"base_url": "https://openp.ai"},
  )

  resp = client.models.generate_content(
      model="gpt-5.5",
      contents="你好",
  )
  print(resp.text)
  ```
</CodeGroup>

## 调试技巧

* 把响应头中的 `x-openpai-request-id` 记录到日志,提交工单时可加速定位问题。
* 用 `https://openp.ai/v1/models` 列出当前 Key 可访问的模型清单。
* 控制台 → **日志** 页可查看每次调用的模型、Token 用量、扣费明细(不记录 prompt / 响应内容)。

## 下一步

<CardGroup cols={2}>
  <Card title="客户端集成" icon="puzzle-piece" href="/integrations/overview">
    在 Cherry Studio / LobeChat / Cursor / Dify 中接入。
  </Card>

  <Card title="进阶功能" icon="bolt" href="/advanced/streaming">
    流式、工具调用、视觉、推理、结构化输出。
  </Card>
</CardGroup>
