Azure OpenAI 密钥配置与 Python 调用示例

Azure OpenAI 和直接调用 OpenAI 接口最大的区别在于:请求地址由你的 Azure 资源决定,模型需要先部署,鉴权使用 Azure 密钥而不是组织级 API Key。
如果你已经有一个 Azure 订阅,下一步的步骤可以帮你从零完成资源创建、密钥获取和第一次 Python 调用。

创建资源前需要准备什么

在开始操作之前,确认三件事:

  • 一个可用的 Azure 订阅,并且该订阅已获得 Azure OpenAI 的访问权限。部分订阅类型需要先提交使用申请,审批通过后才能创建资源。
  • 本地或服务器上安装 Python 3.8 及以上版本,并能正常使用 pip 安装第三方库。
  • 清楚自己要调用哪种模型(例如对话模型或嵌入模型),因为后续需要在 Azure 门户中手动部署模型,未部署的模型名无法直接调用。

如果订阅尚未开通 Azure OpenAI 权限,创建资源时会提示不可用,此时需要先在 Azure 门户中提交申请,等待审批后再继续。

在 Azure 门户创建资源并获取密钥

登录 Azure 门户,在搜索栏输入“Azure OpenAI”,进入创建页面。
填写订阅、资源组、区域和资源名称,定价层按实际需求选择。
资源创建完成后,进入该资源的“密钥和终结点”页面,这里会显示两个关键信息:

  • 终结点(Endpoint):形如 https://你的资源名.openai.azure.com/,后续所有请求都发往这个地址。
  • 密钥(Key):页面会给出 KEY1 和 KEY2,任选一个即可。生产环境建议定期轮换,两个密钥可以交替使用以减少中断。

拿到终结点和密钥后,还需要部署模型。
进入“模型部署”页面,点击“部署模型”,选择模型版本并给部署起一个名字。
这个部署名就是代码中要填的 deployment_name,它不一定等于模型原名,建议起一个容易识别的名字。

用 Python SDK 发起第一次调用

安装官方 SDK:

pip install openai

设置环境变量,避免把密钥直接写进代码:

export AZURE_OPENAI_API_KEY="你的密钥"
export AZURE_OPENAI_ENDPOINT="https://你的资源名.openai.azure.com/"

编写调用脚本:

import os
from openai import AzureOpenAI

client = AzureOpenAI(
    api_key=os.environ["AZURE_OPENAI_API_KEY"],
    api_version="2024-02-01",
    azure_endpoint=os.environ["AZURE_OPENAI_ENDPOINT"]
)

response = client.chat.completions.create(
    model="你的部署名",
    messages=[
        {"role": "user", "content": "用一句话解释什么是 Azure OpenAI"}
    ]
)

print(response.choices[0].message.content)

注意 model 参数填的是部署名,不是模型原名。api_version 需要与资源支持的版本匹配,不同时期可用的版本可能不同,以门户中显示的为准。

如果不想安装 SDK,也可以用 REST 接口直接请求:

curl "$AZURE_OPENAI_ENDPOINT/openai/deployments/你的部署名/chat/completions?api-version=2024-02-01" \
  -H "Content-Type: application/json" \
  -H "api-key: $AZURE_OPENAI_API_KEY" \
  -d '{"messages":[{"role":"user","content":"你好"}]}'

请求头使用 api-key,而不是 Authorization: Bearer,这是 Azure OpenAI 与 OpenAI 官方接口的一个明显差异。

常见报错与排查方向

调用失败时,先看 HTTP 状态码,再对照下面的方向排查:

  • 401 Unauthorized:密钥错误或未传递。检查环境变量是否生效,请求头字段是否为 api-key。
  • 404 Not Found:终结点地址或部署名写错。确认 URL 中是否包含 /openai/deployments/部署名/ 这一段,以及部署名是否与门户中完全一致。
  • 429 Too Many Requests:触发速率限制。可以在门户中查看已部署模型的配额,适当降低请求频率或申请提升配额。
  • 400 Bad Request:请求体格式问题,常见于 messages 结构不正确或 api-version 与请求路径不匹配。

排查时建议先用 curl 发一个最小请求,确认密钥和终结点本身可用,再回到代码中检查参数。

调用成功后的验证方式

一次成功的调用会返回 JSON,其中 choices[0].message.content 就是模型输出。
如果返回内容为空,检查请求中的 messages 是否至少包含一条用户消息。
另外,可以在门户的“指标”页面观察请求数和延迟,确认调用确实到达了资源。

对于生产环境,建议把终结点和密钥放在环境变量或密钥管理服务中,不要提交到代码仓库;
同时为部署配置好配额告警,避免流量突增时被限流。

关于模型部署和版本的两个提醒

Azure OpenAI 的模型需要手动部署,且部署名可以自定义,这是新手最容易出错的地方。
另一个容易忽略的点是 api_version:它和模型版本不是一回事,升级 SDK 或更换模型时不需要盲目修改,但如果请求返回版本相关错误,应优先核对请求路径中的版本参数与资源支持的版本是否一致。

分享到:
上一篇
Google AI API 怎么调用:密钥申请与 Python 请求示例
下一篇
AWS Bedrock 调用大模型: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 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意