Arkloop Developers

LLM Providers

管理提供商账号以及该账号下的模型列表。所有端点都需要 Bearer Token 认证。

Provider 是账号级资源,模型挂在 Provider 下面,最终组合成 provider_name^model_name 这样的 model selector,供 Persona 直接引用。

列出 Providers

GET /v1/llm-providers

响应 200 OK

[
  {
    "id": "...",
    "org_id": "...",
    "provider": "anthropic",
    "name": "anthropic-main",
    "key_prefix": "sk-ant-a",
    "base_url": null,
    "openai_api_mode": null,
    "advanced_json": null,
    "created_at": "2024-01-01T00:00:00Z",
    "models": [
      {
        "id": "...",
        "provider_id": "...",
        "model": "claude-sonnet-4-20250514",
        "priority": 0,
        "is_default": true,
        "tags": [],
        "when": {},
        "advanced_json": {},
        "multiplier": 1.0,
        "cost_per_1k_input": 0.003,
        "cost_per_1k_output": 0.015,
        "cost_per_1k_cache_write": null,
        "cost_per_1k_cache_read": null
      }
    ]
  }
]

创建 Provider

POST /v1/llm-providers

请求体

字段类型必填说明
namestringProvider 显示名,也是 selector 前缀;不能包含 ^
providerstringopenaianthropic
api_keystringAPI Key(加密存储)
base_urlstring自定义端点
openai_api_modestringauto / responses / chat_completions
advanced_jsonobjectProvider 额外配置

更新 Provider

PATCH /v1/llm-providers/{provider_id}

请求体

字段类型说明
namestring更新 Provider 名称
providerstring更新 Provider 类型
api_keystring覆盖已存储的密钥
base_urlstring | null更新自定义端点
openai_api_modestring | null更新 OpenAI 兼容模式
advanced_jsonobject | null更新高级配置

删除 Provider

DELETE /v1/llm-providers/{provider_id}

删除 Provider 时会一并移除其下的模型列表。


创建 Provider Model

POST /v1/llm-providers/{provider_id}/models

请求体

字段类型必填说明
modelstring上游模型名
priorityint越大越优先
is_defaultbool是否为该 Provider 下的默认模型
tagsstring[]扩展标签
whenobject条件路由规则
advanced_jsonobject模型级高级配置;与 provider 级按键合并,模型级优先
multiplierfloat64成本倍率
cost_per_1k_inputfloat64每 1k input token 成本
cost_per_1k_outputfloat64每 1k output token 成本
cost_per_1k_cache_writefloat64缓存写成本
cost_per_1k_cache_readfloat64缓存读成本

Persona 后续可直接引用 anthropic-main^claude-sonnet-4-20250514 这样的 selector。


更新 Provider Model

PATCH /v1/llm-providers/{provider_id}/models/{model_id}

可更新的字段与“创建 Provider Model”一致。

当 provider 级和模型级同时设置 advanced_json 时,Arkloop 会按键合并,冲突时以模型级为准。


删除 Provider Model

DELETE /v1/llm-providers/{provider_id}/models/{model_id}

列出可用模型

GET /v1/llm-providers/{provider_id}/available-models

返回该 Provider 对应上游探测到的模型列表:

{
  "models": [
    {
      "id": "claude-sonnet-4-20250514",
      "name": "claude-sonnet-4-20250514",
      "configured": true
    }
  ]
}

On this page