مشاركة عبر


Azure OpenAI in Microsoft Foundry Models v1 API

توضح لك هذه المقالة كيفية استخدام واجهة برمجة التطبيقات v1 Azure OpenAI. تبسط واجهة برمجة التطبيقات v1 المصادقة، وتلغي الحاجة إلى معلمات مؤرخة api-version ، وتدعم استدعاءات نماذج عبر المزودين.

‏‫ملاحظة‬

قد تضاف كائنات استجابة API جديدة إلى استجابة API في أي وقت. نوصي بتحليل كائنات الاستجابة التي تحتاجها فقط.

المتطلبات المسبقه

تطور واجهة برمجة التطبيقات

في السابق، تلقى Azure OpenAI تحديثات شهرية لإصدارات واجهة برمجة التطبيقات الجديدة. يتطلب الاستفادة من الميزات الجديدة تحديث التعليمات البرمجية ومتغيرات البيئة باستمرار مع كل إصدار جديد من واجهة برمجة التطبيقات. تطلب Azure OpenAI أيضا الخطوة الإضافية لاستخدام عملاء Azure المحددين الذين أنشأوا حملا عند ترحيل التعليمات البرمجية بين OpenAI وAzure OpenAI.

بدءا من أغسطس 2025، يمكنك الاشتراك في واجهات برمجة التطبيقات من الجيل الأول من Azure OpenAI التي تضيف دعما ل:

  • الوصول المستمر إلى أحدث الميزات دون الحاجة إلى تحديد الميزات الجديدة api-versionكل شهر.
  • دورة إصدار أسرع لواجهة برمجة التطبيقات مع تشغيل ميزات جديدة بشكل متكرر.
  • دعم عميل OpenAI مع الحد الأدنى من تغييرات التعليمات البرمجية للتبديل بين OpenAI وAzure OpenAI عند استخدام المصادقة المستندة إلى المفتاح.
  • دعم عميل OpenAI للمصادقة المستندة إلى الرمز المميز والتحديث التلقائي للرمز المميز دون الحاجة إلى الاعتماد على عميل Azure OpenAI منفصل.
  • قم بإجراء مكالمات إكمال الدردشة مع نماذج من مزودين آخرين مثل DeepSeek و Grok ، والتي تدعم بناء جملة إكمال الدردشة v1.

سيتم التحكم في الوصول إلى استدعاءات واجهة برمجة التطبيقات الجديدة التي لا تزال قيد المعاينة عن طريق تمرير رؤوس المعاينة الخاصة بالميزات التي تسمح لك بالاشتراك في الميزات التي تريدها، دون الحاجة إلى تبديل إصدارات واجهة برمجة التطبيقات. بدلا من ذلك، ستشير بعض الميزات إلى حالة المعاينة من خلال مسار واجهة برمجة التطبيقات الخاصة بها ولا تتطلب عنوانا إضافيا.

أمثلة:

  • عندما /openai/v1/evals كان في المعاينة سابقا، كان يتطلب تمرير "aoai-evals":"preview" رأس. /evals لم يعد في مرحلة المعاينة.
  • /openai/v1/fine_tuning/alpha/graders/ في المعاينة ولا يتطلب أي رأس مخصص بسبب وجوده alpha في مسار واجهة برمجة التطبيقات.

في التشغيل الأولي لواجهة برمجة التطبيقات المتاحة عموما (GA) في الإصدار الأول، يتم دعم مجموعة فرعية فقط من قدرات الاستدلال وواجهة برمجة التطبيقات التأليفية. جميع ميزات GA مدعومة للاستخدام في الإنتاج. يتم إضافة دعم المزيد من القدرات بسرعة.

تغييرات التعليمات البرمجية

واجهة برمجة تطبيقات الإصدار 1

أمثلة على Python v1

مفتاح واجهة برمجة التطبيقات:

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)) 

الاختلافات الرئيسية عن واجهة برمجة التطبيقات السابقة:

  • OpenAI() يتم استخدام العميل بدلا من AzureOpenAI().
  • base_url يمرر نقطة نهاية Azure OpenAI ويتم /openai/v1 إلحاقه بعنوان نقطة النهاية.
  • api-version لم تعد معلمة مطلوبة مع واجهة برمجة تطبيقات الإصدار 1 GA.

مفتاح API مع متغيرات البيئة:

قم بتعيين المتغيرات البيئية التالية قبل تشغيل الكود:

المتغير قيمة
OPENAI_BASE_URL https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/
OPENAI_API_KEY مفتاح Azure OpenAI API الخاص بك

ثم أنشئ العميل بدون معلمات:

client = OpenAI()

معرف Microsoft Entra:

مهم

تمت معالجة التحديث التلقائي للرمز المميز سابقا من خلال استخدام AzureOpenAI() العميل. تزيل واجهة برمجة تطبيقات v1 هذه التبعية، عن طريق إضافة دعم تحديث الرمز المميز التلقائي إلى 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، مما يتيح الاسترداد التلقائي والتحديث لرمز المصادقة بدلا من استخدام مفتاح واجهة برمجة تطبيقات ثابت.

دعم النموذج

بالنسبة لنماذج Azure OpenAI، نوصي باستخدام واجهة برمجة تطبيقات الاستجابات، ومع ذلك، تتيح لك واجهة برمجة تطبيقات v1 أيضا إجراء مكالمات إكمال الدردشة مع نماذج من موفرين آخرين مثل DeepSeek وGrok التي تدعم بناء جملة إكمال الدردشة OpenAI v1.

base_url سوف تقبل كلا https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/ والتنسيقات https://YOUR-RESOURCE-NAME.services.ai.azure.com/openai/v1/ .

‏‫ملاحظة‬

تعمل واجهة برمجة تطبيقات Responses أيضا مع نماذج Foundry التي تباع مباشرة من قبل Azure، مثل Microsoft الذكاء الاصطناعي وDeepSeek ونماذج Grok. لتعلم كيفية استخدام واجهة برمجة تطبيقات الاستجابات مع هذه النماذج، راجع كيفية توليد ردود نصية باستخدام نماذج مايكروسوفت فاوندري.

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))

دعم واجهة برمجة تطبيقات الإصدار 1

سجل تغييرات إصدار API

تلخص الأقسام التالية التغيرات بين إصدارات واجهات برمجة التطبيقات.

التغييرات بين إصدار المعاينة v1 و2025-04-01-preview

التغييرات بين 2025-04-01-preview و2025-03-01-preview

التغييرات بين معاينة 2025-03-01 و2025-02-01-preview

التغييرات بين معاينة 2025-02-01 و2025-01-01-preview

  • إكمال التخزين (دعم واجهة برمجة التطبيقات التقطيرية).

التغييرات بين معاينة 2025-01-01 و2024-12-01-preview

التغييرات بين معاينة 2024-12-01 و2024-10-01-preview

التغييرات بين معاينة 2024-09-01 و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 الإضافة.

التغييرات بين 2024-07-01-preview ومواصفات واجهة برمجة التطبيقات 2024-08-01-preview

  • دعم المخرجات المنظمة.
  • تمت إضافة واجهة برمجة تطبيقات تحميل ملف كبير.
  • على تغييرات البيانات الخاصة بك:
    • دمج Mongo DB.
    • role_information تمت إزالة المعلمة.
    • rerank_score تمت إضافته إلى كائن الاقتباس.
    • تمت إزالة مصدر بيانات AML.
    • تحسينات تكامل الذكاء الاصطناعي Search vectorization.

التغييرات بين مواصفة واجهة برمجة التطبيقات 2024-05-01-preview و2024-07-01-Preview

التغييرات بين 2024-04-01-preview ومواصفات واجهة برمجة التطبيقات 2024-05-01-preview

التغييرات بين 2024-03-01-preview ومواصفات واجهة برمجة التطبيقات 2024-04-01-preview

المشكلات المعروفة

  • 2025-04-01-preview مواصفات Azure OpenAI تستخدم OpenAPI 3.1. من المعروف أن هذا الإصدار غير مدعوم بالكامل من قبل Azure API Management.

الخطوات التالية