Créer un client de conversation

Effectué

Un scénario courant dans une application IA consiste à se connecter à un modèle IA génératif et à utiliser invite à participer à une boîte de dialogue basée sur une conversation avec elle.

Bien que vous puissiez utiliser le Kit de développement logiciel (SDK) Azure OpenAI, pour vous connecter « directement » à un modèle à l’aide de l’authentification par clé ou Microsoft Entra ID ; Lorsque votre modèle est déployé dans un projet Microsoft Foundry, vous pouvez également utiliser le Kit de développement logiciel (SDK) Microsoft Foundry pour récupérer un client de projet, à partir duquel vous pouvez obtenir un client de conversation OpenAI authentifié pour tous les modèles déployés dans la ressource Microsoft Foundry du projet. Cette approche facilite l’écriture de code qui consomme des modèles déployés dans votre projet, en changeant facilement le paramètre de nom de déploiement du modèle.

Conseil / Astuce

Vous pouvez utiliser le client de conversation OpenAI fourni par un projet Microsoft Foundry pour discuter avec n’importe quel modèle déployé dans la ressource Microsoft Foundry associée , même les modèles non OpenAI, tels que les modèles Microsoft Phi.

L’exemple de code Python suivant utilise la méthode get_openai_client() pour obtenir un client OpenAI avec lequel discuter avec un modèle déployé dans la ressource Microsoft Foundry du projet.

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)

Remarque

Outre les azure-ai-projects et packages azure-identity décrits précédemment, l’exemple de code présenté ici suppose que le package openai a été installé :

pip install openai