Partager via


Démarrage rapide Microsoft Foundry (classique)

Note

Ce document fait référence au portail Microsoft Foundry (classique).

🔍 Consultez la documentation Microsoft Foundry (nouvelle) pour en savoir plus sur le nouveau portail.

Dans ce guide de démarrage rapide, vous utilisez Microsoft Foundry pour :

  • Création d’un projet
  • Déployer un modèle
  • Exécuter une saisie semi-automatique de conversation
  • Créer et exécuter un agent
  • Charger des fichiers dans l’agent

Le Kit de développement logiciel (SDK) Microsoft Foundry est disponible dans plusieurs langages, notamment Python, Java, TypeScript et C#. Ce guide de démarrage rapide fournit des instructions pour chacune de ces langues.

Conseil / Astuce

Le reste de cet article montre comment créer et utiliser un projet Foundry. Consultez démarrage rapide : Prise en main de Microsoft Foundry (projets Hub) si vous souhaitez utiliser un projet hub à la place. Quel type de projet dois-je avoir ?

Prerequisites

Important

Avant de commencer, assurez-vous que votre environnement de développement est prêt.
Ce guide de démarrage rapide se concentre sur des étapes spécifiques au scénario , telles que l’installation, l’authentification et l’exécution d’exemples de code.

Dans le portail, vous pouvez explorer un catalogue complet de modèles de pointe de nombreux fournisseurs différents. Pour ce tutoriel, recherchez, puis sélectionnez le modèle gpt-4o .

  1. Connectez-vous à Microsoft Foundry. Assurez-vous que l'interrupteur New Foundry est désactivé. Ces étapes font référence à Foundry (classique).

  2. Si vous êtes dans un projet, sélectionnez Microsoft Foundry dans la barre de navigation en haut à gauche pour quitter le projet. Vous en créerez un en un instant.

  3. Dans la page d’accueil ou le catalogue de modèles, sélectionnez gpt-4o (ou gpt-4o-mini).

    Capture d’écran montrant comment démarrer avec un modèle dans le portail Foundry.

  4. Sélectionnez Utiliser ce modèle. Lorsque vous y êtes invité, entrez un nouveau nom de projet et sélectionnez Créer.

  5. Vérifiez le nom du déploiement et sélectionnez Créer.

  6. Sélectionnez ensuite Connecter et déployer après avoir sélectionné un type de déploiement.

  7. Sélectionnez Ouvrir dans l'aire de jeux à partir de la page de déploiement une fois celui-ci déployé.

  8. Vous atterrissez dans l'aire de jeu Chat avec le modèle pré-déployé et prêt à l'emploi.

Si vous créez un agent, vous pouvez commencer par créer un agent. Les étapes sont similaires, mais dans un ordre différent. Une fois le projet créé, vous arrivez sur l'espace de travail Agent au lieu de l'espace de travail Chat.

Préparez-vous à coder

Conseil / Astuce

Le code utilise le Kit de développement logiciel (SDK) Azure AI Projects 1.x et est incompatible avec Azure AI Projects 2.x. Consultez la documentation Foundry (nouvelle) pour la version d’Azure AI Projects 2.x.

  1. Installez ces packages :

    pip install openai azure-identity azure-ai-projects==1.0.0
    
  2. Recherchez votre point de terminaison de projet sur l’écran d’accueil du projet.

    Capture d’écran de l’écran d’accueil des modèles Microsoft Foundry montrant l’URL du point de terminaison et le bouton Copier.

  3. Veillez à vous connecter à l’aide de la commande CLI az login (ou az login --use-device-code) pour vous authentifier avant d’exécuter vos scripts Python.

Suivez le code ci-dessous ou obtenez le code :

Discuter avec un modèle

Les achèvements de conversation sont le bloc de construction de base des applications IA. À l’aide des complétions de chat, vous pouvez envoyer une liste de messages et obtenir une réponse du modèle.

Conseil / Astuce

Le code utilise le Kit de développement logiciel (SDK) Azure AI Projects 1.x et est incompatible avec Azure AI Projects 2.x. Consultez la documentation Foundry (nouvelle) pour la version d’Azure AI Projects 2.x.

Remplacez votre point de terminaison pour le endpoint dans le code suivant :

from azure.ai.projects import AIProjectClient
from azure.identity import DefaultAzureCredential

project = AIProjectClient(
    endpoint="https://your-foundry-resource-name.ai.azure.com/api/projects/project-name",
    credential=DefaultAzureCredential(),
)

models = project.get_openai_client(api_version="2024-10-21")
response = models.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)

Discuter avec un agent

Créez un agent et discutez avec lui.

Conseil / Astuce

Le code utilise le Kit de développement logiciel (SDK) Azure AI Projects 1.x et est incompatible avec Azure AI Projects 2.x. Consultez la documentation Foundry (nouvelle) pour la version d’Azure AI Projects 2.x.

Remplacez votre point de terminaison pour le endpoint dans le code suivant :

from azure.ai.projects import AIProjectClient
from azure.identity import DefaultAzureCredential
from azure.ai.agents.models import ListSortOrder, FilePurpose

project = AIProjectClient(
    endpoint="https://your-foundry-resource-name.ai.azure.com/api/projects/project-name",
    credential=DefaultAzureCredential(),
)

agent = project.agents.create_agent(
    model="gpt-4o",
    name="my-agent",
    instructions="You are a helpful writing assistant")

thread = project.agents.threads.create()
message = project.agents.messages.create(
    thread_id=thread.id, 
    role="user", 
    content="Write me a poem about flowers")

run = project.agents.runs.create_and_process(thread_id=thread.id, agent_id=agent.id)
if run.status == "failed":
    # Check if you got "Rate limit is exceeded.", then you want to get more quota
    print(f"Run failed: {run.last_error}")

# Get messages from the thread
messages = project.agents.messages.list(thread_id=thread.id)

# Get the last message from the sender
messages = project.agents.messages.list(thread_id=thread.id, order=ListSortOrder.ASCENDING)
for message in messages:
    if message.run_id == run.id and message.text_messages:
        print(f"{message.role}: {message.text_messages[-1].text.value}")

# Delete the agent once done
project.agents.delete_agent(agent.id)
print("Deleted agent")

Ajouter des fichiers à l’agent

Les agents disposent de fonctionnalités puissantes grâce à l’utilisation d’outils. Ajoutons un outil de recherche de fichiers qui nous permet d’effectuer une récupération des connaissances.

Conseil / Astuce

Le code utilise le Kit de développement logiciel (SDK) Azure AI Projects 1.x et est incompatible avec Azure AI Projects 2.x. Consultez la documentation Foundry (nouvelle) pour la version d’Azure AI Projects 2.x.

Remplacez votre point de terminaison pour le endpoint dans le code suivant :

from azure.ai.projects import AIProjectClient
from azure.identity import DefaultAzureCredential
from azure.ai.agents.models import ListSortOrder, FileSearchTool

project = AIProjectClient(
    endpoint="https://your-foundry-resource-name.ai.azure.com/api/projects/project-name",
    credential=DefaultAzureCredential(),
)

# Upload file and create vector store
file = project.agents.files.upload(file_path="./product_info_1.md", purpose=FilePurpose.AGENTS)
vector_store = project.agents.vector_stores.create_and_poll(file_ids=[file.id], name="my_vectorstore")

# Create file search tool and agent
file_search = FileSearchTool(vector_store_ids=[vector_store.id])
agent = project.agents.create_agent(
    model="gpt-4o",
    name="my-assistant",
    instructions="You are a helpful assistant and can search information from uploaded files",
    tools=file_search.definitions,
    tool_resources=file_search.resources,
)

# Create thread and process user message
thread = project.agents.threads.create()
project.agents.messages.create(thread_id=thread.id, role="user", content="Hello, what Contoso products do you know?")
run = project.agents.runs.create_and_process(thread_id=thread.id, agent_id=agent.id)

# Handle run status
if run.status == "failed":
    print(f"Run failed: {run.last_error}")

# Print thread messages
messages = project.agents.messages.list(thread_id=thread.id, order=ListSortOrder.ASCENDING)
for message in messages:
    if message.run_id == run.id and message.text_messages:
        print(f"{message.role}: {message.text_messages[-1].text.value}")

# Cleanup resources
project.agents.vector_stores.delete(vector_store.id)
project.agents.files.delete(file_id=file.id)
project.agents.delete_agent(agent.id)

Nettoyer les ressources

Si vous n’avez plus besoin des ressources que vous avez créées, supprimez le groupe de ressources associé à votre projet.

  • Dans le portail Azure, sélectionnez le groupe de ressources, puis sélectionnez Supprimer. Vérifiez que vous souhaitez supprimer le groupe de ressources.