اختر نقطة نهاية وSDK

مكتمل

نصيحة

راجع علامة التبويب النص والصور لمزيد من التفاصيل!

توفر Microsoft Foundry مرونة لتطوير تطبيقات دردشة الذكاء الاصطناعي التوليدية. قبل أن تبدأ التطوير، من المهم أن تفهم الخيارات المتاحة، وكيفية تحديد أي منها تستخدم. بعض الاعتبارات عند تطوير التطبيق تشمل:

  • نقاط النهاية: توفر مشاريع مايكروسوفت فاوندري نقطتي نهاية يمكنك استخدامهما للاتصال واستهلاك أصول المشروع، مثل نشر النماذج، من تطبيقات العميل. كل مشروع يحتوي على نقطة نهاية مشروعونقطة نهاية Azure OpenAI.
  • حزمة تطوير البرمجيات للعميل: اعتمادا على النقطة النهائية التي تختارها، يمكنك اختيار استخدام حزمة تطوير تطوير Microsoft Foundry أوOpenAI لتطوير تطبيق دردشة ذكاء اصطناعي توليدي. تدعم كلتا حزمتي SDK كائن عميل متوافق مع OpenAI API يمكنه إرسال التنبيهات إلى النماذج، لكن هناك بعض الاختلافات في الوظائف المحددة المتاحة في كل SDK.
  • المصادقة: اعتمادا على نقطة النهاية وSDK التي تختار استخدامها، هناك عدة طرق يمكن من خلالها التحقق من تطبيق العميل بواسطة Foundry للحصول على حق الوصول إلى الأصول. بشكل عام، يجب أن تستخدم تطبيقات الإنتاج مصادقة Microsoft Entra ID ، والتي تتطلب تشغيل التطبيق في سياق هوية محددة؛ لكن في بعض السيناريوهات يمكنك أيضا استخدام المصادقة القائمة على المفاتيح أو الرمز .
  • واجهة برمجة تطبيقات الدردشة: تدعم واجهة برمجة تطبيقات عميل OpenAI واجهتي دردشة: إكمال الدردشةوالاستجابات. بينما يوصى بواجهة برمجة تطبيقات الاستجابات لمعظم مشاريع التطوير الجديدة، فإن واجهة ChatCompleteions متوافقة ومتوافقة مع العديد من نماذج ومنصات الذكاء الاصطناعي التوليدي.

لنبدأ بالنظر في نقاط النهاية المتاحة، ومجموعات تطوير البرمجيات الخاصة بالعميل، وطرق المصادقة - سنستكشف لاحقا واجهات برمجة التطبيقات Responses وChatCompletes.

استخدام مجموعة تطوير البرمجيات الخاصة ب Foundry مع نقطة نهاية المشروع

توفر حزمة تطوير تطوير ميزات Microsoft Foundry وصولا برمجيا إلى الموارد في مشاريعك من خلال واجهة برمجة تطبيقات REST ومكتبات عملاء خاصة باللغات؛ بما في ذلك:

‏‫ملاحظة‬

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

تثبيت SDK

لاستخدام مكتبة مشاريع الذكاء الاصطناعي Azure بلغة بايثون، قم بتثبيت حزمة azure-ai-projects من PyPI مع الحزم الداعمة:

pip install azure-ai-projects azure-identity openai

‏‫ملاحظة‬

عند استخدام حزمة تطوير Foundry SDK لتطوير تطبيق دردشة، تحتاج أيضا إلى استيراد حزمة OpenAI SDK - حيث أن وظيفة عميل الدردشة في Foundry SDK مشتقة من OpenAI SDK.

الاتصال بنقطة نهاية المشروع

لكل project مسبك نقطة نهاية فريدة يمكنك العثور عليها في صفحة project نظرة عامة في بوابة المصنع على https://ai.azure.com.

يتبع نقطة نهاية project هذا الصيغة:

https://{resource-name}.services.ai.azure.com/api/projects/<project-name>

استخدم هذه النقطة النهائية لإنشاء كائن AIProjectClient :

from azure.identity import DefaultAzureCredential
from azure.ai.projects import AIProjectClient

project_endpoint = "https://{resource-name}.services.ai.azure.com/api/projects/<project-name>"
project_client = AIProjectClient(
    credential=DefaultAzureCredential(),
    endpoint=project_endpoint
)

‏‫ملاحظة‬

يستخدم الكود بيانات اعتماد Azure الافتراضية للمصادقة. لتمكين هذا المصادقة، تحتاج إلى تثبيت حزمة azure-identity (كما ظهرت في أمر التثبيت سابقا).

نصيحة

لكي يتم access إلى project بنجاح، يجب أن يعمل الكود في جلسة Azure مصدقة. على سبيل المثال، يمكنك استخدام أمر Azure CLI az login لتسجيل الدخول قبل تشغيل الكود.

يوفر عميل المشروع (AIProjectClient) الوصول إلى عمليات أصلية في Foundry لا تملك مكافئات OpenAI. استخدم عميل project ل:

  • استرجاع اتصالات الموارد
  • تكوين مشروع الوصول
  • تمكين التتبع
  • إدارة مجموعات البيانات والفهارس

إنشاء عميل دردشة

للدردشة مع نموذج في مشروع Foundry الخاص بك، تحتاج إلى كائن عميل متوافق مع OpenAI. يمكنك استخدام طريقة get_openai_client() لعميل المشروع للحصول على واحد، مثل هذا:

openai_client = project_client.get_openai_client(api_version="2024-10-21")

يمكنك بعد ذلك استخدام كائن عميل الدردشة هذا لإرسال الطلبات إلى النماذج وإرجاع الردود.

استخدام حزمة تطوير البرمجيات OpenAI مع نقطة نهاية Azure OpenAI

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

تثبيت SDK

لاستخدام مكتبة OpenAI في بايثون، قم بتثبيت حزمة openai من PyPI مع الحزم الداعمة:

pip install openai azure-identity

‏‫ملاحظة‬

حزمة azure-identity مطلوبة إذا كنت تنوي استخدام المصادقة المعتمدة على الرموز للاتصال بنقطة النهاية باستخدام بيانات Microsoft Entra ID.

الاتصال بنقطة نهاية Azure OpenAI

يتضمن كل مشروع Foundry نقطة نهاية Azure OpenAI يمكنك العثور عليها في صفحة النظرة العامة للمشروع في بوابة Foundry على https://ai.azure.com.

تتبع نقطة نهاية Azure OpenAI هذا التنسيق:

https://{resource-name}.openai.azure.com/openai/v1

أنشئ عميل OpenAI باستخدام نقطة النهاية وبيانات اعتماد Azure:

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

openai_client = OpenAI(  
  base_url = "https://{resource-name}.openai.azure.com/openai/v1/",  
  api_key=token_provider,
)

بالإضافة إلى Microsoft Entra ID (موصى به)، يمكنك المصادقة باستخدام مفتاح API أو متغيرات البيئة.

مصادقة مفاتيح API:

import os
from openai import OpenAI

openai_client = OpenAI(
    api_key=os.getenv("AZURE_OPENAI_API_KEY"),
    base_url="https://{resource-name}.openai.azure.com/openai/v1/"
)

مهم

استخدم مفاتيح واجهة برمجة التطبيقات بحذر. خزنها بأمان في Azure Key Vault ولا تدرجها مباشرة في الكود الخاص بك.

متغيرات البيئة:

إذا قمت بتعيين OPENAI_BASE_URLOPENAI_API_KEY متغيرات البيئة، سيستخدمها العميل تلقائيا:

from openai import OpenAI

openai_client = OpenAI()  # Uses environment variables

بغض النظر عن كيفية اختيارك للتوثيق، يتولى عميل OpenAI عمليات استنتاج النماذج. استخدمه من أجل:

  • توليد الردود باستخدام واجهة برمجة تطبيقات الاستجابات
  • إكمال المحادثات وتوليد الصور
  • الوصول إلى نماذج Foundry المباشرة (نماذج غير Azure OpenAI)

استخدام كائن عميل AzureOpenAI

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

import os
from openai import AzureOpenAI

openai_client = AzureOpenAI(
    azure_endpoint = "https://{resource-name}.openai.azure.com"
    api_key=os.getenv("AZURE_OPENAI_KEY"),  
    api_version="2024-10-21",
)

الاختيار بين مجموعة تطوير تطوير Foundry وحزمة تطوير OpenAI

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

متى تستخدم مجموعة تطوير البرمجيات الخاصة ب Foundry

استخدم حزمة تطوير البرمجيات الخاصة ب Foundry عندما يحتاج تطبيقك إلى قدرات خاصة ب Foundry:

  • خدمة وكلاء المسبك لبناء وإدارة وكلاء الذكاء الاصطناعي
  • سير عمل استدعاء الأدوات والموافقة
  • تقييمات السحابة لاختبار والتحقق من استجابات الذكاء الاصطناعي
  • التتبع والملاحظة لمراقبة سلوك التطبيقات
  • نماذج Foundry المباشرة (نماذج غير Azure OpenAI المتوفرة من خلال كتالوج النماذج)
  • بيانات المشروع، الاتصالات، وميزات الحوكمة

توصي مايكروسوفت ب Foundry SDK عند بناء تطبيقات تحتوي على وكلاء أو تقييمات أو ميزات خاصة ب Foundry.

متى تستخدم حزمة تطوير البرمجيات OpenAI

استخدم حزمة تطوير البرمجيات OpenAI عندما تحتاج إلى أقصى توافق مع واجهة OpenAI:

  • التوافق الكامل مع OpenAI API للكود والأدوات الحالية
  • قابلية النقل بين نشرات OpenAI وAzure OpenAI
  • إكمال المحادثات، الردود، والصور واجهات برمجة التطبيقات
  • الاعتماد الأدنى على المفاهيم الخاصة ب Foundry

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

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