Wybieranie punktu końcowego i zestawu SDK
Wskazówka
Aby uzyskać więcej szczegółów, zobacz kartę Tekst i obrazy .
Rozwiązanie Microsoft Foundry zapewnia elastyczność tworzenia generacyjnych aplikacji do czatów sztucznej inteligencji. Przed rozpoczęciem programowania ważne jest, aby zrozumieć dostępne opcje i zdecydować, które z nich użyć. Oto niektóre zagadnienia dotyczące tworzenia aplikacji:
- Punkty końcowe: projekty firmy Microsoft Foundry udostępniają dwa punkty końcowe, których można użyć do nawiązywania połączenia z elementami zawartości projektu i korzystania z nich, takich jak wdrożenia modelu, z aplikacji klienckich. Każdy projekt ma zarówno punkt końcowy projektu , jak i punkt końcowy usługi Azure OpenAI.
- Zestaw SDK klienta: w zależności od wybranego punktu końcowego możesz użyć zestawu Microsoft Foundry SDK lub zestawu SDK openAI , aby utworzyć generacyjną aplikację do czatu sztucznej inteligencji. Oba zestawy SDK obsługują obiekt klienta zgodny z interfejsem OPENAI API, który może przesyłać monity do modeli, ale istnieją pewne różnice w konkretnej funkcjonalności dostępnej w każdym zestawie SDK.
- Uwierzytelnianie: w zależności od wybranego punktu końcowego i zestawu SDK istnieje wiele sposobów uwierzytelniania aplikacji klienckiej przez usługę Foundry w celu udzielenia dostępu do zasobów. Ogólnie rzecz biorąc, aplikacje produkcyjne powinny używać uwierzytelniania microsoft Entra ID , które wymaga, aby aplikacja mogła być uruchomiona w kontekście określonej tożsamości; ale w niektórych scenariuszach można również użyć uwierzytelniania opartego na kluczach lub opartego na tokenach .
- Interfejs API czatu: Interfejs API klienta OpenAI obsługuje dwa API czatu: ChatCompletions i Responses. Interfejs API odpowiedzi jest zalecany w przypadku większości nowych projektów programistycznych, ale interfejs API ChatCompletions jest dobrze ugruntowany i zgodny z wieloma modelami i platformami generującymi sztuczną inteligencję.
Zacznijmy od rozważenia dostępnych punktów końcowych, zestawów SDK klienta i metod uwierzytelniania — później przyjrzymy się interfejsom API Responses i ChatCompletions.
Korzystanie z Foundry SDK z punktem końcowym projektu
Microsoft Foundry SDK zapewnia programowy dostęp do zasobów w twoich projektach za pośrednictwem interfejsu API REST i bibliotek klienckich specyficznych dla języka, w tym:
- Azure AI Projects for Python
- Projekty sztucznej inteligencji platformy Azure dla platformy Microsoft .NET
- Projekty sztucznej inteligencji platformy Azure dla języka JavaScript
Uwaga / Notatka
W tym module użyto przykładów kodu języka Python do wykonywania typowych zadań. Możesz zapoznać się z dokumentacją zestawu SDK specyficzną dla języka, aby uzyskać odpowiedni kod w preferowanym języku. Każdy zestaw SDK jest opracowywany i obsługiwany niezależnie, dlatego niektóre funkcje mogą znajdować się na różnych etapach implementacji.
Instalowanie zestawu SDK
Aby użyć biblioteki projektów sztucznej inteligencji Azure w języku Python, zainstaluj pakiet azure-ai-projects z interfejsu PyPI wraz z pakietami pomocniczymi:
pip install azure-ai-projects azure-identity openai
Uwaga / Notatka
W przypadku korzystania z zestawu SDK usługi Foundry do tworzenia aplikacji do czatu należy również zaimportować pakiet zestawu SDK interfejsu OpenAI — funkcjonalność klienta czatu w zestawie SDK rozwiązania Foundry jest pochodna z zestawu OpenAI SDK.
Nawiązywanie połączenia z punktem końcowym projektu
Każdy projekt Foundry ma unikatowy punkt końcowy, który można znaleźć na stronie Overview w portalu Foundry pod adresem https://ai.azure.com.
Punkt końcowy projektu ma następujący format:
https://{resource-name}.services.ai.azure.com/api/projects/<project-name>
Użyj tego punktu końcowego, aby utworzyć obiekt 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
)
Uwaga / Notatka
Kod używa domyślnych poświadczeń Azure do uwierzytelniania. Aby włączyć to uwierzytelnianie, należy zainstalować pakiet azure-identity (pokazany wcześniej w poleceniu instalacji).
Wskazówka
Aby uzyskać pomyślny dostęp do projektu, kod musi zostać uruchomiony w uwierzytelnionej sesji Azure. Na przykład możesz użyć polecenia Azure CLI az login, aby zalogować się przed uruchomieniem kodu.
Klient projektu (AIProjectClient) zapewnia dostęp do operacji natywnych dla rozwiązania Foundry, które nie mają odpowiedników interfejsu OpenAI. Użyj klienta projektu, aby:
- Pobierz połączenia zasobów
- Uzyskiwanie dostępu do konfiguracji projektu
- Włącz śledzenie
- Zarządzanie zestawami danych i indeksami
Tworzenie klienta czatu
Aby porozmawiać z modelem w projekcie Foundry, potrzebny jest obiekt klienta zgodny z interfejsem OpenAI. Możesz użyć metody get_openai_client() klienta projektu, aby go uzyskać, w następujący sposób:
openai_client = project_client.get_openai_client(api_version="2024-10-21")
Następnie możesz użyć tego obiektu klienta czatu, aby przesłać prośby do modeli i otrzymać odpowiedzi.
Korzystanie z zestawu OpenAI SDK z punktem końcowym usługi Azure OpenAI
Zestaw OpenAI SDK to oficjalna biblioteka klienta do wywoływania interfejsu API OpenAI. Obsługuje żądania HTTP, uwierzytelnianie, ponawianie prób i analizowanie odpowiedzi. Zestaw SDK współpracuje z modelami hostowanymi w usłudze OpenAI, wdrożeniami usługi Azure OpenAI i modelami foundry przy użyciu tych samych wzorców.
Instalowanie zestawu SDK
Aby użyć biblioteki OpenAI w języku Python, zainstaluj pakiet openai z interfejsu PyPI wraz z pakietami pomocniczymi:
pip install openai azure-identity
Uwaga / Notatka
Pakiet azure-identity jest wymagany, jeśli zamierzasz używać uwierzytelniania opartego na tokenach w celu nawiązania połączenia z punktem końcowym przy użyciu poświadczeń identyfikatora Entra firmy Microsoft.
Nawiązywanie połączenia z punktem końcowym usługi Azure OpenAI
Każdy projekt foundry zawiera punkt końcowy usługi Azure OpenAI, który można znaleźć na stronie Przegląd projektu w portalu Foundry pod adresem https://ai.azure.com.
Punkt końcowy usługi Azure OpenAI ma następujący format:
https://{resource-name}.openai.azure.com/openai/v1
Utwórz klienta OpenAI, używając swojego punktu końcowego i poświadczeń 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,
)
Oprócz identyfikatora Entra firmy Microsoft (zalecane) można uwierzytelnić się przy użyciu klucza interfejsu API lub zmiennych środowiskowych.
Uwierzytelnianie klucza interfejsu 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/"
)
Ważna
Używaj kluczy interfejsu API z ostrożnością. Przechowuj je bezpiecznie w usłudze Azure Key Vault i nigdy nie umieszczaj ich bezpośrednio w kodzie.
Zmienne środowiskowe:
Jeśli ustawisz OPENAI_BASE_URL zmienne środowiskowe i OPENAI_API_KEY zmienne środowiskowe, klient użyje ich automatycznie:
from openai import OpenAI
openai_client = OpenAI() # Uses environment variables
Niezależnie od sposobu uwierzytelniania klient OpenAI obsługuje operacje wnioskowania modelu. Użyj go w celu:
- Generowanie odpowiedzi za pomocą API do odpowiedzi
- Uzupełnianie czatów i generowanie obrazów
- Uzyskiwanie dostępu do modeli bezpośrednich usługi Foundry (modele inne niż Azure OpenAI)
Korzystanie z obiektu klienta AzureOpenAI
Zazwyczaj należy używać obiektu klienta OpenAI do rozmowy z modelami za pośrednictwem punktu końcowego usługi Azure OpenAI w wersji 1. Istnieje jednak również możliwość utworzenia obiektu klienta AzureOpenAI , jeśli musisz użyć funkcji z określonej wersji interfejsu API usługi Azure OpenAI. Aby utworzyć obiekt klienta AzureOpenAI , należy określić wersję interfejsu API i punkt końcowy platformy Azure, w następujący sposób:
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",
)
Wybieranie między zestawem SDK platformy Foundry i zestawem OpenAI SDK
Rozwiązanie Microsoft Foundry obsługuje dwa podejścia do tworzenia aplikacji sztucznej inteligencji. Każda z nich służy różnym celom i rozumie, kiedy używać każdego z nich, pomaga w tworzeniu odpowiedniego rozwiązania.
Kiedy należy używać zestawu SDK usługi Foundry
Użyj zestawu SDK rozwiązania Foundry, gdy aplikacja wymaga funkcji specyficznych dla rozwiązania Foundry:
- Foundry Agent Service do tworzenia i zarządzania agentami sztucznej inteligencji
- Przepływy pracy wywoływania i zatwierdzania narzędzi
- Oceny chmury na potrzeby testowania i weryfikowania odpowiedzi sztucznej inteligencji
- Śledzenie i obserwowalność zachowania aplikacji
- Bezpośrednie modele Foundry (modele inne niż Azure OpenAI dostępne w katalogu modeli)
- Funkcje metadanych, połączeń i zarządzania projektem
Firma Microsoft zaleca zestaw SDK rozwiązania Foundry podczas kompilowania aplikacji z agentami, ocenami lub funkcjami specyficznymi dla rozwiązania Foundry.
Kiedy należy używać zestawu OpenAI SDK
Użyj zestawu OPENAI SDK, jeśli potrzebujesz maksymalnej zgodności z interfejsem API openAI:
- Pełna zgodność interfejsu API OpenAI dla istniejącego kodu i narzędzi
- Przenośność między wdrożeniami openAI i Azure OpenAI
- Ukończenie czatu, odpowiedzi i obrazy Interfejsów api
- Minimalna zależność od pojęć specyficznych dla rozwiązania Foundry
Zestaw OpenAI SDK jest idealny dla obciążeń wnioskowania modelu, w których chcesz, aby istniejący kod OpenAI działał z minimalnymi zmianami. Jednak takie podejście nie zapewnia funkcji specyficznych dla rozwiązania Foundry, takich jak agenci lub oceny.
Rozwiązanie Microsoft Foundry zapewnia elastyczność tworzenia aplikacji sztucznej inteligencji. Użyj Foundry SDK z AIProjectClient, gdy potrzebujesz funkcji na poziomie projektu, takich jak agenty, oceny, śledzenie i połączenia. Użyj OpenAI SDK, jeśli potrzebujesz prostego sposobu wnioskowania modelu z maksymalną zgodnością OpenAI. Oba zestawy SDK współpracują z punktem końcowym projektu Foundry, dzięki czemu można je połączyć zgodnie z potrzebami w aplikacjach. Zestawy SDK można również używać razem w tej samej aplikacji — zestawu SDK usługi Foundry dla funkcji projektu i zestawu SDK openAI na potrzeby wnioskowania modelu.