snabbstart för Microsoft Foundry (klassisk)

Visar för närvarande:Foundry-portalversion - (klassisk)Växla till version för den nya Foundry-portalen

I den här snabbstarten använder du Microsoft Foundry för att:

  • Skapa ett projekt
  • Distribuera en modell
  • Kör en chattavslutning
  • Skapa och köra en agent
  • Ladda upp filer till agenten

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.

Tips

Resten av den här artikeln visar hur du skapar och använder ett Foundry-projekt. Se Quickstart: Kom igång med Microsoft Foundry (Hub-projekt) om du vill använda ett hubbbaserat projekt i stället. Vilken typ av projekt behöver jag?

Förutsättningar

Viktigt

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.

I portalen kan du utforska en omfattande katalog med avancerade modeller från många olika leverantörer. I den här självstudien ska du söka efter och sedan välja "gpt-4o"-modellen.

  1. Logga in på Microsoft Foundry. Kontrollera att växlingsknappen New Foundry är inaktiverad. De här stegen refererar till Foundry (klassisk).

  2. Om du befinner dig i ett projekt, välj Microsoft Foundry i den övre vänstra delen av navigeringsvägen för att lämna projektet. Du skapar en ny om en stund.

  3. På landningssidan eller modellkatalogen väljer du gpt-4o (eller gpt-4o-mini).

    Skärmbild som visar hur du börjar med en modell i Foundry-portalen.

  4. Välj Använd den här modellen. När du uppmanas till det anger du ett nytt projektnamn och väljer Skapa.

  5. Granska distributionsnamnet och välj Skapa.

  6. Välj sedan Anslut och distribuera när du har valt en distributionstyp.

  7. Välj Öppna på lekplatsen på distributionssidan när den har distribuerats.

  8. Du hamnar i chattmiljön med modellen förberedd 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.

Gör dig redo att koda

Tips

Koden använder Azure AI Projects 1.x SDK och är inte kompatibel med Azure AI Projects 2.x. Se foundry-dokumentationen (ny) för Azure AI Projects 2.x-versionen.

  1. Installera följande paket:

    pip install openai azure-identity azure-ai-projects==1.0.0
    
  2. Hitta projektslutpunkten på välkomstskärmen i projektet.

    Skärmbild av välkomstskärmen Microsoft Foundry Models som visar slutpunkts-URL:en och kopieringsknappen.

  3. Logga in med cli-kommandot az login (eller az login --use-device-code) för att autentisera innan du kör dina Python skript.

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.

Tips

Koden använder Azure AI Projects 1.x SDK och är inte kompatibel med Azure AI Projects 2.x. Se foundry-dokumentationen (ny) för Azure AI Projects 2.x-versionen.

Ersätt din slutpunkt med 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)

Chatta med en agent

Skapa en agent och chatta med den.

Tips

Koden använder Azure AI Projects 1.x SDK och är inte kompatibel med Azure AI Projects 2.x. Se foundry-dokumentationen (ny) för Azure AI Projects 2.x-versionen.

Ersätt din slutpunkt med 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")

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.

Tips

Koden använder Azure AI Projects 1.x SDK och är inte kompatibel med Azure AI Projects 2.x. Se foundry-dokumentationen (ny) för Azure AI Projects 2.x-versionen.

Ersätt din slutpunkt med 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 Azure-portalen väljer du resursgruppen och väljer sedan Delete. Bekräfta att du vill ta bort resursgruppen.