Erstellen eines Chatclients
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