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

# Anthropic 格式转换器

> 使用 Anthropic SDK 调用 Gemini 和 OpenAI 模型

## 概述

Anthropic 格式转换器允许你使用 Anthropic SDK 和 API 格式调用 **Gemini** 和 **OpenAI** 模型。当你有使用 Anthropic SDK 的现有代码，但想要访问其他供应商的模型时，这非常有用。

## 配置方法

### SDK 配置

将 base URL 设置为：

```
https://api.pipellm.ai/anthropic
```

<Note>
  SDK 会自动添加 `/v1/messages`，所以你只需要将 base URL 设置为 `/anthropic`。
</Note>

### cURL / 直接 API 调用

直接调用 API 时，使用完整端点：

```
https://api.pipellm.ai/anthropic/v1/messages
```

## 使用示例

<Tabs>
  <Tab title="Python SDK">
    ```python theme={"dark"}
    import anthropic

    client = anthropic.Anthropic(
        api_key="your-pipellm-api-key",
        base_url="https://api.pipellm.ai/anthropic"
    )

    message = client.messages.create(
        model="gemini-3-flash-preview",  # 或 "gpt-5"
        max_tokens=1024,
        messages=[
            {"role": "user", "content": "你好，今天怎么样？"}
        ]
    )

    print(message.content[0].text)
    ```
  </Tab>

  <Tab title="TypeScript SDK">
    ```typescript theme={"dark"}
    import Anthropic from "@anthropic-ai/sdk";

    const client = new Anthropic({
      apiKey: "your-pipellm-api-key",
      baseURL: "https://api.pipellm.ai/anthropic",
    });

    const message = await client.messages.create({
      model: "gemini-3-flash-preview", // 或 'gpt-5'
      max_tokens: 1024,
      messages: [{ role: "user", content: "你好，今天怎么样？" }],
    });

    console.log(message.content[0].text);
    ```
  </Tab>

  <Tab title="cURL">
    ```bash theme={"dark"}
    curl https://api.pipellm.ai/anthropic/v1/messages \
      -H "Content-Type: application/json" \
      -H "x-api-key: your-pipellm-api-key" \
      -H "anthropic-version: 2023-06-01" \
      -d '{
        "model": "gemini-3-flash-preview",
        "max_tokens": 1024,
        "messages": [
          {"role": "user", "content": "你好，今天怎么样？"}
        ]
      }'
    ```
  </Tab>
</Tabs>

## 支持的模型

你可以使用 PipeLLM 上任何 Gemini 或 OpenAI 模型，并以 Anthropic 格式调用：

| 供应商 | 示例模型 |
| - | - |
| Gemini | `gemini-3-flash-preview` |
| OpenAI | `gpt-5` |

## 功能支持

| 功能 | 状态 |
| - | - |
| 流式输出 | ✅ 支持 |
| 工具调用 | ✅ 支持 |
| 图像识别 | ✅ 支持 |
| 系统提示词 | ✅ 支持 |
| 思考 | ✅ 支持 |

## Gemini 3 思考与 Thought Signature

Gemini 3 模型会在函数调用 part 上返回 `thoughtSignature`；如果同一回合的下一次请求
没有在原 part 上带回该签名，模型会返回 `400`。这是模型的原生要求，详见 Google 官方的
[Thought signatures](https://ai.google.dev/gemini-api/docs/generate-content/thought-signatures) 文档。

本转换器携带签名的方式：

* **非流式：** 签名放在 `thinking` 块的 `signature` 字段，以及 `tool_use` 块上的
  非标准 `signature` 字段中。原样回传这些块时签名会被还原。如果你的代码只用 `id`、
  `name`、`input` 重建 `tool_use` 块，签名会丢失。
* **流式：** `tool_use` 块不携带签名。签名只会作为前一个 `thinking` 块的
  `signature_delta` 输出，回放时无法还原到函数调用上。

<Warning>
  通过该格式在 Gemini 3 模型上使用函数调用时，回传工具结果可能返回 `400`，流式场景
  尤其如此。Gemini 3 的工具调用建议优先使用
  [Gemini 原生路由](/zh/api-reference/gemini/overview)或
  [Responses 格式](/zh/converter/responses-format#思考与签名)。
</Warning>

对 Gemini 2.5 模型，回传签名是可选的。

### 思考等级

Gemini 3 目标会将已启用的 `thinking.budget_tokens` 映射为等级：不超过 1,024 → `LOW`，1,025–8,192 → `MEDIUM`，超过 8,192 → `HIGH`。这是近似映射，不是 Gemini 3 的精确 token 预算。Gemini 2.5 使用数值型 `thinkingBudget`；具体等级仍须由目标模型支持。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.