Erstellen eines Chatclients

Abgeschlossen

Ein gängiges Szenario in einer KI-Anwendung besteht darin, eine Verbindung mit einem generativen KI-Modell herzustellen und Prompts zu verwenden, um in einem chatbasierten Dialog damit zu interagieren.

Sie können zwar das Azure OpenAI SDK verwenden, um mithilfe der schlüsselbasierten oder Microsoft Entra ID-Authentifizierung "direkt" mit einem Modell zu verbinden. Wenn Ihr Modell in einem Microsoft Foundry-Projekt bereitgestellt wird, können Sie auch das Microsoft Foundry SDK verwenden, um einen Projektclient abzurufen, aus dem Sie dann einen authentifizierten OpenAI-Chatclient für alle Modelle abrufen können, die in der Microsoft Foundry-Ressource des Projekts bereitgestellt werden. Dieser Ansatz erleichtert das Schreiben von Code, der Modelle verwendet, die in Ihrem Projekt bereitgestellt werden; zudem wird der Wechsel zwischen diesen einfach, indem der Parameter für den Namen der Modellbereitstellung geändert wird.

Tipp

Sie können den OpenAI-Chatclient verwenden, der von einem Microsoft Foundry-Projekt bereitgestellt wird, um mit einem beliebigen Modell zu chatten, das in der zugehörigen Microsoft Foundry-Ressource bereitgestellt wird – auch nicht-OpenAI-Modelle, z. B. Microsoft Phi-Modelle.

Im folgenden Python-Codebeispiel wird die methode get_openai_client() verwendet, um einen OpenAI-Client abzurufen, mit dem sie mit einem Modell chatten kann, das in der Microsoft Foundry-Ressource des Projekts bereitgestellt wurde.

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)

Anmerkung

Zusätzlich zu den zuvor erläuterten azure-ai- projekten und azure-identity--Paketen geht der hier gezeigte Beispielcode davon aus, dass das openai--Paket installiert wurde:

pip install openai