Valitse päätepiste ja SDK

Valmis

Microsoft Foundry tarjoaa joustavuutta generatiivisten tekoälychat-sovellusten kehittämiseen. Ennen kehityksen aloittamista on tärkeää ymmärtää saatavilla olevat vaihtoehdot ja päättää, mitä niistä kannattaa käyttää. Joihinkin huomioon otettavia seikkoja sovelluksen kehittämisessä ovat:

  • Päätepisteet: Microsoft Foundryn projektit tarjoavat kaksi päätepistettä, joiden avulla voit yhdistää ja käyttää projektiresursseja, kuten mallin käyttöönottoja, asiakassovelluksista. Jokaisella projektilla on sekä Projectin päätepiste että Azure OpenAI -päätepiste.
  • Asiakas SDK: Valitsemastasi päätepisteestä riippuen voit valita Microsoft Foundry SDK :n tai OpenAI SDK :n kehittääksesi generatiivisen tekoälychat-sovelluksen. Molemmat SDK:t tukevat OpenAI API -yhteensopivaa asiakasobjektia, joka voi lähettää malleille kehotuksia, mutta kunkin SDK:n erityistoiminnallisuudessa on joitakin eroja.
  • Tunnistautuminen: Päätepisteestä ja SDK:sta riippuen Foundry voi todentaa asiakassovelluksen useilla tavoilla, jotta se saa pääsyn assetteihin. Yleisesti tuotantosovellusten tulisi käyttää Microsoft Entra ID -tunnistautumista, joka edellyttää, että sovellus toimii tietyn identiteetin kontekstissa; Mutta joissain tapauksissa voit käyttää myös avain - tai token-pohjaista tunnistautumista.
  • Chat API: OpenAI-asiakasrajapinta tukee kahta chat-rajapintaa: ChatCompletions ja Responses. Vaikka Responses-rajapintaa suositellaan useimpiin uusiin kehitysprojekteihin, ChatCompletions-rajapinta on hyvin vakiintunut ja yhteensopiva monien generatiivisten tekoälymallien ja alustojen kesken.

Aloitetaan tarkastelemalla käytettävissä olevia päätepisteitä, asiakas-SDK:ta ja tunnistautumismenetelmiä – tutustumme myöhemmin Responses- ja ChatCompletions-rajapintoihin.

Foundry SDK:n käyttö projektin päätepisteen kanssa

Microsoft Foundry SDK tarjoaa ohjelmallisen pääsyn projektiesi resursseihin REST-rajapinnan ja kielikohtaisten asiakaskirjastojen kautta; mukaan lukien:

Muistio

Tämä moduuli käyttää Python-koodiesimerkkejä yleisiin tehtäviin. Voit katsoa kielikohtaista SDK-dokumentaatiota saadaksesi vastaavaa koodia haluamallasi kielellä. Jokainen SDK kehitetään ja ylläpidetään itsenäisesti, joten jotkut toiminnot voivat olla eri toteutusvaiheissa.

SDK:n asennus

Pythonin Azure AI Projects -kirjaston käyttämiseksi asenna PyPI:n azure-ai-projects-paketti sekä tukevat paketit:

pip install azure-ai-projects azure-identity openai

Muistio

Kun käytät Foundry SDK:ta chat-sovelluksen kehittämiseen, sinun täytyy myös tuoda OpenAI SDK -paketti – Foundry SDK:n chat-asiakastoiminnallisuus on johdettu OpenAI SDK:sta.

Yhdistäminen projektin päätepisteeseen

Jokaisella Foundryn project:llä on ainutlaatuinen päätepiste, jonka löydät project:n Overview -sivulta Foundry-portaalissa https://ai.azure.com.

Projectin päätepiste noudattaa tätä muotoa:

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

Käytä tätä päätepistettä luodaksesi AIProjectClient-objektin :

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
)

Muistio

Koodi käyttää oletus-Azure-tunnuksia todennukseen. Tämän tunnistautumisen mahdollistamiseksi sinun täytyy asentaa azure-identity-paketti (joka näkyy aiemmin asennuskomennossa).

Vinkki

Jotta projektiin pääsee access onnistuneesti, koodin on suoritettava autendikoidussa Azure-istunnossa. Esimerkiksi voit käyttää Azure CLI az login-komentoa kirjautuaksesi sisään ennen koodin suorittamista.

Projektiasiakas (AIProjectClient) tarjoaa pääsyn Foundry-natiivitoimintoihin, joilla ei ole OpenAI-vastineita. Käytä project-asiakasta:

  • Resurssiyhteyksien hakeminen
  • Access-projektin konfiguraatio
  • Ota jäljitys käyttöön
  • Hallinnoi aineistoja ja indeksejä

Chat-asiakasohjelman luominen

Jotta voit keskustella mallin kanssa Foundry-projektissasi, tarvitset OpenAI-yhteensopivan asiakasobjektin. Voit käyttää projektiasiakkaan get_openai_client() -menetelmää saadaksesi sellaisen, kuten näin:

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

Voit sitten käyttää tätä chat-asiakasobjektia lähettääksesi malleille kehotuksia ja palauttaaksesi vastauksia.

OpenAI SDK:n käyttö Azure OpenAI -päätepisteen kanssa

OpenAI SDK on virallinen asiakaskirjasto OpenAI API:n kutsumiseen. Se hoitaa HTTP-pyynnöt, todennuksen, kokeilut ja vastausten jäsennyksen. SDK toimii OpenAI:n isännöimien mallien, Azure OpenAI -käyttöönottojen ja Foundry-mallien kanssa käyttäen samoja malleja.

SDK:n asennus

OpenAI-kirjaston käyttämiseksi Pythonissa asenna PyPI:n openai-paketti sekä tukipaketit:

pip install openai azure-identity

Muistio

Azure-identity -paketti on välttämätön, jos aiot käyttää token-pohjaista tunnistautumista yhdistääksesi päätepisteeseen Microsoft Entra ID -tunnuksia.

Yhdistäminen Azure OpenAI -päätepisteeseen

Jokaisessa Foundry-projektissa on Azure OpenAI -päätepiste, jonka löydät projektin Yleiskatsaussivulta Foundry-portaalissa osoitteessa .https://ai.azure.com

Azure OpenAI:n päätepiste noudattaa tätä muotoa:

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

Luo OpenAI-asiakasohjelma päätepisteesi ja Azure-tunnisteillasi:

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:n (suositeltava) lisäksi voit tunnistautua API-avaimella tai ympäristömuuttujilla.

API-avaimen tunnistautuminen:

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

Tärkeää

Käytä API-avaimia varovasti. Säilytä ne turvallisesti Azure Key Vaultissa äläkä koskaan sisällytä niitä suoraan koodiisi.

Ympäristömuuttujat:

Jos asetat OPENAI_BASE_URL ja OPENAI_API_KEY ympäristömuuttujat, asiakas käyttää niitä automaattisesti:

from openai import OpenAI

openai_client = OpenAI()  # Uses environment variables

Riippumatta siitä, miten päätät tunnistautua, OpenAI-asiakas hoitaa mallipäättelytoiminnot. Käytä sitä seuraaviin tarkoituksiin:

  • Vastausten tuottaminen Responses API:lla
  • Chatin täydentäminen ja kuvanluonti
  • Accessing Foundry direct models (ei-Azure OpenAI-mallit)

AzureOpenAI-asiakasobjektin käyttö

Yleensä kannattaa käyttää OpenAI-asiakasobjektia keskustellessaan mallien kanssa Azure OpenAI v1 -päätepisteen kautta. Sinulla on kuitenkin myös mahdollisuus luoda AzureOpenAI-asiakasobjekti , jos tarvitset toiminnallisuutta tietystä Azure OpenAI API:n versiosta. AzureOpenAI-asiakasobjektin luomiseksi sinun täytyy määritellä API-versio ja Azure-päätepiste, kuten näin:

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

Valinta Foundry SDK:n ja OpenAI SDK:n välillä

Microsoft Foundry tukee kahta lähestymistapaa tekoälysovellusten rakentamiseen. Jokainen palvelee eri tarkoituksia, ja ymmärtäminen, milloin kutakin kannattaa käyttää, auttaa rakentamaan oikean ratkaisun.

Milloin käyttää Foundryn SDK:ta

Käytä Foundry-SDK:ta, kun sovelluksesi tarvitsee Foundry-kohtaisia ominaisuuksia:

  • Foundry Agent Service tekoälyagenttien rakentamiseen ja hallintaan
  • Työkalujen käyttö- ja hyväksyntätyönkulut
  • Pilviarvioinnit tekoälyvastausten testaamiseksi ja validointiin
  • Jäljitys ja havaittavuus sovelluskäyttäytymisen valvonnassa
  • Foundry-suorat mallit (ei-Azure OpenAI -mallit, saatavilla malliluettelon kautta)
  • Projektin metatiedot, yhteydet ja hallintaominaisuudet

Microsoft suosittelee Foundry SDK:ta sovellusten rakentamiseen, joissa on agentteja, arviointeja tai Foundry-kohtaisia ominaisuuksia.

Milloin käyttää OpenAI SDK:ta

Käytä OpenAI SDK:ta, kun tarvitset maksimaalisen yhteensopivuuden OpenAI API:n kanssa:

  • Täysi OpenAI API -yhteensopivuus olemassa olevalle koodille ja työkaluille
  • Siirrettävyys OpenAI:n ja Azure OpenAI:n käyttöönottojen välillä
  • Chatin täydentäminen, vastaukset ja kuvat API:t
  • Minimaalinen riippuvuus Foundry-kohtaisista käsitteistä

OpenAI SDK on ihanteellinen mallipäättelytehtäviin, joissa halutaan olemassa olevan OpenAI-koodin toimivan mahdollisimman vähäisin muutoksin. Tämä lähestymistapa ei kuitenkaan tarjoa Foundry-kohtaisia ominaisuuksia, kuten agentteja tai arviointeja.

Microsoft Foundry antaa joustavuutta tekoälysovellusten rakentamiseen. Käytä Foundry SDK:ta AIProjectClient silloin, kun tarvitset projektitason ominaisuuksia, kuten agentteja, arviointeja, jäljitystä ja yhteyksiä. Käytä OpenAI SDK:ta, kun tarvitset suoraviivaista mallipäättelyä maksimaalisella OpenAI-yhteensopivuudella. Molemmat SDK:t toimivat Foundry-projektin päätepisteen kanssa, joten voit yhdistää ne tarpeen mukaan sovelluksissasi. Voit myös käyttää molempia SDK:ita yhdessä samassa sovelluksessa—Foundry SDK:ta projektin ominaisuuksiin ja OpenAI SDK:ta mallin päättelyyn.