火山方舟API分为模型调用的API,以及其他管理推理接入点等管控面相关的其他API。他们支持的鉴权方式有所不同,下面介绍方舟相关的API鉴权方式。
您已获取到API Key。如需创建/查看API Key,请参见1.获取并配置 API Key 。
在开通管理页开通所需模型的服务。
在模型列表获取所需模型的ID(Model ID),后续调用模型服务时需使用。
说明
如您需要控制限流、监控服务指标、加固安全、防护风险等高级能力,您也可通过 Endpoint ID 调用模型服务,具体可以参考获取 Endpoint ID。
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 鉴权,只支持通过Endpoint ID调用,不支持通过Model ID 调用,即请求体中
model
字段需要配置为Endpoint ID。
您可以使用下面方式来间接完成 Access Key 签名鉴权。
管控面的API,如管理API Key、管理推理接入点等接口。
您已获取到Access Key。如需创建/查看Access Key,请参见API访问密钥管理。
由于主账号的Access Key拥有较大权限,建议您创建IAM用户并授予方舟等权限,然后使用IAM用户的Access Key来进行操作,具体请参见使用IAM进行访问控制教程。
签名用到的方舟相关字段信息:
- Service:
ark
- Region:
cn-beijing
curl -X POST \ 'https://open.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: open.volcengineapi.com' \ -H 'X-Content-Sha256: 44***' \ -H 'X-Date: 20240710T042925Z' \ -d '{}'