Delen via


Microsoft Foundry Quickstart

Note

Dit document verwijst naar de Microsoft Foundry-portal (klassiek).

🔄 Schakel over naar de documentatie van Microsoft Foundry (nieuw) als u de nieuwe portal gebruikt.

Note

Dit document verwijst naar de Microsoft Foundry-portal (nieuw).

In deze quickstart gebruikt u Microsoft Foundry voor het volgende:

  • Een project maken
  • Een model implementeren
  • Een chatvoltooiing uitvoeren
  • Een agent maken en uitvoeren
  • Bestanden uploaden naar de agent

In deze quickstart gebruikt u Microsoft Foundry voor het volgende:

  • Een project maken
  • Een model implementeren
  • Bereid u voor op code- installeer de benodigde pakketten en verifieer
  • Chatten met een model
  • Een agent maken
  • Chatten met een agent

De Microsoft Foundry SDK is beschikbaar in meerdere talen, waaronder Python, Java, TypeScript en C#. Deze quickstart bevat instructies voor elk van deze talen.

Tip

De rest van dit artikel laat zien hoe u een Foundry-project maakt en gebruikt. Zie quickstart: Aan de slag met Microsoft Foundry (Hub-projecten) als u in plaats daarvan een hubproject wilt gebruiken. Welk type project heb ik nodig?

Prerequisites

Important

Voordat u begint, moet u ervoor zorgen dat uw ontwikkelomgeving gereed is.
Deze quickstart is gericht op scenariospecifieke stappen, zoals SDK-installatie , verificatie en het uitvoeren van voorbeeldcode.

Resources maken

In de portal kunt u een uitgebreide catalogus met geavanceerde modellen van veel verschillende providers verkennen. Zoek en selecteer vervolgens het gpt-4o-model voor deze zelfstudie.

  1. Meld u aan bij Microsoft Foundry. Zorg ervoor dat de wisselknop New Foundry is uitgeschakeld. Deze stappen verwijzen naar Foundry (klassiek).

  2. Als u een project hebt, selecteert u Microsoft Foundry in de linkerbovenhoek om het project te verlaten. Je maakt er zo een nieuwe.

  3. Kies vanaf de landingspagina of modelcatalogusgpt-4o (of gpt-4o-mini).

    Schermopname van het starten met een model in Foundry Portal.

  4. Selecteer Dit model gebruiken. Wanneer u hierom wordt gevraagd, voert u een nieuwe projectnaam in en selecteert u Maken.

  5. Controleer de implementatienaam en selecteer Maken.

  6. Selecteer vervolgens Verbinding maken en implementeren nadat u een implementatietype hebt geselecteerd.

  7. Selecteer Openen in speeltuin op de implementatiepagina nadat deze is geïmplementeerd.

  8. U komt terecht in de Chat-speeltuin met het vooraf geïmplementeerde model en klaar voor gebruik.

Als u een agent bouwt, kunt u in plaats daarvan beginnen met Een agent maken. De stappen zijn vergelijkbaar, maar in een andere volgorde. Zodra het project is gemaakt, komt u aan bij de Agent-speelplaats in plaats van de Chat-speeltuin.

Nu u een agent hebt, kunt u ermee werken in code of in de portal.

U begint in de Microsoft Foundry-portal om een project te maken en een model te implementeren. In deze quickstart wordt het gpt-4-1-minimodel gebruikt, maar u kunt elk ondersteund model van verschillende providers gebruiken.

  1. Meld u aan bij Microsoft Foundry. Zorg ervoor dat de wisselknop New Foundry is uitgeschakeld. Deze stappen verwijzen naar Foundry (klassiek).
    Meld u aan bij Microsoft Foundry. Zorg ervoor dat de wisselknop New Foundry is ingeschakeld. Deze stappen verwijzen naar Foundry (nieuw).
  2. Projecten helpen uw werk te organiseren. Het project waaraan u werkt, wordt in de linkerbovenhoek weergegeven.
  3. Als u een nieuw project wilt maken, selecteert u de projectnaam en maakt u vervolgens een nieuw project.
  4. Geef uw project een naam en selecteer Project maken.
  5. Implementeer nu een model in het project:
    1. Selecteer Ontdekken in de navigatie rechtsboven.
    2. Selecteer Modellen.
    3. Zoek naar het gpt-4.1-minimodel .
    4. Selecteer Standaardinstellingen implementeren> om deze toe te voegen aan uw project.

Met Foundry Models kunnen klanten de krachtigste modellen van aanbieders van vlaggenschipmodellen gebruiken via een enkel eindpunt en inloggegevens. Dit betekent dat u tussen modellen kunt schakelen en deze kunt gebruiken vanuit uw toepassing zonder dat u één regel code hoeft te wijzigen.

U bent nu klaar om verder te gaan met de interactie met uw model en het maken van een agent.

Klaar om te coderen

Tip

Code maakt gebruik van Foundry-projecten (klassiek) API en is niet compatibel met Foundry-projecten (nieuwe) API (preview). Schakel over naar de nieuwe Foundry-documentatie voor de nieuwe Foundry-projecten API-versie (preview).

  1. Installeer deze pakketten:

    pip install openai azure-identity azure-ai-projects==1.0.0
    
  2. Met Microsoft Foundry Models kunnen klanten met één eindpunt en inloggegevens de krachtigste modellen van vlaggenschipmodelproviders gebruiken. Dit betekent dat u tussen modellen kunt schakelen en deze kunt gebruiken vanuit uw toepassing zonder dat u één regel code hoeft te wijzigen.

    Kopieer het Foundry-projecteindpunt in de sectie Overzicht van uw project. Je gebruikt het zo meteen.

    Schermopname van het projectoverzicht voor een Foundry-project.

    Tip

    Als u het eindpunt van het Foundry-project niet ziet, gebruikt u een hubproject. (Zie Typen projecten). Schakel over naar een Foundry-project of gebruik de voorgaande stappen om er een te maken.

    1. Selecteer Start in de navigatie rechtsboven.
    2. Selecteer Sleutels en kopieer het eindpunt. Je gebruikt het zo meteen.
  3. Zorg ervoor dat u zich aanmeldt met behulp van de CLI-opdracht az login (of az login --use-device-code) om te verifiëren voordat u uw Python-scripts uitvoert.

Volg hieronder of haal de code op:

Important

Code in dit artikel maakt gebruik van pakketten die momenteel in preview zijn. Deze preview wordt aangeboden zonder een service level agreement en we raden deze niet aan voor productieworkloads. Bepaalde functies worden mogelijk niet ondersteund of hebben mogelijk beperkte mogelijkheden. Voor meer informatie, zie Aanvullende Gebruiksvoorwaarden voor Microsoft Azure Previews.

Omgevingsvariabelen instellen

Sla het eindpunt op als een omgevingsvariabele. Stel deze waarden ook in voor gebruik in uw scripts.

  1. Kopieer uw eindpunt vanuit het welkomstscherm. U gebruikt deze in de volgende stap.

    Schermopname van het welkomstscherm van Microsoft Foundry Models met de eindpunt-URL en de knop Kopiëren.

  2. Stel deze omgevingsvariabelen in voor gebruik in uw scripts:

    AZURE_AI_FOUNDRY_PROJECT_ENDPOINT=<endpoint copied from welcome screen>
    AZURE_AI_FOUNDRY_AGENT_NAME="MyAgent"
    AZURE_AI_FOUNDRY_MODEL_DEPLOYMENT_NAME="gpt-4.1-mini"
    

Installeren en verifiëren

Tip

Code maakt gebruik van Foundry-projecten (nieuwe) API (preview) en is niet compatibel met Foundry-projecten (klassieke) API-versie. Schakel over naar Foundry-documentatie (klassiek) voor de Foundry-projecten (klassiek) API-versie.

  1. Installeer deze pakketten, inclusief de preview-versie van azure-ai-projects. Deze versie maakt gebruik van de nieuwe Foundry-projecten API (preview).

    pip install azure-ai-projects --pre
    pip install openai azure-identity python-dotenv
    
  2. Zorg ervoor dat u zich aanmeldt met behulp van de CLI-opdracht az login (of az login --use-device-code) om te verifiëren voordat u uw Python-scripts uitvoert.

Volg hieronder of haal de code op:

Chatten met een model

Chatvoltooiingen zijn de basisbouwsteen van AI-toepassingen. Met behulp van chatvoltooiingen kunt u een lijst met berichten verzenden en een antwoord krijgen van het model.

Tip

Code maakt gebruik van Foundry-projecten (klassiek) API en is niet compatibel met Foundry-projecten (nieuwe) API (preview). Schakel over naar de nieuwe Foundry-documentatie voor de nieuwe API-versie van Foundry-projecten (voorvertoning).

Vervang uw eindpunt door de endpoint in deze 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)

Interactie met een model is de basisbouwsteen van AI-toepassingen. Een invoer verzenden en een antwoord ontvangen van het model:

Tip

Code maakt gebruik van Foundry-projecten (nieuwe) API (preview) en is niet compatibel met Foundry-projecten (klassieke) API-versie. Schakel over naar de Foundry-documentatie (klassiek) voor de API-versie van de Foundry-projecten (klassiek).

import os
from dotenv import load_dotenv
from azure.identity import DefaultAzureCredential
from azure.ai.projects import AIProjectClient

load_dotenv()

print(f"Using AZURE_AI_FOUNDRY_PROJECT_ENDPOINT: {os.environ['AZURE_AI_FOUNDRY_PROJECT_ENDPOINT']}")
print(f"Using AZURE_AI_FOUNDRY_MODEL_DEPLOYMENT_NAME: {os.environ['AZURE_AI_FOUNDRY_MODEL_DEPLOYMENT_NAME']}")

project_client = AIProjectClient(
    endpoint=os.environ["AZURE_AI_FOUNDRY_PROJECT_ENDPOINT"],
    credential=DefaultAzureCredential(),
)

openai_client = project_client.get_openai_client()

response = openai_client.responses.create(
    model=os.environ["AZURE_AI_FOUNDRY_MODEL_DEPLOYMENT_NAME"],
    input="What is the size of France in square miles?",
)
print(f"Response output: {response.output_text}")

Een agent maken

Maak een agent met behulp van uw geïmplementeerde model.

Een agent definieert kerngedrag. Zodra het is gemaakt, zorgt dit voor consistente reacties in gebruikersinteracties zonder dat er telkens instructies worden herhaald. U kunt agents op elk gewenst moment bijwerken of verwijderen.

Tip

Code maakt gebruik van Foundry-projecten (nieuwe) API (preview) en is niet compatibel met Foundry-projecten (klassieke) API-versie. Schakel over naar foundry -documentatie (klassiek) voor de Foundry-projecten (klassiek) API-versie.

import os
from dotenv import load_dotenv
from azure.identity import DefaultAzureCredential
from azure.ai.projects import AIProjectClient
from azure.ai.projects.models import PromptAgentDefinition

load_dotenv()

project_client = AIProjectClient(
    endpoint=os.environ["AZURE_AI_FOUNDRY_PROJECT_ENDPOINT"],
    credential=DefaultAzureCredential(),
)

agent = project_client.agents.create_version(
    agent_name=os.environ["AZURE_AI_FOUNDRY_AGENT_NAME"],
    definition=PromptAgentDefinition(
        model=os.environ["AZURE_AI_FOUNDRY_MODEL_DEPLOYMENT_NAME"],
        instructions="You are a helpful assistant that answers general questions",
    ),
)
print(f"Agent created (id: {agent.id}, name: {agent.name}, version: {agent.version})")

Chatten met een agent

Maak een agent en chat ermee.

Tip

Code maakt gebruik van Foundry-projecten (klassiek) API en is niet compatibel met Foundry-projecten (nieuwe) API (preview). Schakel over naar de nieuwe Foundry-documentatie voor de Foundry-projecten API-versie (preview).

Vervang uw eindpunt door de endpoint in deze 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")

Gebruik de eerder gemaakte agent met de naam 'MyAgent' om te communiceren door een vraag en een gerelateerde opvolging te stellen. Het gesprek onderhoudt de geschiedenis van deze interacties.

Tip

Code maakt gebruik van Foundry-projecten (nieuwe) API (preview) en is niet compatibel met Foundry-projecten (klassieke) API-versie. Schakel over naar Foundry-documentatie (klassiek) voor de API-versie van Foundry-projecten (klassiek).

import os
from dotenv import load_dotenv
from azure.identity import DefaultAzureCredential
from azure.ai.projects import AIProjectClient

load_dotenv()

project_client = AIProjectClient(
    endpoint=os.environ["AZURE_AI_FOUNDRY_PROJECT_ENDPOINT"],
    credential=DefaultAzureCredential(),
)

agent_name = os.environ["AZURE_AI_FOUNDRY_AGENT_NAME"]
openai_client = project_client.get_openai_client()

# Optional Step: Create a conversation to use with the agent
conversation = openai_client.conversations.create()
print(f"Created conversation (id: {conversation.id})")

# Chat with the agent to answer questions
response = openai_client.responses.create(
    conversation=conversation.id, #Optional conversation context for multi-turn
    extra_body={"agent": {"name": agent_name, "type": "agent_reference"}},
    input="What is the size of France in square miles?",
)
print(f"Response output: {response.output_text}")

# Optional Step: Ask a follow-up question in the same conversation
response = openai_client.responses.create(
    conversation=conversation.id,
    extra_body={"agent": {"name": agent_name, "type": "agent_reference"}},
    input="And what is the capital city?",
)
print(f"Response output: {response.output_text}")

Bestanden toevoegen aan de agent

Agents hebben krachtige mogelijkheden via het gebruik van hulpprogramma's. We gaan een hulpprogramma voor het zoeken naar bestanden toevoegen waarmee we kennis kunnen ophalen.

Tip

Code maakt gebruik van Foundry-projecten (klassiek) API en is niet compatibel met Foundry-projecten (nieuwe) API (preview). Schakel over naar nieuwe Foundry-documentatie voor de nieuwe Foundry-projecten API-versie (weergave).

Vervang uw eindpunt door de endpoint in deze 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)

De hulpbronnen opschonen

Als u geen resources meer nodig hebt die u hebt gemaakt, verwijdert u de resourcegroep die aan uw project is gekoppeld.

Selecteer in de Microsoft Foundry-portal uw projectnaam in de rechterbovenhoek. Selecteer vervolgens de koppeling voor de resourcegroep om deze te openen in Azure Portal. Selecteer de resourcegroep en selecteer vervolgens Verwijderen. Bevestig dat u de resourcegroep wilt verwijderen.

Zoek en selecteer uw resourcegroep in Azure Portal. Selecteer Verwijderen en bevestig dat u de resourcegroep en alle bijbehorende resources wilt verwijderen.

Volgende stap