开发者文档

从申请密钥到跑通第一次训练,最快 5 分钟。以下是完整接入路径与 API 参考。

快速开始

ArithCloud 的接入流程分为三步:获取密钥、安装工具、创建资源。整个过程不需要提交工单,也不需要人工审批。

  • 登录控制台,在「访问控制 → API 密钥」中创建一对 Access Key / Secret Key;
  • 安装 CLI 或 SDK,配置密钥;
  • 调用创建接口,拿到实例 IP 与连接方式。
bash — 安装并初始化
# 1. 安装 CLI
curl -fsSL https://get.arithcloud.com/cli | sh

# 2. 配置密钥(也可写入 ~/.arith/config)
arith config set access_key AKIA****EXAMPLE
arith config set secret_key ********************************

# 3. 验证连通性
arith whoami
# → {"account": "acme-ai", "region": "cn-hangzhou-1", "quota": 128}

密钥安全:Secret Key 仅在创建时完整显示一次,请立即妥善保存。生产环境建议使用临时凭证(STS Token),避免将长期密钥写入代码仓库。

身份认证

所有 API 请求通过 Authorization 请求头进行签名认证。签名算法为 HMAC-SHA256,签名内容为「方法 + 路径 + 时间戳 + 请求体摘要」。

请求头 是否必填 说明
Authorization 格式为 AC-SHA256 Credential=<AK>, Signature=<签名>
X-Ac-Timestamp Unix 时间戳(秒),与服务端偏差不得超过 300 秒
X-Ac-Region 目标可用区,缺省为账户默认区域
Content-Type 固定为 application/json
python — 使用 SDK 自动完成签名
from arithcloud import Client

# SDK 会自动处理时间戳与 HMAC-SHA256 签名
client = Client(
    access_key="AKIA****EXAMPLE",
    secret_key="********************************",
    region="cn-hangzhou-1",
)

me = client.whoami()
print(me["account"], me["quota"])

实例管理

实例是算力资源的最小交付单元。创建实例时需指定机型、镜像与网络配置;实例创建后可按需升降配,或挂载额外云盘。

python — 创建一个 8 卡 H100 训练集群
cluster = client.clusters.create(
    name="cluster-train-01",
    instance_type="HC-H100-8",      # 8 × H100 SXM 80GB
    image="pytorch-2.4-cu124",      # 预置框架镜像
    replicas=1,
    network={
        "interconnect": "infiniband-3.2t",
        "vpc_id": "vpc-8f2a91",
    },
    storage=[
        {"type": "afs", "size_gb": 2048, "mount": "/mnt/data"},
    ],
    tags={"team": "llm", "env": "prod"},
)

# 阻塞等待集群就绪(约 27 秒)
cluster.wait_until_ready(timeout=300)
print(cluster.ssh_command)
# → arith ssh cluster-train-01

集群就绪后即可通过 SSH 或作业调度器提交训练任务。若使用 K8s,可直接获取 kubeconfig 接入现有工作流:

bash
# 导出集群 kubeconfig,接入已有 CI/CD
arith cluster kubeconfig cluster-train-01 > ~/.kube/arith.yaml
export KUBECONFIG=~/.kube/arith.yaml

kubectl get nodes
# NAME            STATUS   GPU
# ac-hc-h100-001  Ready    nvidia.com/gpu: 8

推理端点

托管推理把模型权重变成一个 HTTP 端点。部署时只需指定模型来源与引擎参数,平台会自动完成显存规划、批处理调优与健康检查。

python — 部署一个模型端点
endpoint = client.inference.deploy(
    name="qwen-chat",
    model="aos://models/qwen2.5-72b-instruct",  # 对象存储中的权重
    engine="vllm",
    gpu_type="H100",
    replicas={"min": 1, "max": 8},
    scaling={"metric": "qps", "target": 50},
    quantization="fp8",
)

endpoint.wait_until_ready()
print(endpoint.url)
# → https://qwen-chat.infer.arithcloud.com/v1

端点兼容 OpenAI Chat Completions 协议,可直接替换现有 SDK 的 base_url 使用:

python — 调用推理端点
from openai import OpenAI

client_llm = OpenAI(
    base_url="https://qwen-chat.infer.arithcloud.com/v1",
    api_key="sk-ac-********************************",
)

resp = client_llm.chat.completions.create(
    model="qwen-chat",
    messages=[{"role": "user", "content": "用一句话解释什么是张量并行。"}],
    stream=True,
)

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

API 参考

REST 接口根地址为 https://api.arithcloud.com/v1。所有接口遵循统一的响应结构,失败时返回结构化错误对象。

方法 路径 说明
GET /v1/instances 列出当前账户下的全部实例
POST /v1/instances 创建一个实例或集群
GET /v1/instances/{id} 查询实例详情与实时资源用量
POST /v1/instances/{id}/resize 在线升降配实例规格
DELETE /v1/instances/{id} 销毁实例,销毁后立即停止计费
POST /v1/inference/deployments 部署一个托管推理端点
GET /v1/billing/usage 查询指定时间区间的用量与费用明细

统一响应结构

json — 成功响应
{
  "request_id": "req_8f2a91c4e7",
  "data": {
    "id": "inst-3d9b71",
    "status": "running",
    "instance_type": "HC-H100-8",
    "region": "cn-hangzhou-1",
    "created_at": "2026-09-11T10:24:03Z",
    "gpu": { "type": "H100", "count": 8 },
    "usage": { "gpu_hours": 216.5, "estimated_cost": 2706.25 }
  }
}

SDK 与 CLI

官方 SDK 覆盖 Python、Go 与 Node.js,均支持自动签名、请求重试与分页遍历。SDK 源码与示例托管在公开仓库中。

语言 / 工具 安装方式 最低版本
Python SDK pip install arithcloud Python 3.9+
Go SDK go get github.com/arithcloud/sdk-go Go 1.21+
Node.js SDK npm i @arithcloud/sdk Node 18+
CLI curl -fsSL get.arithcloud.com/cli | sh macOS / Linux / WSL
Terraform Provider terraform { required_providers { arithcloud = ... } } Terraform 1.5+

错误码

所有错误响应遵循 HTTP 状态码 + 业务错误码 双层语义。建议在客户端按业务错误码做分支处理,而非依赖 HTTP 状态码文本。

错误码 HTTP 含义 处理建议
InvalidSignature 401 签名校验失败 检查时间戳偏差与 Secret Key 是否正确
QuotaExceeded 403 账户配额不足 提交提额申请或先销毁闲置实例
ResourceUnavailable 409 目标可用区暂无库存 切换可用区,或改用抢占实例
RateLimited 429 请求频率超限 指数退避重试,或申请提高 QPS 上限
InternalError 500 服务端异常 携带 request_id 提交工单,我们会优先排查
json — 错误响应
{
  "request_id": "req_91d3ac7f02",
  "error": {
    "code": "ResourceUnavailable",
    "message": "cn-beijing-1 暂无可用的 H100 裸金属库存",
    "retryable": true,
    "suggested_region": "cn-hangzhou-1"
  }
}

服务状态

我们通过独立的公开状态页实时发布各可用区与各服务的可用性、历史事件与维护公告。如需订阅故障通知,可在状态页绑定邮件或 Webhook。

服务 当前状态 30 天可用性
控制台与 OpenAPI 正常运行 99.998%
弹性实例 正常运行 99.994%
托管推理 正常运行 99.991%
并行文件存储 AFS 正常运行 99.997%

技术支持:企业版客户可通过专属技术群或驻场工程师获得支持;其他客户可通过控制台提交工单,标准响应时间为 15 分钟(工作日)与 60 分钟(非工作日)。

文档看完了,动手试试

500 元算力金足够跑通一次完整的微调实验。遇到问题,工程团队随时待命。