Azure OpenAI в API Microsoft Foundry Models версии 1 (классическая версия)

В настоящее время просмотр:Версия портала Foundry (классическая версия) - Переключиться на версию для нового портала Foundry

Примечание

Содержание в новой документации Microsoft Foundry может открываться по ссылкам в этой статье вместо документации Foundry (классической версии), которую вы просматриваете сейчас.

В этой статье показано, как использовать API OpenAI версии 1 Azure. API версии 1 упрощает проверку подлинности, удаляет потребность в устаревших api-version параметрах и поддерживает вызовы модели между поставщиками.

Примечание

Новые объекты ответа API могут добавляться в ответ API в любое время. Рекомендуется анализировать только необходимые объекты ответа.

Необходимые условия

Эволюция API

Ранее Azure OpenAI получила ежемесячные обновления новых версий API. Воспользоваться новыми функциями требовало постоянного обновления кода и переменных среды с каждым новым выпуском API. Azure OpenAI также требует дополнительного этапа использования специфических клиентов Azure, вносящих дополнительные накладные расходы при переносе кода между OpenAI и Azure OpenAI.

Начиная с августа 2025 г. вы можете принять участие в следующем поколении версии 1 Azure API OpenAI, которые добавляют поддержку:

  • Постоянный доступ к новейшим функциям без необходимости указывать новые api-version каждый месяц.
  • Более быстрый цикл выпуска API с новыми функциями, запускаемыми чаще.
  • Поддержка клиента OpenAI с минимальными изменениями кода для переключения между OpenAI и Azure OpenAI при использовании проверки подлинности на основе ключей.
  • Поддержка клиента OpenAI для аутентификации на основе токенов и автоматического обновления токенов без необходимости зависеть от отдельного клиента Azure OpenAI.
  • Используйте модели других поставщиков, таких как DeepSeek и Grok, которые поддерживают синтаксис завершения чата версии 1, для вызовов завершения чата.

Доступ к новым вызовам API, которые по-прежнему находятся в предварительной версии, будет контролироваться путем передачи определенных заголовков предварительной версии функций, позволяющих использовать нужные функции без необходимости переключать версии API. Кроме того, некоторые функции будут указывать состояние предварительного просмотра через путь к API и не требуют дополнительного заголовка.

Примеры:

  • Когда /openai/v1/evals был в предварительной версии, требовалась передача заголовка "aoai-evals":"preview". /evals больше не находится в предварительной версии.
  • /openai/v1/fine_tuning/alpha/graders/ находится в предварительной версии и не требует пользовательского заголовка из-за наличия alpha в пути API.

Для первоначального запуска API версии 1 (GA) поддерживается только ограниченный набор возможностей API для предсказания и создания. Все GA-функции поддерживаются для использования в производственной среде. Быстро внедряется поддержка дополнительных возможностей.

Изменения кода

API версии 1

примеры Python версии 1

Ключ API:

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.getenv("AZURE_OPENAI_API_KEY"),
    base_url="https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/"
)

response = client.responses.create(   
  model="gpt-4.1-nano", # Replace with your model deployment name 
  input="This is a test.",
)

print(response.model_dump_json(indent=2)) 

Основные отличия от предыдущего API:

  • OpenAI() клиент используется вместо AzureOpenAI().
  • base_url передает конечную точку OpenAI Azure и /openai/v1 добавляется к адресу конечной точки.
  • api-version больше не является обязательным параметром с API общедоступной версии 1.

Ключ API с переменными среды:

Задайте следующие переменные среды перед выполнением кода:

Переменная Значение
OPENAI_BASE_URL https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/
OPENAI_API_KEY Ключ API Azure OpenAI

Затем создайте клиент без параметров:

client = OpenAI()

Microsoft Entra ID:

Важно

Обработка автоматического обновления токенов AzureOpenAI() ранее происходила с использованием клиента. API версии 1 устраняет эту зависимость, добавляя поддержку автоматического обновления токенов в клиенте OpenAI().

from openai import OpenAI
from azure.identity import DefaultAzureCredential, get_bearer_token_provider

token_provider = get_bearer_token_provider(
    DefaultAzureCredential(), "https://ai.azure.com/.default"
)

client = OpenAI(  
  base_url = "https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",  
  api_key = token_provider  
)

response = client.responses.create(
    model="gpt-4.1-nano",
    input= "This is a test" 
)

print(response.model_dump_json(indent=2)) 
  • base_url передает конечную точку OpenAI Azure и /openai/v1 добавляется к адресу конечной точки.
  • api_key параметр устанавливается в token_provider, что позволяет автоматически извлекать и обновлять токен аутентификации вместо использования статического API-ключа.

Поддержка модели

Для моделей OpenAI Azure мы рекомендуем использовать API Responses API, однако API версии 1 также позволяет выполнять вызовы завершения чата с моделями других поставщиков, таких как DeepSeek и Grok, которые поддерживают синтаксис завершения чата OpenAI версии 1.

base_url будет принимать оба https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/ формата и https://YOUR-RESOURCE-NAME.services.ai.azure.com/openai/v1/ форматы.

Примечание

API для ответов также работает с моделями Foundry, проданными непосредственно через Azure, такими как модели Microsoft AI, DeepSeek и Grok. Сведения об использовании API ответов с этими моделями см. в статье How to create text responses with Microsoft Foundry Models.

from openai import OpenAI
from azure.identity import DefaultAzureCredential, get_bearer_token_provider

token_provider = get_bearer_token_provider(
    DefaultAzureCredential(), "https://ai.azure.com/.default"
)

client = OpenAI(  
  base_url = "https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",  
  api_key=token_provider,
)
completion = client.chat.completions.create(
  model="MAI-DS-R1", # Replace with your model deployment name.
  messages=[
    {"role": "system", "content": "You are a helpful assistant."},
    {"role": "user", "content": "Tell me about the attention is all you need paper"}
  ]
)

#print(completion.choices[0].message)
print(completion.model_dump_json(indent=2))

Поддержка API версии 1

Журнал изменений версий API

В следующих разделах перечислены изменения между версиями API.

Изменения между предварительной версией версии 1 и 2025-04-01-preview

  • API предварительной версии 1
  • Поддержка создания видео
  • НОВЫЕ ФУНКЦИИ Функции API ответов:
    • Интеграция инструментов с серверами протокола контекста удаленной модели (MCP)
    • Поддержка асинхронных фоновых задач
    • Зашифрованные элементы логического мышления
    • Создание образа

Изменения между 2025-04-01-preview и 2025-03-01-preview

Изменения между 2025-03-01-preview и 2025-02-01-preview

Изменения между 2025-02-01-preview и 2025-01-01-preview

  • Хранимые результаты (поддержка API для дистилляции).

Изменения между 2025-01-01-preview и 2024-12-01-preview

Изменения между 2024-12-01-preview и 2024-10-01-preview

  • store, и metadata параметры, добавленные для поддержки хранимых операций завершения.
  • reasoning_effort добавлена последняя модель причин.
  • добавлен для интеграции Microsoft Defender для облака.

Изменения между 2024-09-01-preview и 2024-08-01-preview

  • max_completion_tokens добавлена поддержка моделей o1-preview и o1-mini. max_tokens не работает с моделями серии o1 .
  • parallel_tool_calls Добавили.
  • Добавлены completion_tokens_details и reasoning_tokens.
  • Добавлены stream_options и include_usage.

Изменения между спецификацией API 2024-07-01-preview и 2024-08-01-preview API

Изменения между спецификацией API 2024-05-01-preview и 2024-07-01-preview

Изменения в спецификации API между 2024-04-01-preview и 2024-05-01-preview

Изменения между спецификацией API 2024-03-01-preview и 2024-04-01-preview API

  • Критическое изменение: удалены параметры улучшения. Это влияет на модель gpt-4версии:vision-preview.
  • добавлен параметр timestamp_granularities.
  • добавлен объект audioWord.
  • Дополнительные TTS response_formats: wav & pcm.

Известные проблемы

  • Спецификация OpenAI 2025-04-01-preview Azure использует OpenAPI 3.1. Известно, что эта версия не полностью поддерживается Azure API Management.

Дальнейшие действия