Dela via


Snabbstart: Skapa en ny agent (förhandsversion)

Med Azure AI Agent Service kan du skapa AI-agenter som är skräddarsydda för dina behov med hjälp av anpassade instruktioner och utökade med avancerade verktyg som kodtolkare och anpassade funktioner.

Förutsättningar

Grundläggande support för agentkonfiguration

Innan du kommer igång ska du avgöra om du vill utföra en grundläggande agentkonfiguration eller en standardagentkonfiguration. Azure AI Foundry stöder endast grundläggande agentkonfiguration.

Grundläggande installation: Agenter använder sök- och lagringsresurser för flera klientorganisationer som hanteras fullständigt av Microsoft. Du har inte insyn eller kontroll över dessa underliggande Azure-resurser. Du kan skapa en grundläggande konfiguration med hjälp av Azure AI Foundry-portalen eller en automatiserad bicep-mall.

Standardkonfiguration: Agenter använder kundägda sök- och lagringsresurser med en enda klientorganisation. Med den här konfigurationen har du fullständig kontroll och insyn över dessa resurser, men du ådrar dig kostnader baserat på din användning. Standardkonfigurationen kan endast utföras med hjälp av en automatiserad bicep-mall.

Viktigt!

Azure AI Foundry-portalen stöder bara grundläggande konfiguration just nu. Om du vill utföra en standardagentkonfiguration använder du de andra flikarna överst i artikeln för att lära dig mer om standardagentkonfiguration.

Skapa en hubb och ett projekt i Azure AI Foundry-portalen

Om du vill skapa en ny hubb och ett nytt projekt behöver du antingen rollen Ägare eller Deltagare i resursgruppen eller på en befintlig hubb. Kontakta administratören om du inte kan skapa en hubb på grund av behörigheter.

Följ dessa steg för att skapa ett projekt i Azure AI Foundry:

  1. Gå till Azure AI Foundry. Om du är i ett projekt väljer du Azure AI Foundry längst upp till vänster på sidan för att gå till startsidan.

  2. Välj + Skapa projekt.

  3. Ange ett namn för projektet.

  4. Om du har en hubb ser du den som du senast använde valt.

  5. Om du har åtkomst till mer än en hubb kan du välja en annan hubb i listrutan.

  6. Om du vill skapa en ny väljer du Skapa ny hubb och anger ett namn. Om du vill anpassa standardvärdena kan du läsa dokumentationen om Azure AI Foundry.

    Skärmbild av projektinformationssidan i dialogrutan Skapa projekt.

  7. Välj Skapa.

Distribuera en modell

  1. Logga in på Azure AI Foundry.

  2. Gå till projektet eller skapa ett nytt projekt i Azure AI Foundry-portalen.

  3. I projektöversikten väljer du Agenter under Skapa och anpassa.

  4. Välj din Azure OpenAI-resurs.

    En skärmbild av den första skärmen Agenter.

  5. Välj en modelldistribution som agenten ska använda. Om du inte har en skärm öppnas en skärm för att distribuera en ny modell. Annars kan du välja Distribuera en modell.

    En skärmbild av skärmen för modellval.

    En skärmbild av tillgängliga modeller.

Använda agentens lekplats

Med agenternas lekplats kan du utforska, prototypa och testa agenter utan att behöva köra någon kod. Från den här sidan kan du snabbt iterera och experimentera med nya idéer.

  1. På skärmen Skapa och felsöka dina agenter väljer du din agent eller skapar en ny med Ny agent. I installationsfönstret till höger kan du ändra dess parametrar och verktyg.

    Du kan också ge din agent ett annat namn än det som genereras för den och lägga till instruktioner för att förbättra dess prestanda. Ge din agent tydliga anvisningar om vad du ska göra och hur du gör det. Inkludera specifika uppgifter, deras ordning och eventuella särskilda instruktioner som ton- eller engagemangsstil.

    En skärmbild av skärmen Skapa och felsöka agenter.

    Dricks

    Din agent kan komma åt flera verktyg, till exempel kodtolkare som utökar dess funktioner, till exempel möjligheten att söka på webben med Bing, köra kod med mera. I installationsfönstretrullar du ned till kunskap och åtgärd och väljer Lägg till för att se de verktyg som är tillgängliga för användning. En skärmbild av alternativen för agentverktyg.

Se även

Kolla in de modeller som du kan använda med agenter.

| Referensdokumentation | Exempel | på biblioteks källkodspaket | (NuGet) |

Förutsättningar

Konfigurera ditt Azure AI Hub- och Agent-projekt

I följande avsnitt visas hur du konfigurerar de resurser som krävs för att komma igång med Azure AI Agent Service:

  1. Skapa en Azure AI Hub för att konfigurera din appmiljö och Azure-resurser.

  2. När du skapar ett Azure AI-projekt under hubben skapas en slutpunkt som appen kan anropa och konfigurerar apptjänster för åtkomst till resurser i din klientorganisation.

  3. Ansluta en Azure OpenAI-resurs eller en Azure AI Services-resurs

Välj Basic- eller Standard Agent-konfiguration

Grundläggande installation: Agenter använder sök- och lagringsresurser för flera klientorganisationer som hanteras fullständigt av Microsoft. Du har inte insyn eller kontroll över dessa underliggande Azure-resurser.

Standardkonfiguration: Agenter använder kundägda sök- och lagringsresurser med en enda klientorganisation. Med den här konfigurationen har du fullständig kontroll och insyn över dessa resurser, men du ådrar dig kostnader baserat på din användning.

Kommentar

Du kan använda följande automatiserade bicep-mallar för att utföra antingen en standardagent eller en grundläggande agent. Du kan också skapa en grundläggande agent med hjälp av Azure AI Foundry-portalen. Azure AI Foundry stöder för närvarande inte standardkonfigurationen av agenten.

Beskrivning och autodeploy Diagram (klicka för att zooma in)
Distribuera en grundläggande agentkonfiguration som använder hanterad identitet för autentisering. Resurser för AI-hubben, AI-projektet, lagringskontot och AI-tjänsterna skapas åt dig.

AI Services-kontot är anslutet till projektet och hubben och en gpt-4o-mini-modell distribueras i regionen eastus. Ett Microsoft-hanterat nyckelvalv används som standard.

Distribuera till Azure
Ett arkitekturdiagram för grundläggande agentkonfiguration.
Distribuera en standardagentkonfiguration som använder hanterad identitet för autentisering.

Resurser för AI-hubben, AI-projektet, nyckelvalvet, lagringskontot, AI Services och AI Search skapas åt dig.

AI-tjänster, AI-sökning, nyckelvalv och lagringskonto är anslutna till ditt projekt och din hubb. En gpt-4o-mini-modell distribueras i regionen eastus.

Distribuera till Azure
Ett arkitekturdiagram för standardagentkonfiguration.

[Valfritt] Modellval i mall för automatisk distribution

Du kan anpassa den modell som används av agenten genom att redigera modellparametrarna i mallen för automatisk distribution. Om du vill distribuera en annan modell måste du uppdatera parametrarna modelName och modelVersion .

Som standard konfigureras distributionsmallen med följande värden:

Modellparameter Standardvärde
modelName gpt-4o-mini
modelFormat OpenAI (för Azure OpenAI)
modelVersion 2024-07-18
modelSkuName GlobalStandard
modelLocation eastus

Viktigt!

Ändra inte parametern modelFormat.

Mallarna stöder endast distribution av Azure OpenAI-modeller. Se vilka Azure OpenAI-modeller som stöds i supportdokumentationen för Azure AI Agent Service-modellen.

[Valfritt] Använd dina egna resurser under agentkonfigurationen

Kommentar

Om du använder en befintlig AI Services- eller Azure OpenAI-resurs distribueras ingen modell. Du kan distribuera en modell till resursen när agentkonfigurationen är klar.

Använd en befintlig AI Services-, Azure OpenAI-, AI Search- och/eller Azure Blob Storage-resurs genom att ange det fullständiga armresurs-ID:t i parameterfilen:

  • aiServiceAccountResourceId
  • aiSearchServiceResourceId
  • aiStorageAccountResourceId

Om du vill använda en befintlig Azure OpenAI-resurs måste du uppdatera parametrarna aiServiceAccountResourceIdaiServiceKind och i parameterfilen. Parametern aiServiceKind ska vara inställd på AzureOpenAI.

Mer information finns i hur du använder dina egna resurser.

Konfigurera och köra en agent

Komponent beskrivning
Handläggare Anpassad AI som använder AI-modeller tillsammans med verktyg.
Verktyg Verktyg hjälper till att utöka en agent förmåga att svara tillförlitligt och korrekt under konversationen. Som att ansluta till användardefinierade kunskapsbas för att jorda modellen eller aktivera webbsökning för att tillhandahålla aktuell information.
Tråd En konversationssession mellan en agent och en användare. Trådar lagrar meddelanden och hanterar automatiskt trunkering för att passa in innehåll i en modells kontext.
Meddelande Ett meddelande som skapats av en agent eller en användare. Meddelanden kan innehålla text, bilder och andra filer. Meddelanden lagras som en lista i tråden.
Kör Aktivering av en agent för att börja köras baserat på innehållet i Tråd. Agenten använder sin konfiguration och Trådens meddelanden för att utföra uppgifter genom att anropa modeller och verktyg. Som en del av en Körning lägger agenten till Meddelanden i tråden.
Kör steg En detaljerad lista över steg som agenten vidtog som en del av en Körning. En agent kan anropa verktyg eller skapa meddelanden under körningen. Genom att undersöka körningssteg kan du förstå hur agenten kommer till sina resultat.

Installera .NET-paketet i projektet. Om du till exempel använder .NET CLI kör du följande kommando.

dotnet add package Azure.AI.Projects
dotnet add package Azure.Identity

För att autentisera dina API-begäranden och köra programmet använder du kommandot az login för att logga in på din Azure-prenumeration.

az login

Använd följande kod för att skapa och köra en agent. Om du vill köra den här koden måste du skapa en anslutningssträng med hjälp av information från projektet. Den här strängen är i formatet:

<HostName>;<AzureSubscriptionId>;<ResourceGroup>;<ProjectName>

Dricks

Du hittar även din anslutningssträng i översikten för projektet i Azure AI Foundry-portalen under Projektinformation>Project anslutningssträng. En skärmbild som visar anslutningssträng i Azure AI Foundry-portalen.

HostName kan hittas genom att navigera till din discovery_url och ta bort den inledande https:// och avslutande /discovery. För att hitta ditt discovery_urlkör du det här CLI-kommandot:

az ml workspace show -n {project_name} --resource-group {resource_group_name} --query discovery_url

Din anslutningssträng kan till exempel se ut ungefär så här:

eastus.api.azureml.ms;12345678-abcd-1234-9fc6-62780b3d3e05;my-resource-group;my-project-name

Ange den här anslutningssträng som en miljövariabel med namnet PROJECT_CONNECTION_STRING.

// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.

#nullable disable

using Azure.Identity;

namespace Azure.AI.Projects.Tests;

public class Sample_Agent
{
    static async Task Main()
    {
        var connectionString = Environment.GetEnvironmentVariable("PROJECT_CONNECTION_STRING");

        AgentsClient client = new AgentsClient(connectionString, new DefaultAzureCredential());

        // Step 1: Create an agent
        Response<Agent> agentResponse = await client.CreateAgentAsync(
            model: "gpt-4o-mini",
            name: "My Agent",
            instructions: "You are a helpful agent.",
            tools: new List<ToolDefinition> { new CodeInterpreterToolDefinition() });
        Agent agent = agentResponse.Value;

        // Intermission: agent should now be listed

        Response<PageableList<Agent>> agentListResponse = await client.GetAgentsAsync();

        //// Step 2: Create a thread
        Response<AgentThread> threadResponse = await client.CreateThreadAsync();
        AgentThread thread = threadResponse.Value;

        // Step 3: Add a message to a thread
        Response<ThreadMessage> messageResponse = await client.CreateMessageAsync(
            thread.Id,
            MessageRole.User,
            "I need to solve the equation `3x + 11 = 14`. Can you help me?");
        ThreadMessage message = messageResponse.Value;

        // Intermission: message is now correlated with thread
        // Intermission: listing messages will retrieve the message just added

        Response<PageableList<ThreadMessage>> messagesListResponse = await client.GetMessagesAsync(thread.Id);
        //Assert.That(messagesListResponse.Value.Data[0].Id == message.Id);

        // Step 4: Run the agent
        Response<ThreadRun> runResponse = await client.CreateRunAsync(
            thread.Id,
            agent.Id,
            additionalInstructions: "");
        ThreadRun run = runResponse.Value;

        do
        {
            await Task.Delay(TimeSpan.FromMilliseconds(500));
            runResponse = await client.GetRunAsync(thread.Id, runResponse.Value.Id);
        }
        while (runResponse.Value.Status == RunStatus.Queued
            || runResponse.Value.Status == RunStatus.InProgress);

        Response<PageableList<ThreadMessage>> afterRunMessagesResponse
            = await client.GetMessagesAsync(thread.Id);
        IReadOnlyList<ThreadMessage> messages = afterRunMessagesResponse.Value.Data;

        // Note: messages iterate from newest to oldest, with the messages[0] being the most recent
        foreach (ThreadMessage threadMessage in messages)
        {
            Console.Write($"{threadMessage.CreatedAt:yyyy-MM-dd HH:mm:ss} - {threadMessage.Role,10}: ");
            foreach (MessageContent contentItem in threadMessage.ContentItems)
            {
                if (contentItem is MessageTextContent textItem)
                {
                    Console.Write(textItem.Text);
                }
                else if (contentItem is MessageImageFileContent imageFileItem)
                {
                    Console.Write($"<image from ID: {imageFileItem.FileId}");
                }
                Console.WriteLine();
            }
        }
    }
}

| Referensdokumentation | Exempel | på biblioteks källkodspaket | (PyPi) |

Förutsättningar

Konfigurera ditt Azure AI Hub- och Agent-projekt

I följande avsnitt visas hur du konfigurerar de resurser som krävs för att komma igång med Azure AI Agent Service:

  1. Skapa en Azure AI Hub för att konfigurera din appmiljö och Azure-resurser.

  2. När du skapar ett Azure AI-projekt under hubben skapas en slutpunkt som appen kan anropa och konfigurerar apptjänster för åtkomst till resurser i din klientorganisation.

  3. Ansluta en Azure OpenAI-resurs eller en Azure AI Services-resurs

Välj Basic- eller Standard Agent-konfiguration

Grundläggande installation: Agenter använder sök- och lagringsresurser för flera klientorganisationer som hanteras fullständigt av Microsoft. Du har inte insyn eller kontroll över dessa underliggande Azure-resurser.

Standardkonfiguration: Agenter använder kundägda sök- och lagringsresurser med en enda klientorganisation. Med den här konfigurationen har du fullständig kontroll och insyn över dessa resurser, men du ådrar dig kostnader baserat på din användning.

Kommentar

Du kan använda följande automatiserade bicep-mallar för att utföra antingen en standardagent eller en grundläggande agent. Du kan också skapa en grundläggande agent med hjälp av Azure AI Foundry-portalen. Azure AI Foundry stöder för närvarande inte standardkonfigurationen av agenten.

Beskrivning och autodeploy Diagram (klicka för att zooma in)
Distribuera en grundläggande agentkonfiguration som använder hanterad identitet för autentisering. Resurser för AI-hubben, AI-projektet, lagringskontot och AI-tjänsterna skapas åt dig.

AI Services-kontot är anslutet till projektet och hubben och en gpt-4o-mini-modell distribueras i regionen eastus. Ett Microsoft-hanterat nyckelvalv används som standard.

Distribuera till Azure
Ett arkitekturdiagram för grundläggande agentkonfiguration.
Distribuera en standardagentkonfiguration som använder hanterad identitet för autentisering.

Resurser för AI-hubben, AI-projektet, nyckelvalvet, lagringskontot, AI Services och AI Search skapas åt dig.

AI-tjänster, AI-sökning, nyckelvalv och lagringskonto är anslutna till ditt projekt och din hubb. En gpt-4o-mini-modell distribueras i regionen eastus.

Distribuera till Azure
Ett arkitekturdiagram för standardagentkonfiguration.

[Valfritt] Modellval i mall för automatisk distribution

Du kan anpassa den modell som används av agenten genom att redigera modellparametrarna i mallen för automatisk distribution. Om du vill distribuera en annan modell måste du uppdatera parametrarna modelName och modelVersion .

Som standard konfigureras distributionsmallen med följande värden:

Modellparameter Standardvärde
modelName gpt-4o-mini
modelFormat OpenAI (för Azure OpenAI)
modelVersion 2024-07-18
modelSkuName GlobalStandard
modelLocation eastus

Viktigt!

Ändra inte parametern modelFormat.

Mallarna stöder endast distribution av Azure OpenAI-modeller. Se vilka Azure OpenAI-modeller som stöds i supportdokumentationen för Azure AI Agent Service-modellen.

[Valfritt] Använd dina egna resurser under agentkonfigurationen

Kommentar

Om du använder en befintlig AI Services- eller Azure OpenAI-resurs distribueras ingen modell. Du kan distribuera en modell till resursen när agentkonfigurationen är klar.

Använd en befintlig AI Services-, Azure OpenAI-, AI Search- och/eller Azure Blob Storage-resurs genom att ange det fullständiga armresurs-ID:t i parameterfilen:

  • aiServiceAccountResourceId
  • aiSearchServiceResourceId
  • aiStorageAccountResourceId

Om du vill använda en befintlig Azure OpenAI-resurs måste du uppdatera parametrarna aiServiceAccountResourceIdaiServiceKind och i parameterfilen. Parametern aiServiceKind ska vara inställd på AzureOpenAI.

Mer information finns i hur du använder dina egna resurser.

Konfigurera och köra en agent

Komponent beskrivning
Handläggare Anpassad AI som använder AI-modeller tillsammans med verktyg.
Verktyg Verktyg hjälper till att utöka en agent förmåga att svara tillförlitligt och korrekt under konversationen. Som att ansluta till användardefinierade kunskapsbas för att jorda modellen eller aktivera webbsökning för att tillhandahålla aktuell information.
Tråd En konversationssession mellan en agent och en användare. Trådar lagrar meddelanden och hanterar automatiskt trunkering för att passa in innehåll i en modells kontext.
Meddelande Ett meddelande som skapats av en agent eller en användare. Meddelanden kan innehålla text, bilder och andra filer. Meddelanden lagras som en lista i tråden.
Kör Aktivering av en agent för att börja köras baserat på innehållet i Tråd. Agenten använder sin konfiguration och Trådens meddelanden för att utföra uppgifter genom att anropa modeller och verktyg. Som en del av en Körning lägger agenten till Meddelanden i tråden.
Kör steg En detaljerad lista över steg som agenten vidtog som en del av en Körning. En agent kan anropa verktyg eller skapa meddelanden under körningen. Genom att undersöka körningssteg kan du förstå hur agenten kommer till sina resultat.

Kör följande kommandon för att installera Python-paketen.

pip install azure-ai-projects
pip install azure-identity

För att autentisera dina API-begäranden och köra programmet använder du kommandot az login för att logga in på din Azure-prenumeration.

az login

Använd följande kod för att skapa och köra en agent. Om du vill köra den här koden måste du skapa en anslutningssträng med hjälp av information från projektet. Den här strängen är i formatet:

<HostName>;<AzureSubscriptionId>;<ResourceGroup>;<ProjectName>

Dricks

Du hittar även din anslutningssträng i översikten för projektet i Azure AI Foundry-portalen under Projektinformation>Project anslutningssträng. En skärmbild som visar anslutningssträng i Azure AI Foundry-portalen.

HostName kan hittas genom att navigera till din discovery_url och ta bort den inledande https:// och avslutande /discovery. För att hitta ditt discovery_urlkör du det här CLI-kommandot:

az ml workspace show -n {project_name} --resource-group {resource_group_name} --query discovery_url

Din anslutningssträng kan till exempel se ut ungefär så här:

eastus.api.azureml.ms;12345678-abcd-1234-9fc6-62780b3d3e05;my-resource-group;my-project-name

Ange den här anslutningssträng som en miljövariabel med namnet PROJECT_CONNECTION_STRING.

import os
from azure.ai.projects import AIProjectClient
from azure.ai.projects.models import CodeInterpreterTool
from azure.identity import DefaultAzureCredential
from typing import Any
from pathlib import Path

# Create an Azure AI Client from a connection string, copied from your Azure AI Foundry project.
# At the moment, it should be in the format "<HostName>;<AzureSubscriptionId>;<ResourceGroup>;<ProjectName>"
# HostName can be found by navigating to your discovery_url and removing the leading "https://" and trailing "/discovery"
# To find your discovery_url, run the CLI command: az ml workspace show -n {project_name} --resource-group {resource_group_name} --query discovery_url
# Project Connection example: eastus.api.azureml.ms;12345678-abcd-1234-9fc6-62780b3d3e05;my-resource-group;my-project-name
# Customer needs to login to Azure subscription via Azure CLI and set the environment variables

project_client = AIProjectClient.from_connection_string(
    credential=DefaultAzureCredential(), conn_str=os.environ["PROJECT_CONNECTION_STRING"]
)

with project_client:
    # Create an instance of the CodeInterpreterTool
    code_interpreter = CodeInterpreterTool()

    # The CodeInterpreterTool needs to be included in creation of the agent
    agent = project_client.agents.create_agent(
        model="gpt-4o-mini",
        name="my-agent",
        instructions="You are helpful agent",
        tools=code_interpreter.definitions,
        tool_resources=code_interpreter.resources,
    )
    print(f"Created agent, agent ID: {agent.id}")

    # Create a thread
    thread = project_client.agents.create_thread()
    print(f"Created thread, thread ID: {thread.id}")

    # Create a message
    message = project_client.agents.create_message(
        thread_id=thread.id,
        role="user",
        content="Could you please create a bar chart for the operating profit using the following data and provide the file to me? Company A: $1.2 million, Company B: $2.5 million, Company C: $3.0 million, Company D: $1.8 million",
    )
    print(f"Created message, message ID: {message.id}")

    # Run the agent
    run = project_client.agents.create_and_process_run(thread_id=thread.id, assistant_id=agent.id)
    print(f"Run finished with status: {run.status}")

    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_client.agents.list_messages(thread_id=thread.id)
    print(f"Messages: {messages}")

    # Get the last message from the sender
    last_msg = messages.get_last_text_message_by_role("assistant")
    if last_msg:
        print(f"Last Message: {last_msg.text.value}")

    # Generate an image file for the bar chart
    for image_content in messages.image_contents:
        print(f"Image File ID: {image_content.image_file.file_id}")
        file_name = f"{image_content.image_file.file_id}_image_file.png"
        project_client.agents.save_file(file_id=image_content.image_file.file_id, file_name=file_name)
        print(f"Saved image file to: {Path.cwd() / file_name}")

    # Print the file path(s) from the messages
    for file_path_annotation in messages.file_path_annotations:
        print(f"File Paths:")
        print(f"Type: {file_path_annotation.type}")
        print(f"Text: {file_path_annotation.text}")
        print(f"File ID: {file_path_annotation.file_path.file_id}")
        print(f"Start Index: {file_path_annotation.start_index}")
        print(f"End Index: {file_path_annotation.end_index}")
        project_client.agents.save_file(file_id=file_path_annotation.file_path.file_id, file_name=Path(file_path_annotation.text).name)

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

| ReferensdokumentationEns källkodspaket | för bibliotek (PyPi) | |

Förutsättningar

Konfigurera ditt Azure AI Hub- och Agent-projekt

I följande avsnitt visas hur du konfigurerar de resurser som krävs för att komma igång med Azure AI Agent Service:

  1. Skapa en Azure AI Hub för att konfigurera din appmiljö och Azure-resurser.

  2. När du skapar ett Azure AI-projekt under hubben skapas en slutpunkt som appen kan anropa och konfigurerar apptjänster för åtkomst till resurser i din klientorganisation.

  3. Ansluta en Azure OpenAI-resurs eller en Azure AI Services-resurs

Välj Basic- eller Standard Agent-konfiguration

Grundläggande installation: Agenter använder sök- och lagringsresurser för flera klientorganisationer som hanteras fullständigt av Microsoft. Du har inte insyn eller kontroll över dessa underliggande Azure-resurser.

Standardkonfiguration: Agenter använder kundägda sök- och lagringsresurser med en enda klientorganisation. Med den här konfigurationen har du fullständig kontroll och insyn över dessa resurser, men du ådrar dig kostnader baserat på din användning.

Kommentar

Du kan använda följande automatiserade bicep-mallar för att utföra antingen en standardagent eller en grundläggande agent. Du kan också skapa en grundläggande agent med hjälp av Azure AI Foundry-portalen. Azure AI Foundry stöder för närvarande inte standardkonfigurationen av agenten.

Beskrivning och autodeploy Diagram (klicka för att zooma in)
Distribuera en grundläggande agentkonfiguration som använder hanterad identitet för autentisering. Resurser för AI-hubben, AI-projektet, lagringskontot och AI-tjänsterna skapas åt dig.

AI Services-kontot är anslutet till projektet och hubben och en gpt-4o-mini-modell distribueras i regionen eastus. Ett Microsoft-hanterat nyckelvalv används som standard.

Distribuera till Azure
Ett arkitekturdiagram för grundläggande agentkonfiguration.
Distribuera en standardagentkonfiguration som använder hanterad identitet för autentisering.

Resurser för AI-hubben, AI-projektet, nyckelvalvet, lagringskontot, AI Services och AI Search skapas åt dig.

AI-tjänster, AI-sökning, nyckelvalv och lagringskonto är anslutna till ditt projekt och din hubb. En gpt-4o-mini-modell distribueras i regionen eastus.

Distribuera till Azure
Ett arkitekturdiagram för standardagentkonfiguration.

[Valfritt] Modellval i mall för automatisk distribution

Du kan anpassa den modell som används av agenten genom att redigera modellparametrarna i mallen för automatisk distribution. Om du vill distribuera en annan modell måste du uppdatera parametrarna modelName och modelVersion .

Som standard konfigureras distributionsmallen med följande värden:

Modellparameter Standardvärde
modelName gpt-4o-mini
modelFormat OpenAI (för Azure OpenAI)
modelVersion 2024-07-18
modelSkuName GlobalStandard
modelLocation eastus

Viktigt!

Ändra inte parametern modelFormat.

Mallarna stöder endast distribution av Azure OpenAI-modeller. Se vilka Azure OpenAI-modeller som stöds i supportdokumentationen för Azure AI Agent Service-modellen.

[Valfritt] Använd dina egna resurser under agentkonfigurationen

Kommentar

Om du använder en befintlig AI Services- eller Azure OpenAI-resurs distribueras ingen modell. Du kan distribuera en modell till resursen när agentkonfigurationen är klar.

Använd en befintlig AI Services-, Azure OpenAI-, AI Search- och/eller Azure Blob Storage-resurs genom att ange det fullständiga armresurs-ID:t i parameterfilen:

  • aiServiceAccountResourceId
  • aiSearchServiceResourceId
  • aiStorageAccountResourceId

Om du vill använda en befintlig Azure OpenAI-resurs måste du uppdatera parametrarna aiServiceAccountResourceIdaiServiceKind och i parameterfilen. Parametern aiServiceKind ska vara inställd på AzureOpenAI.

Mer information finns i hur du använder dina egna resurser.

Konfigurera och köra en agent

Komponent beskrivning
Handläggare Anpassad AI som använder AI-modeller tillsammans med verktyg.
Verktyg Verktyg hjälper till att utöka en agent förmåga att svara tillförlitligt och korrekt under konversationen. Som att ansluta till användardefinierade kunskapsbas för att jorda modellen eller aktivera webbsökning för att tillhandahålla aktuell information.
Tråd En konversationssession mellan en agent och en användare. Trådar lagrar meddelanden och hanterar automatiskt trunkering för att passa in innehåll i en modells kontext.
Meddelande Ett meddelande som skapats av en agent eller en användare. Meddelanden kan innehålla text, bilder och andra filer. Meddelanden lagras som en lista i tråden.
Kör Aktivering av en agent för att börja köras baserat på innehållet i Tråd. Agenten använder sin konfiguration och Trådens meddelanden för att utföra uppgifter genom att anropa modeller och verktyg. Som en del av en Körning lägger agenten till Meddelanden i tråden.
Kör steg En detaljerad lista över steg som agenten vidtog som en del av en Körning. En agent kan anropa verktyg eller skapa meddelanden under körningen. Genom att undersöka körningssteg kan du förstå hur agenten kommer till sina resultat.

Kör följande kommandon för att installera Python-paketen.

pip install azure-ai-projects
pip install azure-identity
pip install openai

För att autentisera dina API-begäranden och köra programmet använder du kommandot az login för att logga in på din Azure-prenumeration.

az login

Använd följande kod för att skapa och köra en agent. Om du vill köra den här koden måste du skapa en anslutningssträng med hjälp av information från projektet. Den här strängen är i formatet:

<HostName>;<AzureSubscriptionId>;<ResourceGroup>;<ProjectName>

Dricks

Du hittar även din anslutningssträng i översikten för projektet i Azure AI Foundry-portalen under Projektinformation>Project anslutningssträng. En skärmbild som visar anslutningssträng i Azure AI Foundry-portalen.

HostName kan hittas genom att navigera till din discovery_url och ta bort den inledande https:// och avslutande /discovery. För att hitta ditt discovery_urlkör du det här CLI-kommandot:

az ml workspace show -n {project_name} --resource-group {resource_group_name} --query discovery_url

Din anslutningssträng kan till exempel se ut ungefär så här:

eastus.api.azureml.ms;12345678-abcd-1234-9fc6-62780b3d3e05;my-resource-group;my-project-name

Ange den här anslutningssträng som en miljövariabel med namnet PROJECT_CONNECTION_STRING.

import os, time
from azure.ai.projects import AIProjectClient
from azure.identity import DefaultAzureCredential
from openai import AzureOpenAI


with AIProjectClient.from_connection_string(
    credential=DefaultAzureCredential(),
    conn_str=os.environ["PROJECT_CONNECTION_STRING"],
) as project_client:

    # Explicit type hinting for IntelliSense
    client: AzureOpenAI = project_client.inference.get_azure_openai_client(
        # The latest API version is 2024-10-01-preview
        api_version = os.environ.get("AZURE_OPENAI_API_VERSION"),
    )

    with client:
        agent = client.beta.assistants.create(
            model="gpt-4o-mini", name="my-agent", instructions="You are a helpful agent"
        )
        print(f"Created agent, agent ID: {agent.id}")

        thread = client.beta.threads.create()
        print(f"Created thread, thread ID: {thread.id}")

        message = client.beta.threads.messages.create(thread_id=thread.id, role="user", content="Hello, tell me a joke")
        print(f"Created message, message ID: {message.id}")

        run = client.beta.threads.runs.create(thread_id=thread.id, assistant_id=agent.id)

        # Poll the run while run status is queued or in progress
        while run.status in ["queued", "in_progress", "requires_action"]:
            time.sleep(1)  # Wait for a second
            run = client.beta.threads.runs.retrieve(thread_id=thread.id, run_id=run.id)
            print(f"Run status: {run.status}")

        client.beta.assistants.delete(agent.id)
        print("Deleted agent")

        messages = client.beta.threads.messages.list(thread_id=thread.id)
        print(f"Messages: {messages}")

| Referensdokumentation | Exempel | på paket för bibliotekskällkod | (npm) |

Förutsättningar

Konfigurera ditt Azure AI Hub- och Agent-projekt

I följande avsnitt visas hur du konfigurerar de resurser som krävs för att komma igång med Azure AI Agent Service:

  1. Skapa en Azure AI Hub för att konfigurera din appmiljö och Azure-resurser.

  2. När du skapar ett Azure AI-projekt under hubben skapas en slutpunkt som appen kan anropa och konfigurerar apptjänster för åtkomst till resurser i din klientorganisation.

  3. Ansluta en Azure OpenAI-resurs eller en Azure AI Services-resurs

Välj Basic- eller Standard Agent-konfiguration

Grundläggande installation: Agenter använder sök- och lagringsresurser för flera klientorganisationer som hanteras fullständigt av Microsoft. Du har inte insyn eller kontroll över dessa underliggande Azure-resurser.

Standardkonfiguration: Agenter använder kundägda sök- och lagringsresurser med en enda klientorganisation. Med den här konfigurationen har du fullständig kontroll och insyn över dessa resurser, men du ådrar dig kostnader baserat på din användning.

Kommentar

Du kan använda följande automatiserade bicep-mallar för att utföra antingen en standardagent eller en grundläggande agent. Du kan också skapa en grundläggande agent med hjälp av Azure AI Foundry-portalen. Azure AI Foundry stöder för närvarande inte standardkonfigurationen av agenten.

Beskrivning och autodeploy Diagram (klicka för att zooma in)
Distribuera en grundläggande agentkonfiguration som använder hanterad identitet för autentisering. Resurser för AI-hubben, AI-projektet, lagringskontot och AI-tjänsterna skapas åt dig.

AI Services-kontot är anslutet till projektet och hubben och en gpt-4o-mini-modell distribueras i regionen eastus. Ett Microsoft-hanterat nyckelvalv används som standard.

Distribuera till Azure
Ett arkitekturdiagram för grundläggande agentkonfiguration.
Distribuera en standardagentkonfiguration som använder hanterad identitet för autentisering.

Resurser för AI-hubben, AI-projektet, nyckelvalvet, lagringskontot, AI Services och AI Search skapas åt dig.

AI-tjänster, AI-sökning, nyckelvalv och lagringskonto är anslutna till ditt projekt och din hubb. En gpt-4o-mini-modell distribueras i regionen eastus.

Distribuera till Azure
Ett arkitekturdiagram för standardagentkonfiguration.

[Valfritt] Modellval i mall för automatisk distribution

Du kan anpassa den modell som används av agenten genom att redigera modellparametrarna i mallen för automatisk distribution. Om du vill distribuera en annan modell måste du uppdatera parametrarna modelName och modelVersion .

Som standard konfigureras distributionsmallen med följande värden:

Modellparameter Standardvärde
modelName gpt-4o-mini
modelFormat OpenAI (för Azure OpenAI)
modelVersion 2024-07-18
modelSkuName GlobalStandard
modelLocation eastus

Viktigt!

Ändra inte parametern modelFormat.

Mallarna stöder endast distribution av Azure OpenAI-modeller. Se vilka Azure OpenAI-modeller som stöds i supportdokumentationen för Azure AI Agent Service-modellen.

[Valfritt] Använd dina egna resurser under agentkonfigurationen

Kommentar

Om du använder en befintlig AI Services- eller Azure OpenAI-resurs distribueras ingen modell. Du kan distribuera en modell till resursen när agentkonfigurationen är klar.

Använd en befintlig AI Services-, Azure OpenAI-, AI Search- och/eller Azure Blob Storage-resurs genom att ange det fullständiga armresurs-ID:t i parameterfilen:

  • aiServiceAccountResourceId
  • aiSearchServiceResourceId
  • aiStorageAccountResourceId

Om du vill använda en befintlig Azure OpenAI-resurs måste du uppdatera parametrarna aiServiceAccountResourceIdaiServiceKind och i parameterfilen. Parametern aiServiceKind ska vara inställd på AzureOpenAI.

Mer information finns i hur du använder dina egna resurser.

Konfigurera och köra en agent

Komponent beskrivning
Handläggare Anpassad AI som använder AI-modeller tillsammans med verktyg.
Verktyg Verktyg hjälper till att utöka en agent förmåga att svara tillförlitligt och korrekt under konversationen. Som att ansluta till användardefinierade kunskapsbas för att jorda modellen eller aktivera webbsökning för att tillhandahålla aktuell information.
Tråd En konversationssession mellan en agent och en användare. Trådar lagrar meddelanden och hanterar automatiskt trunkering för att passa in innehåll i en modells kontext.
Meddelande Ett meddelande som skapats av en agent eller en användare. Meddelanden kan innehålla text, bilder och andra filer. Meddelanden lagras som en lista i tråden.
Kör Aktivering av en agent för att börja köras baserat på innehållet i Tråd. Agenten använder sin konfiguration och Trådens meddelanden för att utföra uppgifter genom att anropa modeller och verktyg. Som en del av en Körning lägger agenten till Meddelanden i tråden.
Kör steg En detaljerad lista över steg som agenten vidtog som en del av en Körning. En agent kan anropa verktyg eller skapa meddelanden under körningen. Genom att undersöka körningssteg kan du förstå hur agenten kommer till sina resultat.

Kör följande kommandon för att installera npm-paketen.

npm install @azure/ai-projects
npm install @azure/identity

För att autentisera dina API-begäranden och köra programmet använder du kommandot az login för att logga in på din Azure-prenumeration.

az login

Använd följande kod för att skapa och köra en agent. Om du vill köra den här koden måste du skapa en anslutningssträng med hjälp av information från projektet. Den här strängen är i formatet:

<HostName>;<AzureSubscriptionId>;<ResourceGroup>;<ProjectName>

Dricks

Du hittar även din anslutningssträng i översikten för projektet i Azure AI Foundry-portalen under Projektinformation>Project anslutningssträng. En skärmbild som visar anslutningssträng i Azure AI Foundry-portalen.

HostName kan hittas genom att navigera till din discovery_url och ta bort den inledande https:// och avslutande /discovery. För att hitta ditt discovery_urlkör du det här CLI-kommandot:

az ml workspace show -n {project_name} --resource-group {resource_group_name} --query discovery_url

Din anslutningssträng kan till exempel se ut ungefär så här:

eastus.api.azureml.ms;12345678-abcd-1234-9fc6-62780b3d3e05;my-resource-group;my-project-name

Ange den här anslutningssträng som en miljövariabel med namnet PROJECT_CONNECTION_STRING.

// index.js

import {
  AIProjectsClient,
  DoneEvent,
  ErrorEvent,
  isOutputOfType,
  MessageStreamEvent,
  RunStreamEvent,
  ToolUtility,
} from "@azure/ai-projects";
import { DefaultAzureCredential } from "@azure/identity";

const connectionString =
  process.env["AZURE_AI_PROJECTS_CONNECTION_STRING"] || "<project connection string>";

if (!connectionString) {
  throw new Error("AZURE_AI_PROJECTS_CONNECTION_STRING must be set in the environment variables");
}

export async function main() {
  const client = AIProjectsClient.fromConnectionString(
    connectionString || "",
    new DefaultAzureCredential(),
  );

  // Step 1 code interpreter tool
  const codeInterpreterTool = ToolUtility.createCodeInterpreterTool();

  // Step 2 an agent
  const agent = await client.agents.createAgent("gpt-4o-mini", {
    name: "my-agent",
    instructions: "You are a helpful agent",
    tools: [codeInterpreterTool.definition],
    toolResources: codeInterpreterTool.resources,
  });

  // Step 3 a thread
  const thread = await client.agents.createThread();

  // Step 4 a message to thread
  await client.agents.createMessage(
    thread.id, {
    role: "user",
    content: "I need to solve the equation `3x + 11 = 14`. Can you help me?",
  });

  // Intermission is now correlated with thread
  // Intermission messages will retrieve the message just added

  // Step 5 the agent
  const streamEventMessages = await client.agents.createRun(thread.id, agent.id).stream();

  for await (const eventMessage of streamEventMessages) {
    switch (eventMessage.event) {
      case RunStreamEvent.ThreadRunCreated:
        break;
      case MessageStreamEvent.ThreadMessageDelta:
        {
          const messageDelta = eventMessage.data;
          messageDelta.delta.content.forEach((contentPart) => {
            if (contentPart.type === "text") {
              const textContent = contentPart;
              const textValue = textContent.text?.value || "No text";
            }
          });
        }
        break;

      case RunStreamEvent.ThreadRunCompleted:
        break;
      case ErrorEvent.Error:
        console.log(`An error occurred. Data ${eventMessage.data}`);
        break;
      case DoneEvent.Done:
        break;
    }
  }

  // 6. Print the messages from the agent
  const messages = await client.agents.listMessages(thread.id);

  // Messages iterate from oldest to newest
  // messages[0] is the most recent
  for (let i = messages.data.length - 1; i >= 0; i--) {
    const m = messages.data[i];
    if (isOutputOfType(m.content[0], "text")) {
      const textContent = m.content[0];
      console.log(`${textContent.text.value}`);
      console.log(`---------------------------------`);
    }
  }

  // 7. Delete the agent once done
  await client.agents.deleteAgent(agent.id);
}

main().catch((err) => {
  console.error("The sample encountered an error:", err);
});

Utdata innehåller prompten och svaren.

I need to solve the equation `3x + 11 = 14`. Can you help me?
---------------------------------
Sure! I can help you solve the equation \(3x + 11 = 14\).

To solve this equation, we need to isolate the variable \(x\). Let's go ahead and solve it.
---------------------------------
The solution to the equation \(3x + 11 = 14\) is \(x = 1\). 

Therefore, the value of \(x\) that satisfies the equation is 1. 

Let me know if you need help with anything else!
---------------------------------

| Referensdokumentation | Exempel | på paket för bibliotekskällkod | (npm) |

Förutsättningar

Konfigurera ditt Azure AI Hub- och Agent-projekt

I följande avsnitt visas hur du konfigurerar de resurser som krävs för att komma igång med Azure AI Agent Service:

  1. Skapa en Azure AI Hub för att konfigurera din appmiljö och Azure-resurser.

  2. När du skapar ett Azure AI-projekt under hubben skapas en slutpunkt som appen kan anropa och konfigurerar apptjänster för åtkomst till resurser i din klientorganisation.

  3. Ansluta en Azure OpenAI-resurs eller en Azure AI Services-resurs

Välj Basic- eller Standard Agent-konfiguration

Grundläggande installation: Agenter använder sök- och lagringsresurser för flera klientorganisationer som hanteras fullständigt av Microsoft. Du har inte insyn eller kontroll över dessa underliggande Azure-resurser.

Standardkonfiguration: Agenter använder kundägda sök- och lagringsresurser med en enda klientorganisation. Med den här konfigurationen har du fullständig kontroll och insyn över dessa resurser, men du ådrar dig kostnader baserat på din användning.

Kommentar

Du kan använda följande automatiserade bicep-mallar för att utföra antingen en standardagent eller en grundläggande agent. Du kan också skapa en grundläggande agent med hjälp av Azure AI Foundry-portalen. Azure AI Foundry stöder för närvarande inte standardkonfigurationen av agenten.

Beskrivning och autodeploy Diagram (klicka för att zooma in)
Distribuera en grundläggande agentkonfiguration som använder hanterad identitet för autentisering. Resurser för AI-hubben, AI-projektet, lagringskontot och AI-tjänsterna skapas åt dig.

AI Services-kontot är anslutet till projektet och hubben och en gpt-4o-mini-modell distribueras i regionen eastus. Ett Microsoft-hanterat nyckelvalv används som standard.

Distribuera till Azure
Ett arkitekturdiagram för grundläggande agentkonfiguration.
Distribuera en standardagentkonfiguration som använder hanterad identitet för autentisering.

Resurser för AI-hubben, AI-projektet, nyckelvalvet, lagringskontot, AI Services och AI Search skapas åt dig.

AI-tjänster, AI-sökning, nyckelvalv och lagringskonto är anslutna till ditt projekt och din hubb. En gpt-4o-mini-modell distribueras i regionen eastus.

Distribuera till Azure
Ett arkitekturdiagram för standardagentkonfiguration.

[Valfritt] Modellval i mall för automatisk distribution

Du kan anpassa den modell som används av agenten genom att redigera modellparametrarna i mallen för automatisk distribution. Om du vill distribuera en annan modell måste du uppdatera parametrarna modelName och modelVersion .

Som standard konfigureras distributionsmallen med följande värden:

Modellparameter Standardvärde
modelName gpt-4o-mini
modelFormat OpenAI (för Azure OpenAI)
modelVersion 2024-07-18
modelSkuName GlobalStandard
modelLocation eastus

Viktigt!

Ändra inte parametern modelFormat.

Mallarna stöder endast distribution av Azure OpenAI-modeller. Se vilka Azure OpenAI-modeller som stöds i supportdokumentationen för Azure AI Agent Service-modellen.

[Valfritt] Använd dina egna resurser under agentkonfigurationen

Kommentar

Om du använder en befintlig AI Services- eller Azure OpenAI-resurs distribueras ingen modell. Du kan distribuera en modell till resursen när agentkonfigurationen är klar.

Använd en befintlig AI Services-, Azure OpenAI-, AI Search- och/eller Azure Blob Storage-resurs genom att ange det fullständiga armresurs-ID:t i parameterfilen:

  • aiServiceAccountResourceId
  • aiSearchServiceResourceId
  • aiStorageAccountResourceId

Om du vill använda en befintlig Azure OpenAI-resurs måste du uppdatera parametrarna aiServiceAccountResourceIdaiServiceKind och i parameterfilen. Parametern aiServiceKind ska vara inställd på AzureOpenAI.

Mer information finns i hur du använder dina egna resurser.

Konfigurera och köra en agent

Komponent beskrivning
Handläggare Anpassad AI som använder AI-modeller tillsammans med verktyg.
Verktyg Verktyg hjälper till att utöka en agent förmåga att svara tillförlitligt och korrekt under konversationen. Som att ansluta till användardefinierade kunskapsbas för att jorda modellen eller aktivera webbsökning för att tillhandahålla aktuell information.
Tråd En konversationssession mellan en agent och en användare. Trådar lagrar meddelanden och hanterar automatiskt trunkering för att passa in innehåll i en modells kontext.
Meddelande Ett meddelande som skapats av en agent eller en användare. Meddelanden kan innehålla text, bilder och andra filer. Meddelanden lagras som en lista i tråden.
Kör Aktivering av en agent för att börja köras baserat på innehållet i Tråd. Agenten använder sin konfiguration och Trådens meddelanden för att utföra uppgifter genom att anropa modeller och verktyg. Som en del av en Körning lägger agenten till Meddelanden i tråden.
Kör steg En detaljerad lista över steg som agenten vidtog som en del av en Körning. En agent kan anropa verktyg eller skapa meddelanden under körningen. Genom att undersöka körningssteg kan du förstå hur agenten kommer till sina resultat.

Kör följande kommandon för att installera npm-paketen.

npm install @azure/ai-projects
npm install @azure/identity

För att autentisera dina API-begäranden och köra programmet använder du kommandot az login för att logga in på din Azure-prenumeration.

az login

Använd följande kod för att skapa och köra en agent. Om du vill köra den här koden måste du skapa en anslutningssträng med hjälp av information från projektet. Den här strängen är i formatet:

<HostName>;<AzureSubscriptionId>;<ResourceGroup>;<ProjectName>

Dricks

Du hittar även din anslutningssträng i översikten för projektet i Azure AI Foundry-portalen under Projektinformation>Project anslutningssträng. En skärmbild som visar anslutningssträng i Azure AI Foundry-portalen.

HostName kan hittas genom att navigera till din discovery_url och ta bort den inledande https:// och avslutande /discovery. För att hitta ditt discovery_urlkör du det här CLI-kommandot:

az ml workspace show -n {project_name} --resource-group {resource_group_name} --query discovery_url

Din anslutningssträng kan till exempel se ut ungefär så här:

eastus.api.azureml.ms;12345678-abcd-1234-9fc6-62780b3d3e05;my-resource-group;my-project-name

Ange den här anslutningssträng som en miljövariabel med namnet PROJECT_CONNECTION_STRING.

// index.ts

import type {
  MessageDeltaChunk,
  MessageDeltaTextContent,
  MessageTextContentOutput,
} from "@azure/ai-projects";
import {
  AIProjectsClient,
  DoneEvent,
  ErrorEvent,
  isOutputOfType,
  MessageStreamEvent,
  RunStreamEvent,
  ToolUtility,
} from "@azure/ai-projects";
import { DefaultAzureCredential } from "@azure/identity";

const connectionString =
  process.env["AZURE_AI_PROJECTS_CONNECTION_STRING"] || "<project connection string>";

if (!connectionString) {
  throw new Error("AZURE_AI_PROJECTS_CONNECTION_STRING must be set in the environment variables");
}

export async function main(): Promise<void> {
  const client = AIProjectsClient.fromConnectionString(
    connectionString || "",
    new DefaultAzureCredential(),
  );

  // Step 1: Create code interpreter tool
  const codeInterpreterTool = ToolUtility.createCodeInterpreterTool();

  // Step 2: Create an agent
  const agent = await client.agents.createAgent("gpt-4o-mini", {
    name: "my-agent",
    instructions: "You are a helpful agent",
    tools: [codeInterpreterTool.definition],
    toolResources: codeInterpreterTool.resources,
  });

  // Step 3: Create a thread
  const thread = await client.agents.createThread();

  // Step 4: Add a message to thread
  await client.agents.createMessage(
    thread.id, {
    role: "user",
    content: "I need to solve the equation `3x + 11 = 14`. Can you help me?",
  });

  // Intermission: message is now correlated with thread
  // Intermission: listing messages will retrieve the message just added

  // Step 5: Run the agent
  const streamEventMessages = await client.agents.createRun(thread.id, agent.id).stream();

  for await (const eventMessage of streamEventMessages) {
    switch (eventMessage.event) {
      case RunStreamEvent.ThreadRunCreated:
        break;
      case MessageStreamEvent.ThreadMessageDelta:
        {
          const messageDelta = eventMessage.data as MessageDeltaChunk;
          messageDelta.delta.content.forEach((contentPart) => {
            if (contentPart.type === "text") {
              const textContent = contentPart as MessageDeltaTextContent;
              const textValue = textContent.text?.value || "No text";
            }
          });
        }
        break;

      case RunStreamEvent.ThreadRunCompleted:
        break;
      case ErrorEvent.Error:
        console.log(`An error occurred. Data ${eventMessage.data}`);
        break;
      case DoneEvent.Done:
        break;
    }
  }

  // 6. Print the messages from the agent
  const messages = await client.agents.listMessages(thread.id);

  // Messages iterate from oldest to newest
  // messages[0] is the most recent
  for (let i = messages.data.length - 1; i >= 0; i--) {
    const m = messages.data[i];
    if (isOutputOfType<MessageTextContentOutput>(m.content[0], "text")) {
      const textContent = m.content[0] as MessageTextContentOutput;
      console.log(`${textContent.text.value}`);
      console.log(`---------------------------------`);
    }
  }

  // 7. Delete the agent once done
  await client.agents.deleteAgent(agent.id);
}

main().catch((err) => {
  console.error("The sample encountered an error:", err);
});

Utdata innehåller prompten och svaren.

I need to solve the equation `3x + 11 = 14`. Can you help me?
---------------------------------
Sure! I can help you solve the equation \(3x + 11 = 14\).

To solve this equation, we need to isolate the variable \(x\). Let's go ahead and solve it.
---------------------------------
The solution to the equation \(3x + 11 = 14\) is \(x = 1\). 

Therefore, the value of \(x\) that satisfies the equation is 1. 

Let me know if you need help with anything else!
---------------------------------

| Referensdokumentation |

Förutsättningar

Konfigurera ditt Azure AI Hub- och Agent-projekt

I följande avsnitt visas hur du konfigurerar de resurser som krävs för att komma igång med Azure AI Agent Service:

  1. Skapa en Azure AI Hub för att konfigurera din appmiljö och Azure-resurser.

  2. När du skapar ett Azure AI-projekt under hubben skapas en slutpunkt som appen kan anropa och konfigurerar apptjänster för åtkomst till resurser i din klientorganisation.

  3. Ansluta en Azure OpenAI-resurs eller en Azure AI Services-resurs

Välj Basic- eller Standard Agent-konfiguration

Grundläggande installation: Agenter använder sök- och lagringsresurser för flera klientorganisationer som hanteras fullständigt av Microsoft. Du har inte insyn eller kontroll över dessa underliggande Azure-resurser.

Standardkonfiguration: Agenter använder kundägda sök- och lagringsresurser med en enda klientorganisation. Med den här konfigurationen har du fullständig kontroll och insyn över dessa resurser, men du ådrar dig kostnader baserat på din användning.

Kommentar

Du kan använda följande automatiserade bicep-mallar för att utföra antingen en standardagent eller en grundläggande agent. Du kan också skapa en grundläggande agent med hjälp av Azure AI Foundry-portalen. Azure AI Foundry stöder för närvarande inte standardkonfigurationen av agenten.

Beskrivning och autodeploy Diagram (klicka för att zooma in)
Distribuera en grundläggande agentkonfiguration som använder hanterad identitet för autentisering. Resurser för AI-hubben, AI-projektet, lagringskontot och AI-tjänsterna skapas åt dig.

AI Services-kontot är anslutet till projektet och hubben och en gpt-4o-mini-modell distribueras i regionen eastus. Ett Microsoft-hanterat nyckelvalv används som standard.

Distribuera till Azure
Ett arkitekturdiagram för grundläggande agentkonfiguration.
Distribuera en standardagentkonfiguration som använder hanterad identitet för autentisering.

Resurser för AI-hubben, AI-projektet, nyckelvalvet, lagringskontot, AI Services och AI Search skapas åt dig.

AI-tjänster, AI-sökning, nyckelvalv och lagringskonto är anslutna till ditt projekt och din hubb. En gpt-4o-mini-modell distribueras i regionen eastus.

Distribuera till Azure
Ett arkitekturdiagram för standardagentkonfiguration.

[Valfritt] Modellval i mall för automatisk distribution

Du kan anpassa den modell som används av agenten genom att redigera modellparametrarna i mallen för automatisk distribution. Om du vill distribuera en annan modell måste du uppdatera parametrarna modelName och modelVersion .

Som standard konfigureras distributionsmallen med följande värden:

Modellparameter Standardvärde
modelName gpt-4o-mini
modelFormat OpenAI (för Azure OpenAI)
modelVersion 2024-07-18
modelSkuName GlobalStandard
modelLocation eastus

Viktigt!

Ändra inte parametern modelFormat.

Mallarna stöder endast distribution av Azure OpenAI-modeller. Se vilka Azure OpenAI-modeller som stöds i supportdokumentationen för Azure AI Agent Service-modellen.

[Valfritt] Använd dina egna resurser under agentkonfigurationen

Kommentar

Om du använder en befintlig AI Services- eller Azure OpenAI-resurs distribueras ingen modell. Du kan distribuera en modell till resursen när agentkonfigurationen är klar.

Använd en befintlig AI Services-, Azure OpenAI-, AI Search- och/eller Azure Blob Storage-resurs genom att ange det fullständiga armresurs-ID:t i parameterfilen:

  • aiServiceAccountResourceId
  • aiSearchServiceResourceId
  • aiStorageAccountResourceId

Om du vill använda en befintlig Azure OpenAI-resurs måste du uppdatera parametrarna aiServiceAccountResourceIdaiServiceKind och i parameterfilen. Parametern aiServiceKind ska vara inställd på AzureOpenAI.

Mer information finns i hur du använder dina egna resurser.

Konfigurera och köra en agent

Komponent beskrivning
Handläggare Anpassad AI som använder AI-modeller tillsammans med verktyg.
Verktyg Verktyg hjälper till att utöka en agent förmåga att svara tillförlitligt och korrekt under konversationen. Som att ansluta till användardefinierade kunskapsbas för att jorda modellen eller aktivera webbsökning för att tillhandahålla aktuell information.
Tråd En konversationssession mellan en agent och en användare. Trådar lagrar meddelanden och hanterar automatiskt trunkering för att passa in innehåll i en modells kontext.
Meddelande Ett meddelande som skapats av en agent eller en användare. Meddelanden kan innehålla text, bilder och andra filer. Meddelanden lagras som en lista i tråden.
Kör Aktivering av en agent för att börja köras baserat på innehållet i Tråd. Agenten använder sin konfiguration och Trådens meddelanden för att utföra uppgifter genom att anropa modeller och verktyg. Som en del av en Körning lägger agenten till Meddelanden i tråden.
Kör steg En detaljerad lista över steg som agenten vidtog som en del av en Körning. En agent kan anropa verktyg eller skapa meddelanden under körningen. Genom att undersöka körningssteg kan du förstå hur agenten kommer till sina resultat.

Om du vill autentisera dina API-begäranden använder du kommandot az login för att logga in på din Azure-prenumeration.

az login

Därefter måste du hämta Entra ID-token för att tillhandahålla som auktorisering till API-anropen. Hämta token med cli-kommandot:

az account get-access-token --resource 'https://ml.azure.com/' | jq -r .accessToken | tr -d '"'

Ange åtkomsttoken som en miljövariabel med namnet AZURE_AI_AGENTS_TOKEN.

Om du vill göra REST API-anrop till Azure AI Agents Service måste du använda slutpunkten enligt nedan:

https://<HostName>/agents/v1.0/subscriptions/<AzureSubscriptionId>/resourceGroups/<ResourceGroup>/providers/Microsoft.MachineLearningServices/workspaces/<ProjectName>

HostName kan hittas genom att navigera till din discovery_url och ta bort den inledande https:// och avslutande /discovery. För att hitta ditt discovery_urlkör du det här CLI-kommandot:

az ml workspace show -n {project_name} --subscription {subscription_name} --resource-group {resource_group_name} --query discovery_url

Slutpunkten kan till exempel se ut ungefär så här:

https://eastus.api.azureml.ms/agents/v1.0/subscriptions/12345678-abcd-1234-abcd-123456789000/resourceGroups/my-resource-group/providers/Microsoft.MachineLearningServices/workspaces/my-project-name

Ange den här slutpunkten som en miljövariabel med namnet AZURE_AI_AGENTS_ENDPOINT.

Skapa en handläggare

Kommentar

Med Azure AI Agents Service kräver parametern model modelldistributionsnamn. Om namnet på modelldistributionen skiljer sig från det underliggande modellnamnet justerar du koden till "model": "{your-custom-model-deployment-name}".

curl $AZURE_AI_AGENTS_ENDPOINT/assistants?api-version=2024-12-01-preview \
  -H "Authorization: Bearer $AZURE_AI_AGENTS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "instructions": "You are a helpful agent.",
    "name": "my-agent",
    "tools": [{"type": "code_interpreter"}],
    "model": "gpt-4o-mini"
  }'

Skapa en tråd

curl $AZURE_AI_AGENTS_ENDPOINT/threads?api-version=2024-12-01-preview \
  -H "Authorization: Bearer $AZURE_AI_AGENTS_TOKEN" \
  -H "Content-Type: application/json" \
  -d ''

Lägg till en användarfråga i tråden

curl $AZURE_AI_AGENTS_ENDPOINT/threads/thread_abc123/messages?api-version=2024-12-01-preview \
  -H "Authorization: Bearer $AZURE_AI_AGENTS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
      "role": "user",
      "content": "I need to solve the equation `3x + 11 = 14`. Can you help me?"
    }'

Kör tråden

curl $AZURE_AI_AGENTS_ENDPOINT/threads/thread_abc123/runs?api-version=2024-12-01-preview \
  -H "Authorization: Bearer $AZURE_AI_AGENTS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "assistant_id": "asst_abc123",
  }'

Hämta status för körningen

curl $AZURE_AI_AGENTS_ENDPOINT/threads/thread_abc123/runs/run_abc123?api-version=2024-12-01-preview \
  -H "Authorization: Bearer $AZURE_AI_AGENTS_TOKEN"

Hämta agentsvaret

curl $AZURE_AI_AGENTS_ENDPOINT/threads/thread_abc123/messages?api-version=2024-12-01-preview \
  -H "Authorization: Bearer $AZURE_AI_AGENTS_TOKEN"