在Claude Code中使用PAI模型指引

Claude Code是由Anthropic公司推出的一款智能编程工具,基于Claude Sonnet模型开发。这款工具最大的亮点是能够通过自然语言指令直接在终端操作,无需复杂配置,就能完成代码编辑、Bug修复、代码搜索等任务。它支持包括Java、Python、Golang等在内的多种编程语言,并且可以直接继承到VSCode、Cursor等开发环境中,让开发者体验更流畅。本文以PAI-Model Gallery部署的Qwen3-Coder模型为例,为您介绍如何将PAI部署的模型集成到您的Claude Code中使用。

安装Claude Code

  1. 安装Node.js,确保 Node.js 版本 ≥ 18.0(如已安装可略过)

    Ubuntu / Debian

    # Ubuntu / Debian
    curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo bash -
    sudo apt-get install -y nodejs

    MacOS

    # MacOS
    sudo xcode-select --install
    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    brew install node
  2. 安装Claude Code

npm install -g @anthropic-ai/claude-code

Model Gallery中部署模型并获取调用信息

部署Qwen3-Coder模型

本教程以部署Qwen3-Coder-30B-A3B-Instruct-FP8模型为例。在Model Gallery的模型广场中搜索模型,点击部署按钮。

image

在部署表单中,推理引擎选择vLLM

image

将运行命令中的vllm serve改为python3 -m vllm.entrypoints.anthropic.api_server --model

image

再将运行命令中的--served-model-name Qwen3-Coder-30B-A3B-Instruct-FP8中的模型改为小写,如--served-model-name qwen3-coder

最终修改好的运行命令为:

gpu_count=$(nvidia-smi --query-gpu=count --format=csv,noheader | wc -l); python3 -m vllm.entrypoints.anthropic.api_server --model /model/Qwen3-Coder-30B-A3B-Instruct-FP8 --host 0.0.0.0 --port 8000 --root-path '/' --trust-remote-code --gpu-memory-utilization 0.95 --tensor-parallel-size $gpu_count --served-model-name qwen3-coder --enable-auto-tool-choice --tool-call-parser hermes

在表单最下部的服务配置中,点击JSON编辑按钮,修改JSON中的镜像为pai-quickstart:vllm-v0.10.1-anthropic

image

image

之后提交部署任务,约几分钟后,模型部署完成。

获取模型调用信息

Model Gallery的任务管理-部署任务详情页中,点击“查看调用信息”,可获取模型服务的公网调用地址和Token。

image

image

配置并使用Claude Code

  1. 配置环境变量

在您的电脑上,将获取的调用信息导入到环境变量:

  • <EAS_URL> 替换为您的服务公网调用地址;

  • <EAS_TOKEN> 替换为您的服务调用Token;

  • <MODEL_NAME> 替换为您部署时填入的model name(本例中为qwen3-coder)

export ANTHROPIC_BASE_URL=<EAS_URL>
export ANTHROPIC_AUTH_TOKEN=<EAS_TOKEN>
export ANTHROPIC_MODEL=<MODEL_NAME>
  1. 启动Claude Code

在导入环境变量后,启动Claude Code:

claude

此时,您就可以使用集成了您部署的Qwen3-Coder模型服务的Claude Code了。

image

附:使用Anthropic API推理

您也可以直接使用Anthropic API进行推理,代码如下:

from anthropic import Anthropic
import httpx

# 设置EAS Headers
headers = {
    "Authorization": "<EAS_TOKEN>",
    "Content-Type": "application/json"
}

# 创建 Anthropic 客户端实例,使用EAS自定义 base_url
client = Anthropic(
    api_key="<EAS_TOKEN>",
    base_url="<EAS_URL>"
)

# 发送请求
message = client.messages.create(
    model="qwen3-coder",  # 添加模型名称
    max_tokens=2048,
    temperature=0.7,
    system="You are a helpful assistant.",
    stream=True,  # 启用流式处理
    messages=[
        {"role": "user", "content": "hello"}
    ],
    extra_headers=headers  # 传递自定义 headers
)

# 处理流式响应
for chunk in message:
    if chunk.type == "content_block_delta":
        print(chunk.delta.text, end="", flush=True)
    elif chunk.type == "message_stop":
        print()  # 换行
        break