mcpField
A
azure-openai-2025

azure-openai-2025

github.com/josiahsiegel云与 DevOps59164 次安装19 周前更新
代码仓库

关于 azure-openai-2025

面向部署和使用 Azure OpenAI Service 的团队的参考技能,涵盖模型、部署、集成、安全与运维,涉及文本、推理、图像、视频和音频能力,以及 Azure AI Foundry。

主要功能

  1. 012025 年模型与能力概览
  2. 02Azure CLI 部署示例
  3. 03Python SDK 使用模式
  4. 04Azure AI Foundry 集成
  5. 05配额与容量管理
  6. 06安全与监控指南

适用场景

  1. 01为任务选择模型
  2. 02部署 Azure OpenAI 模型
  3. 03配置专用终结点和托管身份
  4. 04监控用量并管理部署容量

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/josiahsiegel/claude-plugin-marketplace --skill azure-openai-2025

安装后在 Claude Code 中输入/azure-openai-2025确认已加载。

附带文件references/cost-monitoring.md

详细介绍

Azure OpenAI Service - 2025 年模型与功能

包含 Azure OpenAI Service 的完整知识库,涵盖最新的 2025 年模型,包括 GPT-5、GPT-4.1、推理模型以及 Azure AI Foundry 集成。

概览

Azure OpenAI Service 通过 REST API 提供对 OpenAI 最强大模型的访问,并具备企业级安全性、合规性和区域可用性。

最新模型(2025 年)

GPT-5 系列(2025 年 8 月正式发布)

需要注册的模型:

  • gpt-5-pro:能力最强,适用于复杂推理
  • gpt-5:兼顾性能与成本
  • gpt-5-codex:针对代码生成优化

无需注册:

  • gpt-5-mini:速度更快,价格更实惠
  • gpt-5-nano:适用于简单任务,速度极快
  • gpt-5-chat:针对对话场景优化
GPT-4.1 系列
  • gpt-4.1:1 百万 token 上下文窗口
  • gpt-4.1-mini:高效版本,支持 1M 上下文
  • gpt-4.1-nano:速度最快的变体

主要改进:

  • 1,000,000 token 上下文(GPT-4 Turbo 为 128K)
  • 更善于遵循指令
  • 减少幻觉
  • 改进多语言支持
推理模型

o4-mini:轻量级推理模型

  • 推理速度更快
  • 成本更低
  • 适用于结构化推理任务

o3:高级推理模型

  • 解决复杂问题
  • 数学推理
  • 科学分析

o1:原始推理模型

  • 通用推理
  • 分步说明

o1-mini:高效推理

  • 兼顾成本与性能
图像生成

GPT-image-1(2025-04-15)

  • DALL-E 3 的后继产品
  • 图像质量更高
  • 更善于理解提示词
  • 改进安全过滤器
视频生成

Sora(2025-05-02)

  • 文本生成视频
  • 可生成逼真和富有想象力的场景
  • 视频时长最长可达 60 秒
  • 支持多种摄像机角度和风格
音频模型

gpt-4o-transcribe:由 GPT-4o 驱动的语音转文本

  • 转录准确率高
  • 支持多种语言
  • 说话人分离

gpt-4o-mini-transcribe:更快、更实惠的转录

  • 准确率良好
  • 延迟更低
  • 成本效益高

部署 Azure OpenAI

创建 Azure OpenAI 资源
# Create OpenAI account
az cognitiveservices account create \
  --name myopenai \
  --resource-group MyRG \
  --kind OpenAI \
  --sku S0 \
  --location eastus \
  --custom-domain myopenai \
  --public-network-access Disabled \
  --identity-type SystemAssigned

# Get endpoint and key
az cognitiveservices account show \
  --name myopenai \
  --resource-group MyRG \
  --query "properties.endpoint" \
  --output tsv

az cognitiveservices account keys list \
  --name myopenai \
  --resource-group MyRG \
  --query "key1" \
  --output tsv
部署 GPT-5 模型
# Deploy gpt-5
az cognitiveservices account deployment create \
  --resource-group MyRG \
  --name myopenai \
  --deployment-name gpt-5 \
  --model-name gpt-5 \
  --model-version latest \
  --model-format OpenAI \
  --sku-name Standard \
  --sku-capacity 100 \
  --scale-type Standard

# Deploy gpt-5-pro (requires registration)
az cognitiveservices account deployment create \
  --resource-group MyRG \
  --name myopenai \
  --deployment-name gpt-5-pro \
  --model-name gpt-5-pro \
  --model-version latest \
  --model-format OpenAI \
  --sku-name Standard \
  --sku-capacity 50
部署推理模型
# Deploy o3 reasoning model
az cognitiveservices account deployment create \
  --resource-group MyRG \
  --name myopenai \
  --deployment-name o3-reasoning \
  --model-name o3 \
  --model-version latest \
  --model-format OpenAI \
  --sku-name Standard \
  --sku-capacity 50

# Deploy o4-mini
az cognitiveservices account deployment create \
  --resource-group MyRG \
  --name myopenai \
  --deployment-name o4-mini \
  --model-name o4-mini \
  --model-version latest \
  --model-format OpenAI \
  --sku-name Standard \
  --sku-capacity 100
部署支持 1M 上下文的 GPT-4.1
az cognitiveservices account deployment create \
  --resource-group MyRG \
  --name myopenai \
  --deployment-name gpt-4-1 \
  --model-name gpt-4.1 \
  --model-version latest \
  --model-format OpenAI \
  --sku-name Standard \
  --sku-capacity 100
部署图像生成模型
az cognitiveservices account deployment create \
  --resource-group MyRG \
  --name myopenai \
  --deployment-name image-gen \
  --model-name gpt-image-1 \
  --model-version 2025-04-15 \
  --model-format OpenAI \
  --sku-name Standard \
  --sku-capacity 10
部署 Sora 视频生成
az cognitiveservices account deployment create \
  --resource-group MyRG \
  --name myopenai \
  --deployment-name sora \
  --model-name sora \
  --model-version 2025-05-02 \
  --model-format OpenAI \
  --sku-name Standard \
  --sku-capacity 5

使用 Azure OpenAI 模型

Python SDK(GPT-5)
from openai import AzureOpenAI
import os

# Initialize client
client = AzureOpenAI(
    api_key=os.getenv("AZURE_OPENAI_API_KEY"),
    api_version="2025-02-01-preview",
    azure_endpoint=os.getenv("AZURE_OPENAI_ENDPOINT")
)

# GPT-5 completion
response = client.chat.completions.create(
    model="gpt-5",  # deployment name
    messages=[
        {"role": "system", "content": "You are a helpful AI assistant."},
        {"role": "user", "content": "Explain quantum computing in simple terms."}
    ],
    max_tokens=1000,
    temperature=0.7,
    top_p=0.95
)

print(response.choices[0].message.content)
Python SDK(o3 推理模型)
# o3 reasoning with chain-of-thought
response = client.chat.completions.create(
    model="o3-reasoning",
    messages=[
        {"role": "system", "content": "You are an expert problem solver. Show your reasoning step-by-step."},
        {"role": "user", "content": "If a train travels 120 km in 2 hours, then speeds up to travel 180 km in the next 2 hours, what is the average speed for the entire journey?"}
    ],
    max_tokens=2000,
    temperature=0.2  # Lower temperature for reasoning tasks
)

print(response.choices[0].message.content)
Python SDK(支持 1M 上下文的 GPT-4.1)
# Read a large document
with open('large_document.txt', 'r') as f:
    document = f.read()

# GPT-4.1 can handle up to 1M tokens
response = client.chat.completions.create(
    model="gpt-4-1",
    messages=[
        {"role": "system", "content": "You are a document analysis expert."},
        {"role": "user", "content": f"Analyze this document and provide key insights:\n\n{document}"}
    ],
    max_tokens=4000
)

print(response.choices[0].message.content)
图像生成(GPT-image-1)
# Generate image with DALL-E 3 successor
response = client.images.generate(
    model="image-gen",
    prompt="A futuristic city with flying cars and vertical gardens, cyberpunk style, highly detailed, 4K",
    size="1024x1024",
    quality="hd",
    n=1
)

image_url = response.data[0].url
print(f"Generated image: {image_url}")
视频生成(Sora)
# Generate video with Sora
response = client.videos.generate(
    model="sora",
    prompt="A serene lakeside at sunset with birds flying overhead and gentle waves on the shore",
    duration=10,  # seconds
    resolution="1080p",
    fps=30
)

video_url = response.data[0].url
print(f"Generated video: {video_url}")
音频转录
# Transcribe audio file
audio_file = open("meeting_recording.mp3", "rb")

response = client.audio.transcriptions.create(
    model="gpt-4o-transcribe",
    file=audio_file,
    language="en",
    response_format="verbose_json"
)

print(f"Transcription: {response.text}")
print(f"Duration: {response.duration}s")

# Speaker diarization
for segment in response.segments:
    print(f"[{segment.start}s - {segment.end}s] {segment.text}")

Azure AI Foundry 集成

模型路由器(自动选择模型)
from azure.ai.foundry import ModelRouter

# Initialize model router
router = ModelRouter(
    endpoint=os.getenv("AZURE_OPENAI_ENDPOINT"),
    credential=os.getenv("AZURE_OPENAI_API_KEY")
)

# Automatically select optimal model
response = router.complete(
    prompt="Analyze this complex scientific paper...",
    optimization_goals=["quality", "cost"],
    available_models=["gpt-5", "gpt-5-mini", "gpt-4-1"]
)

print(f"Selected model: {response.model_used}")
print(f"Response: {response.content}")
print(f"Cost: ${response.cost}")

优势:

  • 根据提示词复杂度自动选择模型
  • 平衡质量与成本
  • 在保持质量的同时,最多可降低 40% 的成本
Agentic 检索(Azure AI Search 集成)
from azure.search.documents import SearchClient
from azure.core.credentials import AzureKeyCredential

# Initialize search client
search_client = SearchClient(
    endpoint=os.getenv("SEARCH_ENDPOINT"),
    index_name="documents",
    credential=AzureKeyCredential(os.getenv("SEARCH_KEY"))
)

# Agentic retrieval with Azure OpenAI
response = client.chat.completions.create(
    model="gpt-5",
    messages=[
        {"role": "system", "content": "You have access to a document search system."},
        {"role": "user", "content": "What are the company's revenue projections for Q3?"}
    ],
    tools=[{
        "type": "function",
        "function": {
            "name": "search_documents",
            "description": "Search company documents",
            "parameters": {
                "type": "object",
                "properties": {
                    "query": {"type": "string", "description": "Search query"}
                },
                "required": ["query"]
            }
        }
    }],
    tool_choice="auto"
)

# Process tool calls
if response.choices[0].message.tool_calls:
    for tool_call in response.choices[0].message.tool_calls:
        if tool_call.function.name == "search_documents":
            query = json.loads(tool_call.function.arguments)["query"]
            results = search_client.search(query)
            # Feed results back to model for final answer

改进:

  • 处理复杂的多部分问题时,效果提升 40%
  • 自动分解查询
  • 相关性排序
  • 生成引用
Foundry 可观测性(预览版)
from azure.ai.foundry import FoundryObservability

# Enable observability
observability = FoundryObservability(
    workspace_id=os.getenv("AI_FOUNDRY_WORKSPACE_ID"),
    enable_tracing=True,
    enable_metrics=True
)

# Monitor agent execution
with observability.trace_agent("customer_support_agent") as trace:
    response = client.chat.completions.create(
        model="gpt-5",
        messages=messages
    )

    trace.log_tool_call("search_kb", {"query": "refund policy"})
    trace.log_reasoning_step("Retrieved refund policy document")
    trace.log_token_usage(response.usage.total_tokens)

# View in Azure AI Foundry portal:
# - End-to-end trace logs
# - Reasoning steps and tool calls
# - Performance metrics
# - Cost analysis

容量和配额管理

检查配额
# List deployments with usage
az cognitiveservices account deployment list \
  --resource-group MyRG \
  --name myopenai \
  --output table

# Check usage metrics
az monitor metrics list \
  --resource $(az cognitiveservices account show -g MyRG -n myopenai --query id -o tsv) \
  --metric "TokenTransaction" \
  --start-time 2025-01-01T00:00:00Z \
  --end-time 2025-01-31T23:59:59Z \
  --interval PT1H \
  --aggregation Total
更新容量
# Scale up deployment capacity
az cognitiveservices account deployment update \
  --resource-group MyRG \
  --name myopenai \
  --deployment-name gpt-5 \
  --sku-capacity 200

# Scale down during off-peak
az cognitiveservices account deployment update \
  --resource-group MyRG \
  --name myopenai \
  --deployment-name gpt-5 \
  --sku-capacity 50
申请提高配额
  1. 导航至 Azure Portal → Azure OpenAI 资源
  2. 打开“Quotas”窗格
  3. 选择模型和区域
  4. 点击“Request quota increase”
  5. 提供申请理由和目标容量

安全和网络

专用终结点
# Create private endpoint
az network private-endpoint create \
  --name openai-private-endpoint \
  --resource-group MyRG \
  --vnet-name MyVNet \
  --subnet PrivateEndpointSubnet \
  --private-connection-resource-id $(az cognitiveservices account show -g MyRG -n myopenai --query id -o tsv) \
  --group-id account \
  --connection-name openai-connection

# Create private DNS zone
az network private-dns zone create \
  --resource-group MyRG \
  --name privatelink.openai.azure.com

# Link to VNet
az network private-dns link vnet create \
  --resource-group MyRG \
  --zone-name privatelink.openai.azure.com \
  --name openai-dns-link \
  --virtual-network MyVNet \
  --registration-enabled false

# Create DNS zone group
az network private-endpoint dns-zone-group create \
  --resource-group MyRG \
  --endpoint-name openai-private-endpoint \
  --name default \
  --private-dns-zone privatelink.openai.azure.com \
  --zone-name privatelink.openai.azure.com
托管标识访问
# Enable system-assigned identity
az cognitiveservices account identity assign \
  --name myopenai \
  --resource-group MyRG

# Grant role to managed identity
PRINCIPAL_ID=$(az cognitiveservices account show -g MyRG -n myopenai --query identity.principalId -o tsv)

az role assignment create \
  --assignee $PRINCIPAL_ID \
  --role "Cognitive Services OpenAI User" \
  --scope /subscriptions/<sub-id>/resourceGroups/MyRG
内容筛选
# Configure content filtering
az cognitiveservices account update \
  --name myopenai \
  --resource-group MyRG \
  --set properties.customContentFilter='{
    "hate": {"severity": "medium", "enabled": true},
    "violence": {"severity": "medium", "enabled": true},
    "sexual": {"severity": "medium", "enabled": true},
    "selfHarm": {"severity": "high", "enabled": true}
  }'

成本优化、监控和警报

有关 Azure OpenAI 部署的详细成本优化策略、token 预算、配额感知路由、Azure Monitor 指标、Log Analytics 查询和警报规则,请参阅 references/cost-monitoring.md。在控制支出或配置生产环境可观测性时,请加载该参考文档。

最佳实践

✓ 使用 Model Router 自动优化成本 ✓ 实施缓存,减少重复请求 ✓ 监控令牌用量并设置预算 ✓ 在生产工作负载中使用专用终结点 ✓ 启用托管标识,而非使用 API 密钥 ✓ 配置内容筛选以确保安全 ✓ 根据实际需求合理调整容量 ✓ 使用 Foundry Observability 进行监控 ✓ 实施重试逻辑并采用指数退避 ✓ 根据任务复杂度选择合适的模型

参考资料

借助 GPT-5 和推理模型,Azure OpenAI Service 将企业级 AI 带入您的应用!

评论

支持 Markdown