You need to enable JavaScript to run this app.
文档中心
火山方舟

火山方舟

复制全文
下载 pdf
其他说明
SDK 常见使用示例
复制全文
下载 pdf
SDK 常见使用示例
当您使用官方 SDK 时,设置自定义header等典型的使用,可以参考本说明。​
设置超时&重试次数​
当您的网络环境不稳定或者响应时间较长的场景,可以设置超时和重试次数,以提高服务可用性。​
  • 超时设置(timeout):适用于对响应时间较长的场景(如深度思考模型回复问题时间较长),避免请求时间超时导致服务中断,这里推荐30分钟(1800秒)。​
  • Python SDK:默认 60秒 连接超时(建立网络连接的最大等待时间),600 秒 socket 超时(连接建立后的数据传输超时)。​
  • Java SDK:默认 60秒 连接超时,600 秒 socket 超时。​
  • Go SDK:默认 600s 端到端的总超时(从请求发起至响应接收的总超时)。​
  • 重试次数(max_retries):适用于网络不稳定场景,自动重试因瞬时故障(如网络波动)失败的请求,默认2次,即请求失败默认会再重试2次,您可以按需配置。​
​
Python
Go
Java
​
​
import os​
# Install the Ark SDK with: python -m pip install --upgrade arkruntime .​
from arkruntime import Ark​
​
client = Ark(​
api_key=os.environ.get("ARK_API_KEY"),​
# Allow enough time for long-running requests.​
timeout=1800,​
# Retry transient failures up to two times.​
max_retries=2,​
base_url="https://ark.cn-beijing.volces.com/api/v3",​
)​
​
​
使用Access Key鉴权​
当需要通过火山引擎云服务的标准鉴权体系(Access Key/Secret Key)认证时使用。​
使用 Access Key 鉴权的实现原理是通过接口 GetApiKey 获取临时 API Key 进行鉴权,此接口限流较低,务必使用单例模式进行请求,避免因限流导致鉴权失败,可参考单例请求。​
​
Python
Go
Java
​
​
import os​
# 通过命令安装方舟SDK python -m pip install --upgrade arkruntime .​
from arkruntime import Ark​
client = Ark(​
ak=os.environ.get("VOLC_ACCESSKEY"),​
sk=os.environ.get("VOLC_SECRETKEY"),​
# The base URL for model invocation .​
base_url="https://ark.cn-beijing.volces.com/api/v3",​
)​
​
​
设置自定义 header​
自定义的 header 字段采用键值对(key-value)结构,以对象形式呈现,具体格式示例如下:​
​
{​
"key1": "value1",​
"key2": "value2",​
...,​
"keyN": "valueN"​
}​
​
可以用于传递额外信息,如配置 ID来串联日志,使能数据加密能力。支持该字段的接口有 对话(Chat) API、批量(Chat)API,下面是典型示例。​
问题定位​
您可以在请求时,为多个请求设置 key 为 X-Client-Request-Id,value 配置为自定义的 ID,并提供 ID 给方舟售后团队,为您串联客户端和服务端日志,方便问题定位。​
​
Python
Go
Java
​
​
import os​
# 通过命令安装方舟SDK python -m pip install --upgrade arkruntime​
from arkruntime import Ark​
​
client = Ark(​
api_key=os.environ.get("ARK_API_KEY"),​
# The base URL for model invocation .​
base_url="https://ark.cn-beijing.volces.com/api/v3",​
)​
​
completion = client.chat.completions.create(​
# Replace with Model ID .​
model = "doubao-seed-2-1-pro-260915",​
messages = [​
{"role": "user", "content": "Hello"},​
],​
# 自定义request id​
extra_headers={"X-Client-Request-Id": "My-Request-Id"}​
)​
print(completion.choices[0].message.content)​
​
​
加密数据​
为了保证推理会话数据的传输安全,你可以为在线推理的会话数据加密。使能能力后,SDK 会对推理会话的内容进行加密。​
更多能力介绍和原理信息请参考推理会话数据应用层加密方案。​
  • 版本要求:​
  • Python SDK:需要保证 arkruntime 版本为 0.5.0 及以上。参考升级 Python SDK升级 SDK。​
  • Java SDK:需要保证 com.volcengine:ark-runtime 版本为 0.5.0 及以上。参考升级 Java SDK升级 SDK。​
  • 能力支持:​
  • 仅支持文本生成模型和视觉理解图片理解模型请求。​
  • 图片仅支持 Base64 图片加密, URL 图片无法加密。​
  • 仅支持官方 Python SDK、Java SDK 的 Chat API 。​
  • 支持单轮、多轮会话,支持流式、非流式,同步、异步调用。​
​
Python
Java
​
​
import os​
# 通过命令安装方舟SDK python -m pip install --upgrade arkruntime​
from arkruntime import Ark​
​
client = Ark(​
api_key=os.environ.get("ARK_API_KEY"),​
# The base URL for model invocation .​
base_url="https://ark.cn-beijing.volces.com/api/v3",​
)​
​
completion = client.chat.completions.create(​
# Replace with Model ID .​
model = "doubao-seed-2-1-pro-260915",​
messages = [​
{"role": "user", "content": "Hello"},​
],​
#按下述代码设置自定义header,免费开启推理会话应用层加密​
extra_headers={'x-is-encrypted': 'true'}​
)​
print(completion.choices[0].message.content)​
​
​
开启数据上报​
为了便于快速排查和定位问题,你可以在 Responses API 请求的 header 中增加"X-Fornax-Trace: true"开启数据上报。支持统计分析的数据见分析统计。​
该能力限时免费提供使用。​
  • 版本要求:如果请求上报未生效,需升级 SDK 到最新版本。​
​
Python
Go
Java
​
​
import os​
from arkruntime import Ark​
​
client = Ark(​
base_url='https://ark.cn-beijing.volces.com/api/v3',​
api_key=os.getenv('ARK_API_KEY'),​
)​
​
response = client.responses.create(​
model="<Endpoint_ID>",​
input="hello",​
extra_headers={'X-Fornax-Trace': 'true'}​
)​
print(response)​
​
​
单例请求​
请使用单例方式请求模型服务,勿重复创建实例导致额外资源消耗。​
​
Python
Go
Java
​
​
import os​
# 通过命令安装方舟SDK python -m pip install --upgrade arkruntime​
from arkruntime import Ark​
​
client = Ark(​
# Get API Key: https://ark.volcengine.com/region:cn-beijing/apikey​
api_key=os.environ.get("ARK_API_KEY"),​
# The base URL for model invocation .​
base_url="https://ark.cn-beijing.volces.com/api/v3",​
)​
​
# 请求1​
completion = client.chat.completions.create(​
model="doubao-seed-2-1-pro-260915",​
messages=[​
{"role": "user", "content": "Nice day"},​
],​
)​
print(completion.choices[0].message.content)​
​
​
# 请求2​
completion = client.chat.completions.create(​
model="doubao-seed-2-1-pro-260915",​
messages=[​
{"role": "user", "content": "Hello"},​
],​
)​
print(completion.choices[0].message.content)​
​
​
设置Base Url​
初始化时 Ark、AsyncArk实例时,默认无需配置base_url参数,当需要连接非默认区域的服务端点时使用,示例如下。​
​
Python
Go
Java
​
​
import os​
# Install the Ark SDK with: python -m pip install --upgrade arkruntime .​
from arkruntime import Ark​
​
client = Ark(​
api_key=os.environ.get("ARK_API_KEY"),​
# Configure the service endpoint for the target region.​
base_url="https://ark.cn-beijing.volces.com/api/v3",​
)​
​
​
​
最近更新时间:2026.10.09 14:36:34
这个页面对您有帮助吗?
有用
有用
无用
无用