零一万物API实战:密钥申请与Python调用示例

零一万物API使用教程的核心操作只有三步:在开放平台创建API Key,确认要调用的模型名称,然后用兼容OpenAI的接口地址发起请求。
下面按实际动手顺序展开,每一步给出后台路径或代码片段,并说明执行后应该看到什么结果。

进入控制台拿到API Key和模型名

登录零一万物开放平台后,先找到API密钥管理页面。
不同时期控制台菜单名称可能略有差异,通常位于“API Keys”或“密钥管理”入口。
点击创建新密钥,系统会生成一串以 sk- 开头的字符串。
这串密钥只会在创建时完整显示一次,建议立即复制到密码管理工具或服务器环境变量中。

创建密钥后,还需要确认可用的模型名称。
在平台的模型列表或文档页面查看当前开放的模型标识,例如对话模型通常有对应的model参数值。
模型名称必须与平台文档一致,填错会直接导致请求返回模型不存在或参数错误。

如果计划在服务器上调用,不要把密钥硬编码进代码仓库。
推荐写入环境变量:

export YI_API_KEY="sk-你的密钥"

Windows本地调试可在PowerShell中临时设置:

$env:YI_API_KEY="sk-你的密钥"

用Python发起第一次对话请求

零一万物提供与OpenAI兼容的接口,因此可以直接使用 requests 库发POST请求,也可以使用OpenAI SDK并修改 base_url。
下面是不依赖额外SDK的写法,便于看清请求结构:

import os
import requests

api_key = os.environ.get("YI_API_KEY")
url = "https://api.lingyiwanwu.com/v1/chat/completions"

headers = {
    "Authorization": f"Bearer {api_key}",
    "Content-Type": "application/json"
}

payload = {
    "model": "yi-large",
    "messages": [
        {"role": "user", "content": "用一句话解释什么是API"}
    ]
}

resp = requests.post(url, headers=headers, json=payload, timeout=30)
print(resp.status_code)
print(resp.json())

运行前先安装依赖:

pip install requests

执行后如果返回状态码 200,响应JSON中通常包含 choices 数组,第一个元素的 message.content 就是模型回答。
如果返回其他状态码,先看响应体里的 error 字段,再对照下一节的排查方向。

常见报错的定位顺序

遇到调用失败时,按“网络是否通、密钥是否有效、模型名是否对、请求体是否合法”的顺序检查,比盲目改代码更高效。

  • 401 Unauthorized:密钥缺失、复制不完整或环境变量未生效。在Python中打印 api_key 的前几位确认是否读到值,注意不要打印完整密钥。
  • 404 或模型不存在:model 参数与平台当前提供的模型标识不一致。回到控制台模型列表核对,不要凭记忆填写。
  • 请求超时:先在服务器上执行 curl -I https://api.lingyiwanwu.com 检查出网和DNS是否正常。公司内网或部分云主机可能需要配置代理或放行443端口。
  • 返回格式不是预期JSON:检查请求头是否带了 Content-Type: application/json,以及是否被中间代理拦截返回了HTML错误页。

另外,不要把密钥写在公开的Git仓库、前端代码或日志里。
如果怀疑密钥泄露,应在控制台删除旧密钥并重新创建。

验证调用是否真正可用

代码跑通一次不代表稳定可用。
建议做两个简单验证:第一,连续发起三次请求,确认每次都能返回 choices 且内容非空;
第二,故意传一个错误的模型名,确认接口返回明确的错误信息而不是超时。
前者验证正常链路,后者验证错误处理逻辑。

如果要在生产环境使用,还应设置合理的超时和重试次数,并对返回内容做空值判断。
例如:

if resp.status_code == 200:
    data = resp.json()
    content = data.get("choices", [{}])[0].get("message", {}).get("content")
    if not content:
        print("返回内容为空,检查模型名或请求参数")
else:
    print(f"请求失败,状态码:{resp.status_code},详情:{resp.text}")

几个容易忽略的细节

模型名称会随平台调整:不同账号或不同时期可用的模型可能不同,以控制台和官方文档当前展示为准,不要照搬旧教程里的名称。

接口地址区分版本:兼容OpenAI的对话接口路径通常包含 /v1/chat/completions,拼接时注意不要多写或漏写版本段。

服务器时间不准会导致证书校验失败:如果报SSL证书错误,先执行 date 检查系统时间,偏差过大时用 ntpdate 或 chronyd 同步。

请求频率限制:平台可能对免费额度或调用频率有限制,返回429时降低并发或查看账户额度,而不是反复重试。

按上面的顺序操作,零一万物API从创建密钥到Python调用的链路基本可以一次走通。
真正需要花时间的是密钥管理和错误处理,而不是请求本身。

分享到:
上一篇
月之暗面API怎么用:从创建密钥到Python调用
下一篇
百川智能API接入:密钥获取与Python调用示例
1
系统公告

泽御云中秋国庆双节活动上线:新购8折,拼团3.99元起

尊敬的用户:
泽御云“月满中秋·礼贺国庆”双节活动现已开启,活动时间为2026年9月23日至10月10日。 活动期间可享以下福利:
1. 常规云服务器新购使用优惠码“泽御中秋国庆同乐”,符合条件的订单享8折优惠。
2. 香港精品云服务器5人拼团低至3.99元,部分4核4G套餐3人拼团年付388元,续费同价。
3. 新用户购买年付云服务器,符合活动规则可赠送2个月使用时长。
4. 老用户续费季度赠15天,续费年度赠2个月;活动期间升级配置免收配置迁移手续费。
5. 推荐好友成功下单,符合条件的推荐人可获赠7天服务器使用时长。
6. 活动期间享宕机补偿标准翻倍、简单网站迁移协助及技术工单优先处理权益。
温馨提示:优惠码不适用于拼团套餐、活动轻量产品、年付订单及续费订单;拼团套餐为独立特价活动,不与赠时类福利叠加。赠送时长不可折现、退款或跨账户转移,具体规则以活动页面说明为准。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意