Opprette en chatklient

Fullført

Et vanlig scenario i et AI-program er å koble til en generativ AI-modell og bruke ledetekster til å delta i en chatbasert dialog med den.

Selv om du kan bruke Azure OpenAI SDK for å koble «direkte» til en modell ved hjelp av nøkkelbasert eller Microsoft Entra ID-autentisering; når modellen din distribueres i et Microsoft Foundry-prosjekt, kan du også bruke Microsoft Foundry SDK for å hente en prosjektklient, hvorfra du deretter kan få en autentisert OpenAI-chatklient for alle modeller som er distribuert i prosjektets Microsoft Foundry-ressurs. Denne fremgangsmåten gjør det enkelt å skrive kode som bruker modeller som er distribuert i prosjektet, og bytter mellom dem enkelt ved å endre parameteren for modelldistribusjonsnavn.

Tip

Du kan bruke OpenAI-chatklienten levert av et Microsoft Foundry-prosjekt for å chatte med hvilken som helst modell som er distribuert i den tilhørende Microsoft Foundry-ressursen – selv ikke-OpenAI-modeller, som Microsoft Phi-modeller.

Følgende Python-kodeeksempel bruker get_openai_client()- metoden for å skaffe en OpenAI-klient som kan chatte med en modell som er distribuert i prosjektets Microsoft Foundry-ressurs.

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

try:
    
    # connect to the project
    project_endpoint = "https://......"
    project_client = AIProjectClient(            
            credential=DefaultAzureCredential(),
            endpoint=project_endpoint,
        )
    
    # Get a chat client
    chat_client = project_client.get_openai_client(api_version="2024-10-21")
    
    # Get a chat completion based on a user-provided prompt
    user_prompt = input("Enter a question:")
    
    response = chat_client.chat.completions.create(
        model=your_model_deployment_name,
        messages=[
            {"role": "system", "content": "You are a helpful AI assistant."},
            {"role": "user", "content": user_prompt}
        ]
    )
    print(response.choices[0].message.content)

except Exception as ex:
    print(ex)

Note

I tillegg til pakkene azure-ai-projects og azure-identity som er diskutert tidligere, forutsetter eksempelkoden som vises her, at openai-pakken er installert:

pip install openai