Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Note
Det här dokumentet refererar till Microsoft Foundry-portalen (klassisk).
🔄 Växla till dokumentationen för Microsoft Foundry (ny) om du använder den nya portalen.
Note
Det här dokumentet refererar till Microsoft Foundry-portalen (ny).
I den här snabbstarten använder du Microsoft Foundry för att:
- Skapa ett projekt
- Driftsätt en modell
- Kör en chattavslutning
- Skapa och köra en agent
- Ladda upp filer till agenten
I den här snabbstarten använder du Microsoft Foundry för att:
- Skapa ett projekt
- Driftsätt en modell
- Gör dig redo att koda – installera nödvändiga paket och autentisera
- Chatta med en modell
- Skapa en handläggare
- Chatta med en agent
Microsoft Foundry SDK är tillgängligt på flera språk, inklusive Python, Java, TypeScript och C#. Den här snabbstarten innehåller instruktioner för vart och ett av dessa språk.
Tip
Resten av den här artikeln visar hur du skapar och använder ett Foundry-projekt. Se Snabbstart: Kom igång med Microsoft Foundry (hubbprojekt) om du vill använda ett hubbbaserat projekt i stället. Vilken typ av projekt behöver jag?
Prerequisites
- Ett Azure-konto med en aktiv prenumeration. Om du inte har ett skapar du ett kostnadsfritt Azure-konto, som innehåller en kostnadsfri utvärderingsprenumeration.
- Du måste vara ägare till prenumerationen för att få rätt åtkomstkontroll som krävs för att använda projektet.
- Installera nödvändiga språkkörningar, globala verktyg och VS Code-tillägg enligt beskrivningen i Förbereda utvecklingsmiljön.
Important
Kontrollera att utvecklingsmiljön är klar innan du börjar.
Den här snabbstarten fokuserar på scenariospecifika steg som SDK-installation , autentisering och körning av exempelkod.
Skapa resurser
I portalen kan du utforska en omfattande katalog med avancerade modeller från många olika leverantörer. I den här handledningen, sök och välj sedan gpt-4o-modellen.
-
Logga in på Microsoft Foundry. Kontrollera att växlingsknappen New Foundry är inaktiverad. De här stegen refererar till Foundry (klassisk).
Om du är i ett projekt väljer du Microsoft Foundry i det övre vänstra sökvägsfältet för att lämna projektet. Du skapar en ny om en stund.
På landningssidan eller modellkatalogen väljer du gpt-4o (eller gpt-4o-mini).
Välj Använd den här modellen. När du uppmanas till det anger du ett nytt projektnamn och väljer Skapa.
Granska distributionsnamnet och välj Skapa.
Välj sedan Anslut och distribuera när du har valt en distributionstyp.
Välj Öppna på lekplatsen på distributionssidan när den har distribuerats.
Du hamnar på chattlekplatsen med modellen fördistribuerad och redo att användas.
Om du skapar en agent kan du i stället börja med Skapa en agent. Stegen är liknande, men i en annan ordning. När projektet har skapats kommer du till agentlekplatsen i stället för chattlekplatsen.
Nu när du har en agent kan du interagera med den antingen i kod eller i portalen.
Du börjar i Microsoft Foundry-portalen för att skapa ett projekt och distribuera en modell. Den här snabbstarten använder minimodellen gpt-4-1 , men du kan använda valfri modell som stöds från flera leverantörer.
- Logga in på Microsoft Foundry. Kontrollera att växlingsknappen New Foundry är inaktiverad. De här stegen refererar till Foundry (klassisk).
Logga in på Microsoft Foundry. Kontrollera att växlingsknappen New Foundry är aktiverad. De här stegen refererar till Foundry (ny).
- Projekt hjälper dig att organisera ditt arbete. Projektet som du arbetar med visas i det övre vänstra hörnet.
- Om du vill skapa ett nytt projekt väljer du projektnamnet och sedan Skapa nytt projekt.
- Ge projektet ett namn och välj Skapa projekt.
- Distribuera nu en modell till projektet:
- Välj Identifiera i det övre högra navigeringsfältet.
- Välj Modeller.
- Sök efter gpt-4.1-mini-modellen.
- Välj Distribuera>standardinställningar för att lägga till dem i projektet.
Foundry Models gör det möjligt för kunder att använda de mest kraftfulla modellerna från flaggskeppsmodellprovidrar med en enda slutpunkt och autentiseringsuppgifter. Det innebär att du kan växla mellan modeller och använda dem från ditt program utan att ändra en enda kodrad.
Nu är du redo att gå vidare till att interagera med din modell och skapa en agent.
Gör dig redo att koda
Tip
Koden använder Foundry-projekt (klassiskt) API och är inte kompatibelt med Foundry-projekt (nytt) API (förhandsversion). Växla till Foundry-dokumentationen (ny) för Foundry-projektversionen (ny) API (förhandsversion).
Installera följande paket:
pip install openai azure-identity azure-ai-projects==1.0.0-
Med Microsoft Foundry Models kan kunder använda de mest kraftfulla modellerna från flaggskeppsmodellleverantörer med en enda slutpunkt och autentiseringsuppgifter. Det innebär att du kan växla mellan modeller och använda dem från ditt program utan att ändra en enda kodrad.
Kopiera slutpunkten för Foundry-projektet i avsnittet Översikt i projektet. Du kommer att använda den om en stund.
Tip
Om du inte ser slutpunkten för Foundry-projektet använder du ett hubbbaserat projekt. (Se Typer av projekt). Växla till ett Foundry-projekt eller använd föregående steg för att skapa ett.
- Välj Start i det övre högra navigeringsfältet.
- Välj Nycklar och kopiera slutpunkten. Du kommer att använda den om en stund.
Logga in med cli-kommandot
az login(elleraz login --use-device-code) för att autentisera innan du kör Python-skripten.
Följ med nedan eller hämta koden:
Important
Koden i den här artikeln använder paket som för närvarande är i förhandsversion. Den här förhandsversionen tillhandahålls utan ett serviceavtal och vi rekommenderar det inte för produktionsarbetsbelastningar. Vissa funktioner kanske inte stöds eller kan vara begränsade. Mer information finns i Kompletterande villkor för användning av Microsoft Azure-förhandsversioner.
Ange miljövariabler
Lagra slutpunkten som en miljövariabel. Ange även dessa värden för användning i skripten.
-
Kopiera slutpunkten från välkomstskärmen. Du använder den i nästa steg.
Ange de här miljövariablerna som ska användas i skripten:
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"
Installera och autentisera
Tip
Koden använder Foundry-projekt (nytt) API (förhandsversion) och är inte kompatibelt med Foundry-projekt (klassisk) API-version. Växla till Foundry-dokumentationen (klassisk) för Foundry-projektens (klassiska) API-version.
Installera dessa paket, inklusive förhandsversionen av
azure-ai-projects. Den här versionen använder Foundry-projekt (nytt) API (förhandsversion).pip install azure-ai-projects --pre pip install openai azure-identity python-dotenvLogga in med cli-kommandot
az login(elleraz login --use-device-code) för att autentisera innan du kör Python-skripten.
Följ med nedan eller hämta koden:
Chatta med en modell
Chattavslut är den grundläggande byggstenen för AI-program. Med hjälp av chattavslut kan du skicka en lista med meddelanden och få ett svar från modellen.
Tip
Koden använder Foundry-projekt (klassiskt) API och är inte kompatibelt med Foundry-projekt (nytt) API (förhandsversion). Växla till Foundry-dokumentationen (ny) för Foundry-projektversionen (ny) API (förhandsversion).
Ersätt din slutpunkt för endpoint i den här koden:
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)
Att interagera med en modell är den grundläggande byggstenen för AI-program. Skicka indata och ta emot ett svar från modellen:
Tip
Koden använder Foundry-projekt (nytt) API (förhandsversion) och är inte kompatibelt med Foundry-projekt (klassisk) API-version. Växla till Foundry-dokumentationen (klassisk) för Foundry-projektens (klassiska) API-version.
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}")
Skapa en handläggare
Skapa en agent med din distribuerade modell.
En agent definierar kärnbeteendet. När den har skapats säkerställer den konsekventa svar i användarinteraktioner utan att upprepa instruktioner varje gång. Du kan uppdatera eller ta bort agenter när som helst.
Tip
Koden använder Foundry-projekt (nytt) API (förhandsversion) och är inte kompatibelt med Foundry-projekt (klassisk) API-version. Växla till Foundry-dokumentationen (klassisk) för Foundry-projektens (klassiska) API-version.
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})")
Chatta med en agent
Skapa en agent och chatta med den.
Tip
Koden använder Foundry-projekt (klassiskt) API och är inte kompatibelt med Foundry-projekt (nytt) API (förhandsversion). Växla till Foundry-dokumentationen (ny) för Foundry-projektversionen (ny) API (förhandsversion).
Ersätt din slutpunkt för endpoint i den här koden:
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")
Använd den tidigare skapade agenten med namnet "MyAgent" för att interagera genom att ställa en fråga och en relaterad uppföljning. Konversationen upprätthåller historik över dessa interaktioner.
Tip
Koden använder Foundry-projekt (nytt) API (förhandsversion) och är inte kompatibelt med Foundry-projekt (klassisk) API-version. Växla till Foundry-dokumentationen (klassisk) för Foundry-projektens (klassiska) API-version.
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}")
Lägga till filer i agenten
Agenter har kraftfulla funktioner med hjälp av verktyg. Nu ska vi lägga till ett filsökningsverktyg som gör att vi kan hämta kunskap.
- Ladda ned product_info_1.md för att ge till din agent.
Tip
Koden använder Foundry-projekt (klassiskt) API och är inte kompatibelt med Foundry-projekt (nytt) API (förhandsversion). Växla till Foundry-dokumentationen (ny) för Foundry-projektversionen (ny) API (förhandsversion).
Ersätt din slutpunkt för endpoint i den här koden:
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)
Rensa resurser
Om du inte längre behöver någon av de resurser som du har skapat tar du bort den resursgrupp som är associerad med projektet.
I Microsoft Foundry-portalen väljer du projektnamnet i det övre högra hörnet. Välj sedan länken för resursgruppen för att öppna den i Azure-portalen. Välj resursgruppen och välj sedan Ta bort. Bekräfta att du vill ta bort resursgruppen.
I Azure-portalen letar du upp och väljer din resursgrupp. Välj Ta bort och bekräfta för att ta bort resursgruppen och alla dess associerade resurser.