בחר נקודת קצה ו-SDK

הושלם

Microsoft Foundry מספקת גמישות לפיתוח יישומי צ'אט גנרטיביים ב-AI. לפני שמתחילים בפיתוח, חשוב להבין את האפשרויות הקיימות ואיך להחליט אילו מהן להשתמש. כמה שיקולים לפיתוח יישום כוללים:

  • נקודות קצה: פרויקטים של Microsoft Foundry מספקים שתי נקודות קצה שאפשר להשתמש בהן כדי להתחבר לצרוך נכסי פרויקט, כמו פריסות מודלים, מתוך יישומי לקוח. לכל פרויקט יש גם נקודת קצה פרויקט וגם נקודת קצה Azure OpenAI.
  • Client SDK: בהתאם לנקודת הקצה שתבחר, תוכל לבחור להשתמש ב-Microsoft Foundry SDK או ב-OpenAI SDK כדי לפתח אפליקציית צ'אט גנרטיבי בינה מלאכותית. שני SDKs תומכים באובייקט לקוח תואם API ל-OpenAI שיכול להגיש פקודות למודלים, אך קיימים הבדלים מסוימים בפונקציונליות הספציפית הזמינה בכל SDK.
  • אימות: בהתאם לנקודת הקצה ול-SDK שתבחרו להשתמש, ישנן מספר דרכים שבהן ניתן לאמת אפליקציית לקוח על ידי Foundry כדי לקבל גישה לנכסים. באופן כללי, יישומי ייצור צריכים להשתמש באימות Microsoft Entra ID , שמחייב שהיישום ירוץ בהקשר של זהות מסוימת; אבל במצבים מסוימים אפשר גם להשתמש באימות מבוסס מפתחות או טוקנים .
  • Chat API: ה-API של לקוח OpenAI תומך בשני ממשקי צ'אט: ChatPletionsו-Responses. בעוד שממשק ה-Responses מומלץ לרוב פרויקטי הפיתוח החדשים, ממשק ChatCompleteions מבוסס היטב ותואם למודלים ופלטפורמות של בינה מלאכותית גנרטיבית.

בואו נתחיל בבחינת נקודות הקצה הזמינות, ערכות SDK ללקוח ושיטות אימות – נחקור את ממשקי ה-API של Responses ו-ChatCompletions בהמשך.

שימוש ב-SDK של Foundry עם נקודת הסיום של הפרויקט

ה-SDK של Microsoft Foundry מספק גישה תכנותית למשאבים בפרויקטים שלך דרך API של REST וספריות לקוח ייחודיות לשפה; כולל:

הערה

מודול זה משתמש בדוגמאות קוד בפייתון למשימות נפוצות. אתה יכול לפנות לתיעוד SDK הספציפי לשפה עבור קוד מקביל בשפה המועדפת עליך. כל SDK מפותח ומתוחזק באופן עצמאי, כך שחלק מהפונקציונליות עשויה להיות בשלבים שונים של המימוש.

התקנת ה-SDK

כדי להשתמש בספריית Azure AI Projects בפייתון, התקן את חבילת azure-ai-projects מ-PyPI יחד עם חבילות תומכות:

pip install azure-ai-projects azure-identity openai

הערה

כאשר משתמשים ב-Foundry SDK לפיתוח אפליקציית צ'אט, יש גם לייבא את חבילת OpenAI SDK - פונקציונליות לקוח הצ'אט ב-Foundry SDK נגזרת מ-OpenAI SDK.

חיבור לנקודת הקצה של הפרויקט

לכל project Foundry יש נקודת קצה ייחודית שניתן למצוא בעמוד Overview של project בפורטל Foundry בכתובת 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-native שאין להן מקבילים ב-OpenAI. השתמש בלקוח project כדי:

  • שליפת חיבורי משאבים
  • תצורת פרויקט גישה
  • אפשר מעקב
  • ניהול מערכי נתונים ואינדקסים

יצירת לקוח צ'אט

כדי לשוחח עם מודל בפרויקט Foundry שלך, אתה צריך אובייקט לקוח תואם OpenAI. אתה יכול להשתמש במתודה get_openai_client() של לקוח הפרויקט כדי לקבל אחד, כמו זה:

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

לאחר מכן תוכל להשתמש באובייקט של לקוח הצ'אט הזה כדי לשלוח הנחיות למודלים ולהחזיר תגובות.

שימוש ב-OpenAI SDK עם נקודת הקצה Azure OpenAI

OpenAI SDK הוא ספריית הלקוח הרשמית לקריאה ל-OpenAI API. הוא מטפל בבקשות HTTP, אימות, חזרות וניתוח תגובה. ה-SDK עובד עם מודלים מאוחסנים על ידי 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/"
)

חשוב

השתמש במפתחות API בזהירות. אחסן אותם בצורה מאובטחת ב-Azure Key Vault ולעולם אל תכלול אותם ישירות בקוד שלך.

משתני סביבה:

אם אתה מגדיר OPENAI_BASE_URL משתני סביבה OPENAI_API_KEY , הלקוח משתמש בהם אוטומטית:

from openai import OpenAI

openai_client = OpenAI()  # Uses environment variables

לא משנה איך תבחרו לאמות, לקוח OpenAI מטפל בפעולות הסקת המודלים. השתמש בזה ל:

  • יצירת תגובות באמצעות ממשק ה-API של תגובות
  • השלמות צ'אט ויצירת תמונות
  • גישה למודלים ישירים של Foundry (מודלים שאינם Azure OpenAI)

שימוש באובייקט לקוח AzureOpenAI

בדרך כלל כדאי להשתמש באובייקט הלקוח של OpenAI כדי לשוחח עם מודלים דרך נקודת הקצה Azure OpenAI v1. עם זאת, יש לך גם אפשרות ליצור אובייקט לקוח AzureOpenAI אם אתה צריך להשתמש בפונקציונליות מגרסה מסוימת של API 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 SDK ל-OpenAI SDK

Microsoft Foundry תומכת בשתי גישות לבניית יישומי בינה מלאכותית. כל אחת משרתת מטרות שונות, והבנה מתי להשתמש בכל אחת עוזרת לך לבנות את הפתרון הנכון.

מתי להשתמש ב-SDK של Foundry

השתמש ב-SDK של Foundry כאשר האפליקציה שלך זקוקה ליכולות ייחודיות ל-Foundry:

  • שירות סוכני היציקה לבניית וניהול סוכני בינה מלאכותית
  • קריאות ואישור כלים
  • הערכות ענן לבדיקה ואימות תגובות בינה מלאכותית
  • מעקב ותצפית למעקב אחר התנהגות היישום
  • מודלים ישירים של Foundry (מודלים שאינם Azure OpenAI הזמינים דרך קטלוג המודלים)
  • מטא-דאטה, חיבורים ותכונות ממשל של הפרויקט

מיקרוסופט ממליצה על ערכת פיתוח הפיתוח של Foundry בעת בניית אפליקציות עם סוכנים, הערכות או תכונות ייחודיות ל-Foundry.

מתי להשתמש ב-OpenAI SDK

השתמש ב-SDK של OpenAI כשאתה צריך תאימות מרבית ל-API של OpenAI:

  • תאימות מלאה ל-OpenAI API עבור קוד וכלים קיימים
  • ניידות בין פריסות OpenAI ו-Azure OpenAI
  • השלמות צ'אט, תגובות ותמונות ממשקי API
  • תלות מינימלית במושגים ייחודיים ל-Foundry

ערכת הפיתוח של OpenAI אידיאלית לעומסי עבודה בהסקת מודלים שבהם רוצים שקוד OpenAI קיים יעבוד עם שינויים מינימליים. עם זאת, גישה זו אינה מספקת תכונות ייחודיות ל-Foundry כמו סוכנים או הערכות.

Microsoft Foundry נותן לך גמישות בבניית יישומי בינה מלאכותית. השתמש ב-SDK של Foundry כשאתה AIProjectClient צריך תכונות ברמת פרויקט כמו סוכנים, הערכות, מעקב וחיבורים. השתמש ב-SDK של OpenAI כשאתה צריך הסקת מודלים פשוטה עם תאימות מקסימלית ל-OpenAI. שני ה-SDK עובדים עם נקודת הקצה של פרויקט Foundry שלך, כך שתוכל לשלב אותם לפי הצורך באפליקציות שלך. ניתן גם להשתמש בשני SDKs יחד באותו יישום—Foundry SDK לתכונות פרויקט ו-OpenAI SDK להסקת מודלים.