火山方舟API分为模型调用的API(数据面 API),及管理推理接入点等管控相关的管控面 API。他们支持的鉴权方式有所不同,下面介绍方舟API的鉴权方式。
[协议]://[host]/[基础路径(可选)]方舟不同的接口使用的 Base URL 有所不同。
数据面 API:
https://ark.cn-beijing.volces.com/api/v3/。https://ark.cn-beijing.volces.com/api/v3/bots/。管控面 API:https://ark.cn-beijing.volcengineapi.com/。
支持两种鉴权方式,API Key 鉴权(简单方便),与 Access Key 鉴权(传统云上资源权限管控,可以分资源组云产品等维度管理,面向企业精细化管理)。
API Key 签名鉴权方式要求在 HTTP 请求 header 中按如下方式添加 Authorization header:
Authorization: Bearer <ARK_API_KEY>
curl https://ark.cn-beijing.volces.com/api/v3/chat/completions \ -H "Content-Type: application/json" \ -H "Authorization: Bearer <ARK_API_KEY>" \ -d '{ "model": "<Model ID>", "messages": [ { "role": "system", "content": "You are a helpful assistant." }, { "role": "user", "content": "Hello!" } ] }'
您已获取到Access Key。如需创建/查看Access Key,请参见API访问密钥管理。
由于主账号的Access Key拥有较大权限,建议您创建IAM用户并授予方舟等权限,然后使用IAM用户的Access Key来进行操作,具体请参见使用IAM进行访问控制教程。
使用方舟提供的SDK,可直接使用 Access Key 进行鉴权,无需自行实现签名。具体请参见使用Access Key鉴权。
通过Access Key 鉴权,只支持通过Endpoint ID调用,不支持通过Model ID 调用,即请求体中
model字段需要配置为Endpoint ID。
您可以使用下面方式来间接完成 Access Key 签名鉴权。
管控面的API,如管理API Key、管理推理接入点等接口。
您已获取到Access Key。如需创建/查看Access Key,请参见API访问密钥管理。
由于主账号的Access Key拥有较大权限,建议您创建IAM用户并授予方舟等权限,然后使用IAM用户的Access Key来进行操作,具体请参见使用IAM进行访问控制教程。
请参见SDK 接入指南。
签名用到的方舟相关字段信息:
- Service:
ark- Region:
cn-beijing
curl -X POST \ 'https://ark.cn-beijing.volcengineapi.com/?Action=ListEndpoints&Version=2024-01-01' \ -H 'Authorization: HMAC-SHA256 Credential=AKL**/20240710/cn-beijing/ark/request, SignedHeaders=host;x-content-sha256;x-date, Signature=a7a****' \ -H 'Content-Type: application/json' \ -H 'Host: ark.cn-beijing.volcengineapi.com' \ -H 'X-Content-Sha256: 44***' \ -H 'X-Date: 20240710T042925Z' \ -d '{}'