Azure OpenAI 启动额度相关:部署名称、区域以及 .env 文件的规范管理
学生版 Azure 信用额度让 Azure OpenAI 可用于 RAG 实验——只需选择支持该模型的区域,指定部署名称,且切勿提交密钥即可。
一名大四学生带着一个重要项目向 Microsoft 的 Startups 计划申请,获得了 1,000 美元的 Azure 积分。由于没有注册企业账户,无法使用更高层级的服务,但这些积分足以让他在不自行花钱的情况下学习和运行 RAG 智能体。免费的计算资源也让 Azure OpenAI 显得更加易用,而非仅限于企业使用。
如果一家机构已经在使用 Azure,那么 Azure OpenAI 通常是更直接的选择——而非复杂的迂回路径。
以下是一份实用的设置指南,其中还包括了常会让人浪费一整个下午时间的命名错误。
为何选择 Azure OpenAI,而非公共的 OpenAI API?
同样是 GPT 级别的模型,但运营模式不同:
- 合规性——在 Azure 租户内运行,并依托现有的认证标准(如 SOC 2、HIPAA 等)。
对于以 Azure 为核心技术的企业而言,这是最自然的解决方案。
设置步骤
前提条件:Azure 订阅、Azure OpenAI 访问权限(审批并非即时完成)、Python 3.8 及以上版本、VS Code 或类似编辑器。
1. 创建资源。进入门户 → “Azure OpenAI” → 创建。选择订阅计划、资源组及区域。
请先查看各区域的模型可用性。并非所有模型都在所有地区提供;部署后发现不可用会浪费时间。
定价:标准 S0 级别(积分可用于按需付费)。
2. 在 Azure AI Foundry 中部署模型。进入“Deployments”→“Create”,选择基础模型(例如 gpt-4o),然后设定部署名称。
模型名称与部署名称是不同的概念。模型名称用于选择基础模型,而部署名称则是代码中需要调用的自定义标识。如果在客户端期望获取部署标识的位置传入
gpt-4o,就会导致令人困惑的 404 错误。
3. 密钥与端点。进入“Resource”→“Keys and Endpoint”。应将这些信息存储在 .env 文件中,切勿放在源代码里:
AZURE_OPENAI_API_KEY=your-key-here
AZURE_OPENAI_ENDPOINT=https://your-resource-name.openai.azure.com/
AZURE_OPENAI_DEPLOYMENT_NAME=your-deployment-name-here
AZURE_OPENAI_API_VERSION=2024-10-21
请立即将 .env 文件加入 .gitignore 列表中。
4. 安装 SDK
pip install openai python-dotenv azure-identity
5. 基础聊天功能实现
import os
from dotenv import load_dotenv
from openai import AzureOpenAI
load_dotenv()client = AzureOpenAI(
api_key=os.getenv("AZURE_OPENAI_API_KEY"),
azure_endpoint=os.getenv("AZURE_OPENAI_ENDPOINT"),
api_version=os.getenv("AZURE_OPENAI_API_VERSION"),
)response = client.chat.completions.create(
model=os.getenv("AZURE_OPENAI_DEPLOYMENT_NAME"), # deployment name, not model name
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Explain RAG agents in simple terms."},
],
)print(response.choices[0].message.content)
6. 后续自然步骤。在“hello-world”路径测试通过后,即可进行流式处理、函数调用、使用Azure AI Search的“自带数据”功能,以及通过App Service进行托管。
需注意的几点
- 区域不匹配 — 创建资源前需确认模型是否可用
- 模型与部署名称 — 代码中需要使用部署名称
- 硬编码的敏感信息 — 仅可使用
.env文件,切勿提交到版本控制中 - API版本变动 — 需固定API版本,并在SDK更新时重新检查
- 积分消耗 — 在迭代RAG流程时需关注令牌使用情况;即使拥有“免费”积分,嵌入向量与聊天功能仍会消耗积分
- 访问权限审批延迟 — 应在项目初期就申请Azure OpenAI权限
有了额度和正确的部署名称后,Azure OpenAI 就不再像一个封闭的企业保险库,而变成了一个实用的 RAG 实验实验室,能够模拟许多公司当前的部署方式。
将首次成功完成的调用视为一个检查点,随即立即运行一个简小的 RAG 循环:将一份 PDF 上传到 Blob 或 Search 中,检索出三段内容,并要求答案引用这些内容。这样的流程比优化聊天机器人界面能更快地暴露出区域、命名和权限问题。请为资源组设置支出警报,以免探索性的嵌入操作在夜间悄无声息地耗尽额度。