Поделиться через


Azure OpenAI в API Microsoft Foundry Models версии 1

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

Замечание

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

Предпосылки

Эволюция API

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

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

  • Постоянный доступ к последним функциям без необходимости задавать новый 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 поддерживаются только подмножество возможностей api вывода и разработки. Все функции общедоступной версии доступны для использования в рабочей среде. Поддержка дополнительных возможностей быстро добавляется.

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

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 передает конечную точку Azure OpenAI и /openai/v1 добавляется к адресу конечной точки.
  • api-version больше не является обязательным параметром в API версии 1 GA.

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

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

Variable Ценность
OPENAI_BASE_URL https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/
OPENAI_API_KEY Ваш ключ API Azure OpenAI

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

client = OpenAI()

Идентификатор Microsoft Entra:

Это важно

Ранее автоматическое обновление токенов выполнялось с помощью 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 передает конечную точку Azure OpenAI и /openai/v1 добавляется к адресу конечной точки.
  • api_key параметр установлен на token_provider значение, что позволяет автоматически извлекать и обновлять токен аутентификации вместо использования статического ключа API.

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

Для моделей Azure OpenAI мы рекомендуем использовать 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 ответов с этими моделями см. в статье "Создание текстовых ответов с помощью моделей Microsoft Foundry".

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

Изменения между 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 отправки больших файлов.
  • В отношении ваших изменений данных:
    • Интеграция с Mongo DB.
    • role_information удален параметр.
    • rerank_score добавлен в объект ссылок.
    • Удален источник данных AML.
    • Улучшения интеграции векторизации поиска ИИ.

Изменения между спецификацией API 2024-05-01-preview и спецификацией API 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.

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

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

Дальнейшие шаги