démarrage rapide Microsoft Foundry (classique)

Affichage actuel :Version du portail - Passer à la version du nouveau portail Foundry

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

  • Créer un projet
  • Déployer un modèle
  • Exécuter une finalisation de conversation
  • Créer et exécuter un agent
  • Charger des fichiers dans l’agent

Le 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

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

Conditions préalables

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 supérieure 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. Passez en revue le nom du déploiement, puis sélectionnez Créer.

  6. Sélectionnez Ensuite Se connecter et déployer après avoir sélectionné un type de déploiement.

  7. Sélectionnez Ouvrir dans le terrain de jeu depuis la page de déploiement après le déploiement.

  8. Vous atterrissez dans le terrain 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 au terrain de jeu agent au lieu du terrain de jeu chat.

Préparez-vous à coder

Conseil

Le code utilise Azure SDK AI Projects 1.x et est incompatible avec Azure AI Projects 2.x. Voir la documentation Foundry (nouveau) pour la version 2.x des projets Azure AI.

  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 de bienvenue de Microsoft Foundry Models 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. En utilisant les achèvements de chat, vous pouvez envoyer une liste de messages et obtenir une réponse du modèle.

Conseil

Le code utilise Azure SDK AI Projects 1.x et est incompatible avec Azure AI Projects 2.x. Voir la documentation Foundry (nouveau) pour la version 2.x des projets Azure AI.

Remplacez votre point de terminaison par endpoint dans ce code :

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

Le code utilise Azure SDK AI Projects 1.x et est incompatible avec Azure AI Projects 2.x. Voir la documentation Foundry (nouveau) pour la version 2.x des projets Azure AI.

Remplacez votre point de terminaison par endpoint dans ce code :

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

Le code utilise Azure SDK AI Projects 1.x et est incompatible avec Azure AI Projects 2.x. Voir la documentation Foundry (nouveau) pour la version 2.x des projets Azure AI.

Remplacez votre point de terminaison par endpoint dans ce code :

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 Delete. Vérifiez que vous souhaitez supprimer le groupe de ressources.