You need to enable JavaScript to run this app.
导航
Python SDK 安装与初始化
最近更新时间:2025.03.21 20:59:53首次发布时间:2024.08.12 12:44:10
我的收藏
有用
有用
无用
无用

在使用方舟 Python SDK 调用模型服务前,请按照本文档进行环境配置。

前提条件

您本地已经安装了Python ,且版本不低于 3.7。

您可以在终端中输入命令确认Python是否安装以及安装的版本,如未安装,请参考Python安装教程安装,注意选择版本3.7及以上版本。

python -V

安装Python SDK

发布地址:https://pypi.org/project/volcengine-python-sdk
源码地址:https://github.com/volcengine/volcengine-python-sdk/tree/master/volcenginesdkarkruntime

火山方舟 Python SDK 支持 pip 安装和源码安装两种方式。

通过 pip 安装

在终端中执行以下命令安装Python SDK。

pip install 'volcengine-python-sdk[ark]'

说明

如果您本地安装错误,可以尝试使用下面方法

如您本地已经安装了 Python SDK,您希望更新至最新版本,可以在命令中增加-U参数。

pip install -U 'volcengine-python-sdk[ark]'

源码安装

下载相应版本的 SDK 包,解压后进入目录,执行如下命令:

python setup.py install --user

2. 获取并配置 API Key

请参见 1.获取并配置 API Key

3.客户端初始化
import os
from volcenginesdkarkruntime import Ark

client = Ark(
    api_key=os.environ.get("ARK_API_KEY"),
    )

设置地域和访问域名

代码示例中 <ARK_BASE_URL> 处填写火山方舟推理接入点/应用资源所在区域对应的访问域名。

  • Base URL :默认从公网访问华北 2 (北京) https://ark.cn-beijing.volces.com/api/v3,火山方舟支持的地域和访问域名参见地域和访问域名
import os
from volcenginesdkarkruntime import Ark
# 以华北 2 (北京) 为例,<ARK_BASE_URL> 处应改为 https://ark.cn-beijing.volces.com/api/v3
client = Ark(
    api_key=os.environ.get("ARK_API_KEY"),
    base_url="<ARK_BASE_URL>"
)

设置超时/重试次数

import os
from volcenginesdkarkruntime import Ark

client = Ark(
    api_key=os.environ.get("ARK_API_KEY"),
    timeout=120,
    max_retries=2,
)

使用Access Key鉴权

  1. 获取到Access Key。如需创建/查看Access Key,请参见API访问密钥管理
  2. 设置API密钥到环境变量,推荐命名为:VOLC_ACCESSKEYVOLC_SECRETKEY

环境变量配置方法类似API Key配置环境变量,具体请参见 配置 API Key 到环境变量

  1. 按照下面示例代码进行初始化。
import os
from volcenginesdkarkruntime import Ark
client = Ark(
    ak=os.environ.get("VOLC_ACCESSKEY"),
    sk=os.environ.get("VOLC_SECRETKEY"),
)

说明

因Access Key 鉴权原理是使用Access Key调用接口(GetApiKey - 获取临时API Key)来获取临时API Key,而该接口QPS较低。此时请使用单例模式调用模型服务,勿多次创建实例避免触发接口限流。

import os
from volcenginesdkarkruntime import Ark

client = Ark(
    ak=os.environ.get("VOLC_ACCESSKEY"),
    sk=os.environ.get("VOLC_SECRETKEY"),
)

# 请求1
completion = client.chat.completions.create(
    model="doubao-1-5-pro-32k-250115",
    messages=[
        {"role": "system", "content": "你是一个模型助手"},
        {"role": "user", "content": "今天天气不错"},
    ],
)
print(completion.choices[0].message.content)


# 请求2
completion = client.chat.completions.create(
    model="doubao-1-5-pro-32k-250115",
    messages=[
        {"role": "system", "content": "你是一个模型助手"},
        {"role": "user", "content": "你好"},
    ],
)
print(completion.choices[0].message.content)