社区集成
Microsoft Foundry
通过 Azure AI Foundry 访问 xAI 的前沿推理和智能体模型,具备企业级安全性、治理和统一计费。
本指南介绍如何在 Microsoft Foundry 上设置和使用 Grok 模型。Foundry 上的 Grok 模型为您提供强大的推理能力、原生工具使用、通过 Microsoft Entra ID 的企业身份验证、Azure 原生监控以及与 OpenAI 兼容的 API。
使用通过 Azure Marketplace / 您的 Azure 订阅计费。Grok 模型通过 xAI-Microsoft 合作伙伴关系提供,使用 Azure 托管的端点,并可选配置 Azure AI 内容安全层。查看 Foundry 目录中的特定模型卡,获取有关数据处理、保留和条款的最新详细信息。
Foundry 上的 Grok 与官方 OpenAI Python/TypeScript SDK、azure-ai-projects、LangChain、Semantic Kernel、LlamaIndex 以及大多数 OpenAI 兼容框架协同工作。支持流式传输、工具调用和结构化输出。
前提条件
开始之前,请确保您拥有:
- 有效的 Azure 订阅。
- 访问 Azure AI Foundry 的权限。
- 创建或管理 Foundry 资源/项目和部署模型的足够权限,通常需要参与者角色或具有模型部署权限的自定义角色。
- 可选但推荐:安装 Azure CLI 用于资源管理和身份验证测试。
- 本指南示例所需的 Python 3.10+。
安装必需的包
pip install -U openai azure-identity可选,用于更高级的项目客户端模式:
pip install azure-ai-projects预配
Foundry 将工作组织为用于安全性、计费和网络连接的资源,以及用于部署和协作的项目。首先创建一个资源/项目,然后在其中部署一个或多个 Grok 模型实例。
您选择的部署名称将成为 API 请求中传递给 model 参数的值。
创建或选择 Foundry 资源和项目
- 导航到 Foundry 门户。
- 创建一个新的 Foundry 资源,或选择一个现有资源。
- 在资源内,如果您的工作流使用项目,则创建一个新项目。
- 配置访问管理:
- 使用基于角色的访问控制 (RBAC) 的 Microsoft Entra ID。
- 将认知服务 OpenAI 用户角色或等效角色分配给将调用模型的身份。
- 可选地通过 Azure 虚拟网络配置私有网络。
- 记录您的资源名称和项目名称以备后用。
生成的端点基础将是:
https://{resource-name}.services.ai.azure.com/api/projects/{project-name}/openai/v1部署 Grok 模型
- 在 Foundry 门户中,转到您的资源或项目,然后选择 模型 + 端点。
- 点击 + 部署模型 → 部署基础模型,或直接浏览模型目录并搜索"Grok"。
- 浏览或搜索目录中所需的 Grok 模型,例如
grok-4.3。 - 查看模型卡,了解功能、上下文窗口、工具调用支持、安全评估、定价和部署选项。
- 点击 部署。
- 配置部署设置:
- 部署名称:选择清晰、稳定的名称,如
grok-4.3。此名称创建后无法更改,是您在model参数中使用的值。 - 部署类型/SKU:选择 Serverless 用于按需付费工作负载,或选择预配吞吐量单位 (PTU) 用于可预测的高性能工作负载。
- 部署名称:选择清晰、稳定的名称,如
- 查看并选择 部署。等待部署达到 就绪/运行 状态。
部署完成后,您可以在内置的 Playground 中测试,查看生成的代码片段,如果启用了 API 密钥身份验证则可以管理密钥/端点,并监控使用情况和指标。
身份验证
Foundry 上的 Grok 使用 Azure 原生身份验证。推荐的方法是使用 DefaultAzureCredential 的 Microsoft Entra ID(无密钥)。根据您的资源配置,也可能支持来自门户的 API 密钥。
所有请求都发送到您的 Foundry 项目的 OpenAI 兼容端点:
https://{resource-name}.services.ai.azure.com/api/projects/{project-name}/openai/v1推荐:Entra ID 身份验证
使用 azure.identity 和 get_bearer_token_provider。这实现了无缝的 RBAC、托管身份,并避免了密钥管理。
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
from openai import OpenAI
project_endpoint = "https://YOUR-RESOURCE-NAME.services.ai.azure.com/api/projects/YOUR_PROJECT_NAME"
base_url = project_endpoint.rstrip("/") + "/openai/v1"
credential = DefaultAzureCredential()
token_provider = get_bearer_token_provider(
credential,
"https://ai.azure.com/.default",
)
client = OpenAI(
base_url=base_url,
api_key=token_provider,
)
response = client.responses.create(
model="grok-4.3", # your deployment name
input="Explain the significance of Grok's tool-calling capabilities for building reliable agents. Be concise but insightful.",
max_output_tokens=800,
)
print(response.output_text)重要提示:
- 为运行此代码的身份分配认知服务 OpenAI 用户或适当角色。
DefaultAzureCredential通过 Azure CLI / VS Code、托管身份、服务主体和其他支持的流程处理本地开发。- 不需要
api-version查询参数;/openai/v1路径处理兼容性。
替代方案:API 密钥身份验证
如果您的 Foundry 资源在"密钥和端点"下公开了密钥,复制主密钥或辅助密钥,并将其直接用作 api_key:
client = OpenAI(
base_url=base_url,
api_key="your-foundry-api-key-here",
)在生产环境中优先使用 Entra ID + RBAC。切勿将密钥提交到源代码控制中,并定期轮换密钥。
进行首次 API 调用
简单推理调用
response = client.responses.create(
model="grok-4.3",
input="Walk through the first-principles reasoning to determine why reusable rockets dramatically reduce the cost of space access.",
max_output_tokens=1500,
)
print(response.output_text)工具调用示例
Grok 在工具使用方面表现出色。以下是并行工具调用的模式:
tools = [
{
"type": "function",
"function": {
"name": "get_current_weather",
"description": "Get the current weather in a given location",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "City and country, e.g., San Francisco, CA",
},
"unit": {"type": "string", "enum": ["celsius", "fahrenheit"]},
},
"required": ["location"],
},
},
},
{
"type": "function",
"function": {
"name": "search_web",
"description": "Search the web for recent information",
"parameters": {
"type": "object",
"properties": {
"query": {"type": "string"},
},
"required": ["query"],
},
},
},
]
response = client.responses.create(
model="grok-4.3",
input="What's the weather like in Palo Alto right now and any major tech news from today?",
tools=tools,
# parallel_tool_calls=True, # enable if supported in your deployment
max_output_tokens=1000,
)
print(response)在实际的智能体循环中,执行工具调用并使用工具结果继续对话。
流式响应
stream = client.responses.create(
model="grok-4.3",
input="Write a short, helpful onboarding guide for a new engineer joining xAI.",
max_output_tokens=600,
stream=True,
)
for chunk in stream:
if hasattr(chunk, "choices") and chunk.choices:
delta = chunk.choices[0].delta
if hasattr(delta, "content") and delta.content:
print(delta.content, end="", flush=True)从 Foundry 门户中的 Playground 开始进行快速提示迭代,然后转向代码。
关联 ID 和调试
Foundry 在响应头中包含标准的 Azure 请求标识符,如 request-id、apim-request-id 和 x-ms-request-id。在联系 Microsoft 或 xAI 支持时,请包含这些 ID 以及您的部署名称和大概的时间戳。
功能支持和能力
| 功能 | 备注 |
|---|---|
| 推理 | 强大的基础推理。"思考模式"风格的提示效果良好。 |
| 工具/函数调用 | 原生支持可靠的智能体工作流。 |
| 结构化输出/JSON 模式 | 支持。请求 response_format,或明确指示 JSON。 |
| 流式传输 | 支持低延迟用户体验。 |
| 长上下文 | 查看特定模型卡中的当前上下文窗口。 |
| 代码生成 | 在代码生成和编辑任务中表现强劲。 |
安全性和负责任的 AI
Grok 模型包含 xAI 的安全训练和对齐。在 Foundry 上,Azure AI 内容安全可用,通常默认启用或易于集成。
在生产部署之前:
- 查看 Foundry 目录中的完整模型卡和安全基准选项卡。
- 使用定义安全边界和期望行为的清晰系统提示。
- 在适当时实施 Azure 内容安全过滤器进行输入/输出过滤。
- 进行您自己的红队测试和评估。
- 监控使用情况和任何所需的缓解措施。
限制
- 与
api.x.ai上的直接 xAI API 的功能对等性可能略有不同,特别是对于最新的实验性功能。 - 验证您选择的模型/部署的视觉/多模态支持和确切参数可用性。
- 速率限制和配额在 Azure 资源级别管理。
有关支持的参数和行为的权威列表,请参阅 Azure AI Foundry 内部的模型卡以及目录中链接的 xAI Grok 文档。
生产环境最佳实践
模型选择
- 使用完整的 Grok 推理模型以获得最大推理深度和能力。
- 对于简单任务,使用平衡的推理设置。
- 选择符合您延迟、吞吐量和成本要求的部署设置。
有效提示 Grok
- 在需要时鼓励逐步推理。
- 指定期望的输出格式。
- 使用清晰的工具模式。
成本管理
- 监控 Azure 成本管理 + 计费中的支出。
- 对于突发或实验性工作负载使用 serverless;对于稳定的高吞吐量使用 PTU。
- 根据预期的流量模式调整模型和部署类型。
安全性和合规性
- 优先使用 Entra ID + RBAC 而非长期密钥。
- 在需要时使用私有端点/VNet 注入。
- 使用关联 ID 记录请求以便审计。
可观察性
- 集成 Azure Monitor、Application Insights 或 Log Analytics。
- 按部署跟踪令牌使用情况、延迟和错误率。
故障排除
| 问题 | 检查内容 |
|---|---|
| 401 未授权 | 缺少或不正确的 Entra 角色;错误的令牌范围;检查 DefaultAzureCredential 链。 |
| 404 未找到/模型未找到 | 错误的部署名称;必须与您在门户中创建的名称完全匹配。 |
| 部署卡在"运行中" | 检查区域配额、资源运行状况、门户通知,或尝试重新部署。 |
| 响应缓慢或高延迟 | 考虑使用预配吞吐量。检查到 Azure 区域的网络路径。 |
| 工具调用未按预期执行 | 验证工具模式以及是否为该部署启用了/支持并行工具调用。 |
| 内容被过滤/阻止 | 查看 Azure 内容安全配置和您的系统提示。如需要,调整安全阈值。 |
后续步骤
- 使用您 Foundry 项目内的 Playground。
- 将 Grok 与 Azure AI Agent Service 或流行框架(如 LangChain、Semantic Kernel 和 CrewAI)结合使用。
- 为生产系统添加检索、记忆和编排层。
- 使用 Foundry 跟踪和您内部的评估工具来评估和改进行为。
- 从直接 xAI API 迁移时,更新身份验证和端点配置。大多数提示和工具模式只需进行最小更改即可转移。