Een chatclient maken
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