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

# 常见问题

> 解答 Yelu AI API 兼容性、模型、SDK、密钥、流式输出、工具与可靠性问题。

<AccordionGroup>
  <Accordion title="Yelu 兼容 OpenAI API 吗？">兼容。使用 `https://api.yelu.ai/v1`、Yelu API Key 和受支持的 OpenAI 请求结构。模型能力可能不同，请先发现模型并测试依赖的功能。</Accordion>
  <Accordion title="可以使用官方 OpenAI SDK 吗？">可以。Python 设置 `base_url`，JavaScript 设置 `baseURL`，Go 使用 `option.WithBaseURL`。参见 [SDK 指南](/zh/sdk/python)。</Accordion>
  <Accordion title="有哪些模型？">模型权限与账号相关。调用 [`GET /v1/models`](/zh/api-reference/models)，使用返回的 `id`，不要假设所有供应商模型都已开启。</Accordion>
  <Accordion title="Chat Completions 和 Responses 如何选择？">新 Agent 工作流优先使用 Responses；需要最大程度兼容现有 OpenAI 消息式应用时使用 Chat Completions。</Accordion>
  <Accordion title="如何保护 API Key？">只保存在服务端 Secret Store 或受保护的环境变量中。按环境拆分，并在泄露后立即撤销。</Accordion>
  <Accordion title="为什么模型拒绝视觉、工具或 JSON Schema？">端点支持某个字段不代表所有模型都支持该能力。请选择兼容模型、简化请求，并在上线前测试关键能力。</Accordion>
  <Accordion title="哪些错误可以重试？">对 `429` 与临时 `5xx` 使用指数退避、抖动与较小重试预算；不要原样重试 `400`、`401`、`403` 或 `404`。</Accordion>
  <Accordion title="流式输出会降低费用吗？">不一定。流式输出改善首 Token 延迟，但已生成 Token 仍会计费，断开的流也可能已经产生用量。</Accordion>
  <Accordion title="可以从浏览器直接调用吗？">不要把长期有效的 Yelu Key 暴露给浏览器。应通过你自己的已鉴权后端调用。</Accordion>
</AccordionGroup>

## 测试连接

<CodeGroup>
  ```bash Curl theme={"theme":{"light":"github-light","dark":"github-dark"}}
  curl -fsS https://api.yelu.ai/v1/models \
    -H "Authorization: Bearer $YELU_API_KEY" | jq '.data[].id'
  ```

  ```javascript JavaScript theme={"theme":{"light":"github-light","dark":"github-dark"}}
  const response = await fetch('https://api.yelu.ai/v1/models', {
    headers: { Authorization: `Bearer ${process.env.YELU_API_KEY}` },
  });
  if (!response.ok) throw new Error(await response.text());
  console.log((await response.json()).data.map((model) => model.id));
  ```

  ```python Python theme={"theme":{"light":"github-light","dark":"github-dark"}}
  import os
  import requests

  response = requests.get(
      "https://api.yelu.ai/v1/models",
      headers={"Authorization": f"Bearer {os.environ['YELU_API_KEY']}"},
      timeout=30,
  )
  response.raise_for_status()
  print([model["id"] for model in response.json()["data"]])
  ```
</CodeGroup>
