Kit de développement logiciel (SDK) Azure AI Foundry
Article
Le Kit de développement logiciel (SDK) Azure AI Foundry est une chaîne d’outils complète conçue pour simplifier le développement d’applications IA sur Azure. Il permet aux développeurs de :
accéder aux modèles populaires de différents fournisseurs de modèles via une seule interface ;
combiner facilement des modèles, des données et des services IA pour créer des applications basées sur l’IA ;
évaluer, déboguer et améliorer la qualité de l’application et la sécurité dans les environnements de développement, de test et de production.
Le Kit de développement logiciel (SDK) AI Foundry est un ensemble de packages et de services conçus pour fonctionner ensemble. Vous pouvez utiliser la bibliothèque cliente Azure AI Projects pour utiliser facilement plusieurs services via un seul client de projet et une chaîne de connexion. Vous pouvez également utiliser des services et des Kits de développement logiciel (SDK) sur leur propre base de données et vous connecter directement à vos services.
Si vous souhaitez vous lancer directement dans la création d’une application, consultez :
La meilleure façon de commencer à utiliser le Kit de développement logiciel (SDK) Azure AI Foundry consiste à utiliser un projet. Les projets IA connectent les différentes données, ressources et services dont vous avez besoin pour créer des applications IA. Le client de projet IA vous permet d’accéder facilement à ces composants de projet à partir de votre code à l’aide d’une seule chaîne de connexion.
Azure OpenAI Service permet d’accéder aux modèles d’OpenAI, notamment GPT-4o, GPT-4o mini, GPT-4, GPT-4 Turbo avec Vision, GPT-3-Turbo, DALLE-3 et la série de modèles d’incorporation, tout en bénéficiant des fonctionnalités de sécurité et d’entreprise d’Azure.
Si vous avez du code qui utilise le Kit de développement logiciel (SDK) OpenAI, vous pouvez facilement cibler votre code pour utiliser le service Azure OpenAI. Tout d’abord, installez le Kit de développement logiciel (SDK) OpenAI :
pip install openai
Si vous avez du code existant qui utilise le Kit de développement logiciel (SDK) OpenAI, vous pouvez utiliser le client de projet pour créer un client AzureOpenAI qui utilise la connexion Azure OpenAI de votre projet :
openai = project.inference.get_azure_openai_client(api_version="2024-06-01")
response = openai.chat.completions.create(
model="gpt-4o",
messages=[
{"role": "system", "content": "You are a helpful writing assistant"},
{"role": "user", "content": "Write me a poem about flowers"},
]
)
print(response.choices[0].message.content)
Si vous utilisez déjà le Kit de développement logiciel (SDK) Azure OpenAI directement sur l’Azure OpenAI Service, le projet offre un moyen pratique d’utiliser les fonctionnalités d’Azure OpenAI Service en même temps que les autres fonctionnalités d’AI Foundry.
Service d’inférence de modèle Azure AI
Le service d’inférence de modèle Azure AI offre un accès aux modèles puissants des principaux fournisseurs tels que OpenAI, Microsoft, Meta, etc. Ces modèles prennent en charge des tâches telles que la génération de contenu, la synthèse et la génération de code.
Pour utiliser le service d’inférence de modèle, vérifiez d’abord que votre projet dispose d’une connexion AI Services (dans le Centre de gestion).
Installez la bibliothèque de client azure-ai-inferencing :
pip install azure-ai-inference
Vous pouvez utiliser le client de projet pour obtenir un client de projet configuré et authentifié ChatCompletionsClient ou EmbeddingsClient :
# get an chat inferencing client using the project's default model inferencing endpoint
chat = project.inference.get_chat_completions_client()
# run a chat completion using the inferencing client
response = chat.complete(
model="gpt-4o",
messages=[
{"role": "system", "content": "You are a helpful writing assistant"},
{"role": "user", "content": "Write me a poem about flowers"},
]
)
print(response.choices[0].message.content)
Vous pouvez remplacer le nom du modèle par n’importe quel modèle que vous avez déployé sur le service d’inférence ou le service Azure OpenAI.
Le client d’inférence prend en charge la création de messages d’invite à partir de modèles. Le modèle vous permet de générer dynamiquement des invites à l’aide d’entrées disponibles au moment de l’exécution.
Pour utiliser des modèles d’invite, installez le package azure-ai-inferencing :
pip install azure-ai-inference
Vous pouvez afficher un modèle d’invite à partir d’une chaîne inline :
from azure.ai.inference.prompts import PromptTemplate
# create a prompt template from an inline string (using mustache syntax)
prompt_template = PromptTemplate.from_string(prompt_template="""
system:
You are a helpful writing assistant.
The user's first name is {{first_name}} and their last name is {{last_name}}.
user:
Write me a poem about flowers
""")
# generate system message from the template, passing in the context as variables
messages = prompt_template.create_messages(first_name="Jane", last_name="Doe")
print(messages)
Note
L’espace blanc de début est automatiquement supprimé des chaînes d’entrée.
Ce code génère des messages que vous pouvez ensuite passer à un appel d’achèvement de conversation :
[
{'role': 'system', 'content': "You are a helpful writing assistant.\nThe user's first name is Jane and their last name is Doe."}
{'role': 'user', 'content': 'Write me a poem about flowers'}
]
Vous pouvez également charger des invites à partir d’un fichier Prompty, ce qui vous permet de charger également le nom du modèle et les paramètres à partir du fichier .prompty :
Si vous disposez d’une ressource Azure AI Search connectée à votre projet, vous pouvez également utiliser le client de projet pour créer un client Azure AI Search à l’aide de la connexion au projet.
Installez la bibliothèque de client Azure AI Search :
pip install azure-search-documents
Instanciez le client d’index de recherche et/ou de recherche comme vous le souhaitez :
from azure.core.credentials import AzureKeyCredential
from azure.ai.projects.models import ConnectionType
from azure.search.documents import SearchClient
from azure.search.documents.indexes import SearchIndexClient
# use the project client to get the default search connection
search_connection = project.connections.get_default(
connection_type=ConnectionType.AZURE_AI_SEARCH,
with_credentials=True)
# Create a client to create and manage search indexes
index_client = SearchIndexClient(
endpoint=search_connection.endpoint_url,
credential=AzureKeyCredential(key=search_connection.key)
)
# Create a client to run search queries
search_client = SearchClient(
index_name="your_index_name",
endpoint=search_connection.endpoint_url,
credential=AzureKeyCredential(key=search_connection.key)
)
Azure AI Agent Service est un service entièrement géré et conçu pour permettre aux développeurs de créer, déployer et mettre à l’échelle des agents IA de haute qualité et extensibles en toute sécurité. À l’aide d’un vaste écosystème de modèles, d’outils et de fonctionnalités provenant d’OpenAI, de Microsoft et de fournisseurs tiers, Azure AI Agent Service permet de créer des agents pour un large éventail de cas d’utilisation de l’IA générative.
Vous pouvez utiliser le client de projet pour vous connecter facilement au service d’évaluation Azure AI et les modèles nécessaires à l’exécution de vos évaluateurs.
pip install azure-ai-evaluation
À l’aide du paramètre project.scope, nous pouvons instancier un ViolenceEvaluator :
from azure.ai.evaluation import ViolenceEvaluator
from azure.identity import DefaultAzureCredential
# Initializing Violence Evaluator with project information
violence_eval = ViolenceEvaluator(
azure_ai_project=project.scope,
credential=DefaultAzureCredential())
# Running Violence Evaluator on single input row
violence_score = violence_eval(query="what's the capital of france", response="Paris")
print(violence_score)
REMARQUE : pour exécuter des évaluateurs de violence, votre projet doit se trouver dans USA Est 2, Suède Centre, USA Centre Nord, France Centre.
Pour activer le suivi, vérifiez d’abord que votre projet dispose d’une ressource Application Insights attachée. Accédez à la page Suivi de votre projet et suivez les instructions pour créer ou joindre Application Insights.
Installez le dernier package Azure Monitor OpenTelemetry :
pip install azure-monitor-opentelemetry
Utilisez le code suivant pour activer l’instrumentation du Kit de développement logiciel (SDK) d’inférence Azure AI et la journalisation dans votre projet IA :
# Enable instrumentation of AI packages (inference, agents, openai, langchain)
project.telemetry.enable()
# Log traces to the project's application insights resource
application_insights_connection_string = project.telemetry.get_connection_string()
if application_insights_connection_string:
configure_azure_monitor(connection_string=application_insights_connection_string)
Contenu connexe
Vous trouverez ci-dessous des liens utiles vers d’autres services et infrastructures que vous pouvez utiliser avec le Kit de développement logiciel (SDK) Azure AI Foundry.
Erfahren Sie, wie Sie mithilfe von Semantic Kernel SDK intelligente Anwendungen erstellen, die Aufgaben automatisieren und eine linguistische Datenverarbeitung ausführen. (AZ-2005)