Lire en anglais

Partager via


Kit de développement logiciel (SDK) Azure AI Foundry

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 :

Prise en main des projets

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.

Commencez par suivre les étapes de création d’un projet IA si vous n’en avez pas déjà un.

Connectez-vous avec Azure CLI à l’aide du même compte que celui que vous utilisez pour accéder à votre projet IA :

az login

Installez la bibliothèque de client de projets Azure AI :

pip install azure-ai-projects azure-identity

Créez un client de projet dans le code :

from azure.identity import DefaultAzureCredential
from azure.ai.projects import AIProjectClient
 
project_connection_string="your_connection_string"

project = AIProjectClient.from_connection_string(
  conn_str=project_connection_string,
  credential=DefaultAzureCredential())

Copiez la chaîne de connexion Projet à partir de la page Vue d’ensemble du projet et mettez à jour la variable project_connection_string ci-dessus.

Une fois que vous avez créé le client de projet, vous pouvez utiliser le client pour les fonctionnalités des sections suivantes.

Veillez à consulter la référenceet les exemples.

Azure OpenAI Service

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.

Pour en savoir plus sur l’utilisation du client d’inférence Azure AI, consultez la référence d’inférence du modèle Azure AI.

Modèles d’invite

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 :

from azure.ai.inference.prompts import PromptTemplate

prompt_template = PromptTemplate.from_prompty("myprompt.prompty")
messages = prompt_template.create_messages(first_name="Jane", last_name="Doe")

response = chat.complete(
    messages=messages,
    model=prompt_template.model_name,
    **prompt_template.parameters,
)

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)
)

Pour en savoir plus sur l’utilisation d’Azure AI Search, consultez la documentation Azure AI Search.

Runtime des agents Azure AI

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.

Pour accéder aux agents, inscrivez-vous à la préversion privée.

Évaluation

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 en savoir plus, consultez Évaluation à l’aide du Kit de développement logiciel (SDK).

Traçage

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)

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.

Azure AI Services

Bibliothèques clientes :

Bibliothèques de gestion :

Frameworks

Azure Machine Learning

Flux rapide

Noyau sémantique