Een chatclient maken

Voltooid

Een veelvoorkomend scenario in een AI-toepassing is om verbinding te maken met een generatief AI-model en prompts te gebruiken om er een dialoogvenster op basis van chat mee te voeren.

Hoewel u de Azure OpenAI SDK kunt gebruiken, kunt u 'rechtstreeks' verbinding maken met een model met behulp van verificatie op basis van sleutels of Microsoft Entra-id's; wanneer uw model wordt geïmplementeerd in een Microsoft Foundry-project, kunt u ook de Microsoft Foundry SDK gebruiken om een projectclient op te halen, waaruit u vervolgens een geverifieerde OpenAI-chatclient kunt krijgen voor alle modellen die zijn geïmplementeerd in de Microsoft Foundry-resource van het project. Met deze methode kunt u eenvoudig code schrijven die gebruikmaakt van modellen die in uw project zijn geïmplementeerd, waarbij u eenvoudig tussen deze modellen schakelt door de parameter voor de implementatienaam van het model te wijzigen.

Aanbeveling

U kunt de OpenAI-chatclient van een Microsoft Foundry-project gebruiken om te chatten met elk model dat is geïmplementeerd in de bijbehorende Microsoft Foundry-resource, zelfs niet-OpenAI-modellen, zoals Microsoft Phi-modellen.

In het volgende Python-codevoorbeeld wordt de methode get_openai_client() gebruikt om een OpenAI-client op te halen waarmee u kunt chatten met een model dat is geïmplementeerd in de Microsoft Foundry-resource van het project.

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)

Notitie

Naast de azure-ai-projects en azure-identity-pakketten die eerder zijn besproken, wordt ervan uitgegaan dat het openai--pakket is geïnstalleerd:

pip install openai