Skip to content

Azure OpenAI

Azure OpenAI 服务提供了强大的 AI 能力,可以通过 OpenAI 兼容的 API 来访问 GPT 模型。

支持的模型

  • gpt-4o - 最新的 GPT-4 优化版本
  • gpt-4 - GPT-4 标准版
  • gpt-4-32k - 长上下文版本
  • gpt-35-turbo - GPT-3.5 Turbo
  • gpt-35-turbo-16k - 长上下文版本

配置方法

基础配置

config.yaml~/.bytebuddy/config.yaml 中配置:

yaml
models:
  - name: "azure-gpt-4"
    provider: "azure"
    model: "gpt-4"
    apiKey: "${AZURE_OPENAI_API_KEY}"
    apiBase: "https://your-resource.openai.azure.com/"
    roles: ["chat", "edit"]
    env:
      deploymentName: "gpt-4-deployment"
      apiVersion: "2024-02-15-preview"
    defaultCompletionOptions:
      temperature: 0.7
      maxTokens: 4000

多模型配置

yaml
models:
  - name: "azure-gpt-4"
    provider: "azure"
    model: "gpt-4"
    apiKey: "${AZURE_OPENAI_API_KEY}"
    apiBase: "https://your-resource.openai.azure.com/"
    roles: ["chat", "edit"]
    env:
      deploymentName: "gpt4-deployment"
      apiVersion: "2024-02-15-preview"
    defaultCompletionOptions:
      temperature: 0.7
      maxTokens: 4000

  - name: "azure-gpt-35-turbo"
    provider: "azure"
    model: "gpt-35-turbo"
    apiKey: "${AZURE_OPENAI_API_KEY}"
    apiBase: "https://your-resource.openai.azure.com/"
    roles: ["chat"]
    env:
      deploymentName: "gpt35-turbo-deployment"
      apiVersion: "2024-02-15-preview"
    defaultCompletionOptions:
      temperature: 0.5
      maxTokens: 4000

配置字段说明

必需字段

  • name: 模型配置的唯一标识符
  • provider: 设置为 "azure"
  • model: 模型名称(如 gpt-4gpt-35-turbo
  • apiKey: Azure OpenAI API 密钥
  • apiBase: Azure OpenAI 资源端点

环境变量配置 (env)

Azure 需要通过 env 字段配置特定参数:

  • deploymentName: 部署名称(在 Azure 门户中创建)
  • apiVersion: API 版本(推荐 2024-02-15-preview
  • resourceName: 资源名称(可选)

可选字段

  • roles: 模型角色 [chat, edit, apply, autocomplete]
  • defaultCompletionOptions:
    • temperature: 控制输出的随机性(0-2)
    • maxTokens: 最大令牌数
    • topP: 核采样参数
    • frequencyPenalty: 频率惩罚
    • presencePenalty: 存在惩罚
  • requestOptions:
    • timeout: 请求超时时间(毫秒)
    • verifySsl: 是否验证 SSL 证书

环境变量配置

bash
# ~/.bashrc 或 ~/.zshrc
export AZURE_OPENAI_API_KEY="your-azure-api-key"

获取 API 密钥

  1. 登录 Azure 门户
  2. 创建或找到您的 Azure OpenAI 资源
  3. 在"密钥和终结点"部分获取 API 密钥和端点
  4. 在"部署"部分创建模型部署
  5. 记录部署名称用于配置

使用场景配置

代码开发

yaml
models:
  - name: "code-assistant"
    provider: "azure"
    model: "gpt-4"
    apiKey: "${AZURE_OPENAI_API_KEY}"
    apiBase: "https://your-resource.openai.azure.com/"
    roles: ["chat", "edit"]
    env:
      deploymentName: "gpt4-deployment"
      apiVersion: "2024-02-15-preview"
    defaultCompletionOptions:
      temperature: 0.1
      maxTokens: 2000

快速对话

yaml
models:
  - name: "quick-chat"
    provider: "azure"
    model: "gpt-35-turbo"
    apiKey: "${AZURE_OPENAI_API_KEY}"
    apiBase: "https://your-resource.openai.azure.com/"
    roles: ["chat"]
    env:
      deploymentName: "gpt35-deployment"
      apiVersion: "2024-02-15-preview"
    defaultCompletionOptions:
      temperature: 0.7
      maxTokens: 2000

故障排除

常见错误

  1. 401 Unauthorized: 检查 API 密钥是否正确
  2. 404 Not Found: 验证部署名称、资源端点和 API 版本
  3. 429 Too Many Requests: 达到速率限制,等待后重试
  4. DeploymentNotFound: 检查 deploymentName 是否正确

调试步骤

  1. 验证 API 密钥和端点 URL
  2. 确认部署名称在 Azure 门户中存在
  3. 检查 API 版本是否支持
  4. 确认配额和速率限制

最佳实践

1. 安全性

  • 使用环境变量存储 API 密钥
  • 定期轮换 API 密钥
  • 使用 Azure Key Vault 管理密钥

2. 性能优化

  • 根据任务选择合适的模型
  • 设置合理的 maxTokens 限制
  • 使用流式响应提升用户体验

3. 成本控制

  • 监控使用量和成本
  • 为不同用途配置不同的部署
  • 使用 GPT-3.5 Turbo 处理简单任务

4. 配置管理

  • 为不同环境使用不同的部署
  • 配置适当的速率限制
  • 实施重试逻辑处理临时错误