Quickstart: Een nieuwe agent maken (preview)
Met azure AI Agent Service kunt u AI-agents maken die zijn afgestemd op uw behoeften via aangepaste instructies en uitgebreid met geavanceerde hulpprogramma's zoals code-interpreter en aangepaste functies.
Vereisten
- Een Azure-abonnement: maak er gratis een.
- Zorg ervoor dat u de RBAC-rol van Azure AI Developerhebt toegewezen.
Basisondersteuning voor het instellen van agents
Voordat u aan de slag gaat, moet u bepalen of u een basisagentinstallatie of een standaardagentinstallatie wilt uitvoeren. Azure AI Foundry biedt alleen ondersteuning voor het instellen van de basisagent.
Basisinstallatie: agents maken gebruik van zoek- en opslagbronnen met meerdere tenants die volledig worden beheerd door Microsoft. U hebt geen zichtbaarheid of controle over deze onderliggende Azure-resources. U kunt een basisinstallatie maken met behulp van de Azure AI Foundry-portal of een geautomatiseerde bicep-sjabloon.
Standaardinstallatie: agents maken gebruik van zoek- en opslagbronnen die eigendom zijn van één tenant. Met deze installatie hebt u volledige controle en zichtbaarheid van deze resources, maar er worden kosten in rekening gebracht op basis van uw gebruik. Standaardinstallatie kan alleen worden uitgevoerd met behulp van een geautomatiseerde bicep-sjabloon.
Belangrijk
De Azure AI Foundry-portal biedt momenteel alleen ondersteuning voor basisinstellingen. Als u een standaardagentinstallatie wilt uitvoeren, gebruikt u de andere tabbladen bovenaan het artikel voor meer informatie over de standaardagentconfiguratie.
Een hub en project maken in de Azure AI Foundry-portal
Als u een nieuwe hub en een nieuw project wilt maken, hebt u de rol Eigenaar of Inzender voor de resourcegroep of op een bestaande hub nodig. Als u geen hub kunt maken vanwege machtigingen, neemt u contact op met uw beheerder.
Voer de volgende stappen uit om een project te maken in Azure AI Foundry:
Ga naar Azure AI Foundry. Als u zich in een project bevindt, selecteert u Azure AI Foundry linksboven op de pagina om naar de startpagina te gaan.
Selecteer + Project maken.
Voer een naam in voor het project.
Als u een hub hebt, ziet u de hub die u het laatst hebt geselecteerd.
Als u toegang hebt tot meer dan één hub, kunt u een andere hub selecteren in de vervolgkeuzelijst.
Als u een nieuwe wilt maken, selecteert u Nieuwe hub maken en geeft u een naam op. Als u de standaardwaarden wilt aanpassen, raadpleegt u de documentatie van Azure AI Foundry.
Selecteer Maken.
Een model implementeren
Meld u aan bij Azure AI Foundry.
Ga naar uw project of maak een nieuw project in de Azure AI Foundry-portal.
Selecteer agents in uw projectoverzicht, die zich onder Bouwen en aanpassen bevinden.
Selecteer uw Azure OpenAI-resource.
Selecteer een modelimplementatie voor de agent die u wilt gebruiken. Als u nog geen model hebt, wordt er een scherm geopend om een nieuw model te implementeren. Anders kunt u Een model implementeren selecteren.
De agentspeelplaats gebruiken
Met de agents-speeltuin kunt u agents verkennen, prototypen en testen zonder dat u code hoeft uit te voeren. Op deze pagina kunt u snel nieuwe ideeën herhalen en experimenteren.
Selecteer uw agent in het scherm Maken en fouten opsporen in uw agents of maak een nieuwe met de nieuwe agent. In het deelvenster Setup aan de rechterkant kunt u de parameters en hulpprogramma's wijzigen.
U kunt uw agent desgewenst een andere naam geven dan de agent die hiervoor is gegenereerd en instructies toevoegen om de prestaties te verbeteren. Geef uw agent duidelijke aanwijzingen voor wat u moet doen en hoe u dit doet. Neem specifieke taken, hun volgorde en eventuele speciale instructies op, zoals toon- of afspraakstijl.
Tip
Uw agent heeft toegang tot meerdere hulpprogramma's, zoals code-interpreter , waarmee de mogelijkheden worden uitgebreid, zoals de mogelijkheid om op internet te zoeken met Bing, code uit te voeren en meer. Schuif in het deelvenster Setup omlaag naar kennis en actie en selecteer Toevoegen om de hulpprogramma's te zien die beschikbaar zijn voor gebruik.
Zie ook
Bekijk de modellen die u met agents kunt gebruiken.
| ReferentiedocumentatieVoorbeeldenbibliotheek | | broncodepakket | (NuGet) |
Vereisten
- Een Azure-abonnement: maak er gratis een.
- De nieuwste versie van .NET
- Zorg ervoor dat u de RBAC-rol van Azure AI Developerop het juiste niveau hebt toegewezen.
- Installeer de Azure CLI en de machine learning-extensie. Als u de CLI al hebt geïnstalleerd, controleert u of deze is bijgewerkt naar de nieuwste versie.
Uw Azure AI Hub- en Agent-project instellen
In de volgende sectie ziet u hoe u de vereiste resources instelt om aan de slag te gaan met de Azure AI Agent-service:
Een Azure AI Hub maken om uw app-omgeving en Azure-resources in te stellen.
Als u een Azure AI-project maakt onder uw Hub, maakt u een eindpunt voor uw app om aan te roepen en stelt u app-services in voor toegang tot resources in uw tenant.
Een Azure OpenAI-resource of een Azure AI Services-resource verbinden
Basis- of standaardagentinstellingen kiezen
Basisinstallatie: agents maken gebruik van zoek- en opslagbronnen met meerdere tenants die volledig worden beheerd door Microsoft. U hebt geen zichtbaarheid of controle over deze onderliggende Azure-resources.
Standaardinstallatie: agents maken gebruik van zoek- en opslagbronnen die eigendom zijn van één tenant. Met deze installatie hebt u volledige controle en zichtbaarheid van deze resources, maar er worden kosten in rekening gebracht op basis van uw gebruik.
Notitie
U kunt de volgende geautomatiseerde bicep-sjablonen gebruiken om een standaard- of basisagent uit te voeren. U kunt ook een basisagent maken met behulp van de Azure AI Foundry-portal. Azure AI Foundry biedt momenteel geen ondersteuning voor het instellen van de standaardagent.
[Optioneel] Modelselectie in sjabloon voor automatisch implementeren
U kunt het model dat door uw agent wordt gebruikt aanpassen door de modelparameters te bewerken in de sjabloon voor automatisch implementeren. Als u een ander model wilt implementeren, moet u ten minste de modelName
en modelVersion
parameters bijwerken.
Standaard wordt de implementatiesjabloon geconfigureerd met de volgende waarden:
Modelparameter | Standaardwaarde |
---|---|
modelName | gpt-4o-mini |
modelOpmaak | OpenAI (voor Azure OpenAI) |
modelVersion | 2024-07-18 |
modelSkuName | GlobalStandard |
modelLocation | eastus |
Belangrijk
Wijzig de parameter modelFormat niet.
De sjablonen ondersteunen alleen de implementatie van Azure OpenAI-modellen. Bekijk welke Azure OpenAI-modellen worden ondersteund in de azure AI Agent Service-modelondersteuningsdocumentatie .
[Optioneel] Uw eigen resources gebruiken tijdens het instellen van de agent
Notitie
Als u een bestaande AI Services- of Azure OpenAI-resource gebruikt, wordt er geen model geïmplementeerd. U kunt een model implementeren in de resource nadat de installatie van de agent is voltooid.
Gebruik een bestaande AI Services-, Azure OpenAI-, AI Search- en/of Azure Blob Storage-resource door de volledige arm-resource-id op te geven in het parameterbestand:
aiServiceAccountResourceId
aiSearchServiceResourceId
aiStorageAccountResourceId
Als u een bestaande Azure OpenAI-resource wilt gebruiken, moet u de aiServiceAccountResourceId
parameters in het parameterbestand bijwerken.aiServiceKind
De aiServiceKind
parameter moet worden ingesteld op AzureOpenAI
.
Zie voor meer informatie hoe u uw eigen resources gebruikt.
Een agent configureren en uitvoeren
Onderdeel | Beschrijving |
---|---|
Agent | Aangepaste AI die AI-modellen gebruikt in combinatie met hulpprogramma's. |
Hulpprogramma | Hulpprogramma's helpen de mogelijkheid van een agent om betrouwbaar en nauwkeurig te reageren tijdens het gesprek. Zoals het maken van verbinding met door de gebruiker gedefinieerde Knowledge Bases om het model te baseren of het mogelijk maken van zoeken op internet actuele informatie te bieden. |
Thread | Een gesprekssessie tussen een agent en een gebruiker. Threads slaan berichten op en verwerken automatisch afkapping zodat inhoud in de context van een model past. |
Bericht | Een bericht dat is gemaakt door een agent of een gebruiker. Berichten kunnen tekst, afbeeldingen en andere bestanden bevatten. Berichten worden opgeslagen als een lijst op de thread. |
Uitvoeren | Activering van een agent die wordt uitgevoerd op basis van de inhoud van Thread. De agent gebruikt de configuratie en berichten van Thread om taken uit te voeren door modellen en hulpprogramma's aan te roepen. Als onderdeel van een run voegt de agent berichten toe aan de thread. |
Stap uitvoeren | Een gedetailleerde lijst met stappen die de agent heeft uitgevoerd als onderdeel van een uitvoering. Een agent kan hulpprogramma's aanroepen of berichten maken tijdens de uitvoering. Als u de uitvoeringsstappen bekijkt, kunt u begrijpen hoe de agent de resultaten krijgt. |
Installeer het .NET-pakket in uw project. Als u bijvoorbeeld de .NET CLI gebruikt, voert u de volgende opdracht uit.
dotnet add package Azure.AI.Projects
dotnet add package Azure.Identity
Als u vervolgens uw API-aanvragen wilt verifiëren en het programma wilt uitvoeren, gebruikt u de opdracht az login om u aan te melden bij uw Azure-abonnement.
az login
Gebruik de volgende code om een agent te maken en uit te voeren. Als u deze code wilt uitvoeren, moet u een verbindingsreeks maken met behulp van gegevens uit uw project. Deze tekenreeks heeft de volgende notatie:
<HostName>;<AzureSubscriptionId>;<ResourceGroup>;<ProjectName>
Tip
U vindt uw verbindingsreeks ook in het overzicht van uw project in de Azure AI Foundry-portal, onder Projectdetails>Project verbindingsreeks.
HostName
kunt u vinden door naar uw discovery_url
te navigeren en de voorloop https://
- en volgvolging te /discovery
verwijderen. Voer de volgende CLI-opdracht uit om uw discovery_url
te vinden:
az ml workspace show -n {project_name} --resource-group {resource_group_name} --query discovery_url
Uw verbindingsreeks ziet er bijvoorbeeld ongeveer als volgt uit:
eastus.api.azureml.ms;12345678-abcd-1234-9fc6-62780b3d3e05;my-resource-group;my-project-name
Stel deze verbindingsreeks in als een omgevingsvariabele met de naam 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();
}
}
}
}
| Referentiedocumentatie | Samples | Library source code | Package (PyPi) |
Vereisten
- Een Azure-abonnement: maak er gratis een.
- Python 3.8 of hoger
- Zorg ervoor dat u de RBAC-rol van Azure AI Developerop het juiste niveau hebt toegewezen.
- Installeer de Azure CLI en de machine learning-extensie. Als u de CLI al hebt geïnstalleerd, controleert u of deze is bijgewerkt naar de nieuwste versie.
Uw Azure AI Hub- en Agent-project instellen
In de volgende sectie ziet u hoe u de vereiste resources instelt om aan de slag te gaan met de Azure AI Agent-service:
Een Azure AI Hub maken om uw app-omgeving en Azure-resources in te stellen.
Als u een Azure AI-project maakt onder uw Hub, maakt u een eindpunt voor uw app om aan te roepen en stelt u app-services in voor toegang tot resources in uw tenant.
Een Azure OpenAI-resource of een Azure AI Services-resource verbinden
Basis- of standaardagentinstellingen kiezen
Basisinstallatie: agents maken gebruik van zoek- en opslagbronnen met meerdere tenants die volledig worden beheerd door Microsoft. U hebt geen zichtbaarheid of controle over deze onderliggende Azure-resources.
Standaardinstallatie: agents maken gebruik van zoek- en opslagbronnen die eigendom zijn van één tenant. Met deze installatie hebt u volledige controle en zichtbaarheid van deze resources, maar er worden kosten in rekening gebracht op basis van uw gebruik.
Notitie
U kunt de volgende geautomatiseerde bicep-sjablonen gebruiken om een standaard- of basisagent uit te voeren. U kunt ook een basisagent maken met behulp van de Azure AI Foundry-portal. Azure AI Foundry biedt momenteel geen ondersteuning voor het instellen van de standaardagent.
[Optioneel] Modelselectie in sjabloon voor automatisch implementeren
U kunt het model dat door uw agent wordt gebruikt aanpassen door de modelparameters te bewerken in de sjabloon voor automatisch implementeren. Als u een ander model wilt implementeren, moet u ten minste de modelName
en modelVersion
parameters bijwerken.
Standaard wordt de implementatiesjabloon geconfigureerd met de volgende waarden:
Modelparameter | Standaardwaarde |
---|---|
modelName | gpt-4o-mini |
modelOpmaak | OpenAI (voor Azure OpenAI) |
modelVersion | 2024-07-18 |
modelSkuName | GlobalStandard |
modelLocation | eastus |
Belangrijk
Wijzig de parameter modelFormat niet.
De sjablonen ondersteunen alleen de implementatie van Azure OpenAI-modellen. Bekijk welke Azure OpenAI-modellen worden ondersteund in de azure AI Agent Service-modelondersteuningsdocumentatie .
[Optioneel] Uw eigen resources gebruiken tijdens het instellen van de agent
Notitie
Als u een bestaande AI Services- of Azure OpenAI-resource gebruikt, wordt er geen model geïmplementeerd. U kunt een model implementeren in de resource nadat de installatie van de agent is voltooid.
Gebruik een bestaande AI Services-, Azure OpenAI-, AI Search- en/of Azure Blob Storage-resource door de volledige arm-resource-id op te geven in het parameterbestand:
aiServiceAccountResourceId
aiSearchServiceResourceId
aiStorageAccountResourceId
Als u een bestaande Azure OpenAI-resource wilt gebruiken, moet u de aiServiceAccountResourceId
parameters in het parameterbestand bijwerken.aiServiceKind
De aiServiceKind
parameter moet worden ingesteld op AzureOpenAI
.
Zie voor meer informatie hoe u uw eigen resources gebruikt.
Een agent configureren en uitvoeren
Onderdeel | Beschrijving |
---|---|
Agent | Aangepaste AI die AI-modellen gebruikt in combinatie met hulpprogramma's. |
Hulpprogramma | Hulpprogramma's helpen de mogelijkheid van een agent om betrouwbaar en nauwkeurig te reageren tijdens het gesprek. Zoals het maken van verbinding met door de gebruiker gedefinieerde Knowledge Bases om het model te baseren of het mogelijk maken van zoeken op internet actuele informatie te bieden. |
Thread | Een gesprekssessie tussen een agent en een gebruiker. Threads slaan berichten op en verwerken automatisch afkapping zodat inhoud in de context van een model past. |
Bericht | Een bericht dat is gemaakt door een agent of een gebruiker. Berichten kunnen tekst, afbeeldingen en andere bestanden bevatten. Berichten worden opgeslagen als een lijst op de thread. |
Uitvoeren | Activering van een agent die wordt uitgevoerd op basis van de inhoud van Thread. De agent gebruikt de configuratie en berichten van Thread om taken uit te voeren door modellen en hulpprogramma's aan te roepen. Als onderdeel van een run voegt de agent berichten toe aan de thread. |
Stap uitvoeren | Een gedetailleerde lijst met stappen die de agent heeft uitgevoerd als onderdeel van een uitvoering. Een agent kan hulpprogramma's aanroepen of berichten maken tijdens de uitvoering. Als u de uitvoeringsstappen bekijkt, kunt u begrijpen hoe de agent de resultaten krijgt. |
Voer de volgende opdrachten uit om de Python-pakketten te installeren.
pip install azure-ai-projects
pip install azure-identity
Als u vervolgens uw API-aanvragen wilt verifiëren en het programma wilt uitvoeren, gebruikt u de opdracht az login om u aan te melden bij uw Azure-abonnement.
az login
Gebruik de volgende code om een agent te maken en uit te voeren. Als u deze code wilt uitvoeren, moet u een verbindingsreeks maken met behulp van gegevens uit uw project. Deze tekenreeks heeft de volgende notatie:
<HostName>;<AzureSubscriptionId>;<ResourceGroup>;<ProjectName>
Tip
U vindt uw verbindingsreeks ook in het overzicht van uw project in de Azure AI Foundry-portal, onder Projectdetails>Project verbindingsreeks.
HostName
kunt u vinden door naar uw discovery_url
te navigeren en de voorloop https://
- en volgvolging te /discovery
verwijderen. Voer de volgende CLI-opdracht uit om uw discovery_url
te vinden:
az ml workspace show -n {project_name} --resource-group {resource_group_name} --query discovery_url
Uw verbindingsreeks ziet er bijvoorbeeld ongeveer als volgt uit:
eastus.api.azureml.ms;12345678-abcd-1234-9fc6-62780b3d3e05;my-resource-group;my-project-name
Stel deze verbindingsreeks in als een omgevingsvariabele met de naam 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")
| Referentiedocumentatiebibliotheek | broncodepakket | (PyPi) |
Vereisten
- Een Azure-abonnement: maak er gratis een.
- Python 3.8 of hoger
- Zorg ervoor dat u de RBAC-rol van Azure AI Developerop het juiste niveau hebt toegewezen.
- U hebt de Gebruikersrol Cognitive Services OpenAI toegewezen om de Azure AI Services-resource te kunnen gebruiken.
- Installeer de Azure CLI en de machine learning-extensie. Als u de CLI al hebt geïnstalleerd, controleert u of deze is bijgewerkt naar de nieuwste versie.
Uw Azure AI Hub- en Agent-project instellen
In de volgende sectie ziet u hoe u de vereiste resources instelt om aan de slag te gaan met de Azure AI Agent-service:
Een Azure AI Hub maken om uw app-omgeving en Azure-resources in te stellen.
Als u een Azure AI-project maakt onder uw Hub, maakt u een eindpunt voor uw app om aan te roepen en stelt u app-services in voor toegang tot resources in uw tenant.
Een Azure OpenAI-resource of een Azure AI Services-resource verbinden
Basis- of standaardagentinstellingen kiezen
Basisinstallatie: agents maken gebruik van zoek- en opslagbronnen met meerdere tenants die volledig worden beheerd door Microsoft. U hebt geen zichtbaarheid of controle over deze onderliggende Azure-resources.
Standaardinstallatie: agents maken gebruik van zoek- en opslagbronnen die eigendom zijn van één tenant. Met deze installatie hebt u volledige controle en zichtbaarheid van deze resources, maar er worden kosten in rekening gebracht op basis van uw gebruik.
Notitie
U kunt de volgende geautomatiseerde bicep-sjablonen gebruiken om een standaard- of basisagent uit te voeren. U kunt ook een basisagent maken met behulp van de Azure AI Foundry-portal. Azure AI Foundry biedt momenteel geen ondersteuning voor het instellen van de standaardagent.
[Optioneel] Modelselectie in sjabloon voor automatisch implementeren
U kunt het model dat door uw agent wordt gebruikt aanpassen door de modelparameters te bewerken in de sjabloon voor automatisch implementeren. Als u een ander model wilt implementeren, moet u ten minste de modelName
en modelVersion
parameters bijwerken.
Standaard wordt de implementatiesjabloon geconfigureerd met de volgende waarden:
Modelparameter | Standaardwaarde |
---|---|
modelName | gpt-4o-mini |
modelOpmaak | OpenAI (voor Azure OpenAI) |
modelVersion | 2024-07-18 |
modelSkuName | GlobalStandard |
modelLocation | eastus |
Belangrijk
Wijzig de parameter modelFormat niet.
De sjablonen ondersteunen alleen de implementatie van Azure OpenAI-modellen. Bekijk welke Azure OpenAI-modellen worden ondersteund in de azure AI Agent Service-modelondersteuningsdocumentatie .
[Optioneel] Uw eigen resources gebruiken tijdens het instellen van de agent
Notitie
Als u een bestaande AI Services- of Azure OpenAI-resource gebruikt, wordt er geen model geïmplementeerd. U kunt een model implementeren in de resource nadat de installatie van de agent is voltooid.
Gebruik een bestaande AI Services-, Azure OpenAI-, AI Search- en/of Azure Blob Storage-resource door de volledige arm-resource-id op te geven in het parameterbestand:
aiServiceAccountResourceId
aiSearchServiceResourceId
aiStorageAccountResourceId
Als u een bestaande Azure OpenAI-resource wilt gebruiken, moet u de aiServiceAccountResourceId
parameters in het parameterbestand bijwerken.aiServiceKind
De aiServiceKind
parameter moet worden ingesteld op AzureOpenAI
.
Zie voor meer informatie hoe u uw eigen resources gebruikt.
Een agent configureren en uitvoeren
Onderdeel | Beschrijving |
---|---|
Agent | Aangepaste AI die AI-modellen gebruikt in combinatie met hulpprogramma's. |
Hulpprogramma | Hulpprogramma's helpen de mogelijkheid van een agent om betrouwbaar en nauwkeurig te reageren tijdens het gesprek. Zoals het maken van verbinding met door de gebruiker gedefinieerde Knowledge Bases om het model te baseren of het mogelijk maken van zoeken op internet actuele informatie te bieden. |
Thread | Een gesprekssessie tussen een agent en een gebruiker. Threads slaan berichten op en verwerken automatisch afkapping zodat inhoud in de context van een model past. |
Bericht | Een bericht dat is gemaakt door een agent of een gebruiker. Berichten kunnen tekst, afbeeldingen en andere bestanden bevatten. Berichten worden opgeslagen als een lijst op de thread. |
Uitvoeren | Activering van een agent die wordt uitgevoerd op basis van de inhoud van Thread. De agent gebruikt de configuratie en berichten van Thread om taken uit te voeren door modellen en hulpprogramma's aan te roepen. Als onderdeel van een run voegt de agent berichten toe aan de thread. |
Stap uitvoeren | Een gedetailleerde lijst met stappen die de agent heeft uitgevoerd als onderdeel van een uitvoering. Een agent kan hulpprogramma's aanroepen of berichten maken tijdens de uitvoering. Als u de uitvoeringsstappen bekijkt, kunt u begrijpen hoe de agent de resultaten krijgt. |
Voer de volgende opdrachten uit om de Python-pakketten te installeren.
pip install azure-ai-projects
pip install azure-identity
pip install openai
Als u vervolgens uw API-aanvragen wilt verifiëren en het programma wilt uitvoeren, gebruikt u de opdracht az login om u aan te melden bij uw Azure-abonnement.
az login
Gebruik de volgende code om een agent te maken en uit te voeren. Als u deze code wilt uitvoeren, moet u een verbindingsreeks maken met behulp van gegevens uit uw project. Deze tekenreeks heeft de volgende notatie:
<HostName>;<AzureSubscriptionId>;<ResourceGroup>;<ProjectName>
Tip
U vindt uw verbindingsreeks ook in het overzicht van uw project in de Azure AI Foundry-portal, onder Projectdetails>Project verbindingsreeks.
HostName
kunt u vinden door naar uw discovery_url
te navigeren en de voorloop https://
- en volgvolging te /discovery
verwijderen. Voer de volgende CLI-opdracht uit om uw discovery_url
te vinden:
az ml workspace show -n {project_name} --resource-group {resource_group_name} --query discovery_url
Uw verbindingsreeks ziet er bijvoorbeeld ongeveer als volgt uit:
eastus.api.azureml.ms;12345678-abcd-1234-9fc6-62780b3d3e05;my-resource-group;my-project-name
Stel deze verbindingsreeks in als een omgevingsvariabele met de naam 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}")
| Referentiedocumentatie | Samples | Library source code | Package (npm) |
Vereisten
- Een Azure-abonnement: maak er gratis een.
- Node.js LTS
- Zorg ervoor dat u de RBAC-rol van Azure AI Developerop het juiste niveau hebt toegewezen.
- Installeer de Azure CLI en de machine learning-extensie. Als u de CLI al hebt geïnstalleerd, controleert u of deze is bijgewerkt naar de nieuwste versie.
Uw Azure AI Hub- en Agent-project instellen
In de volgende sectie ziet u hoe u de vereiste resources instelt om aan de slag te gaan met de Azure AI Agent-service:
Een Azure AI Hub maken om uw app-omgeving en Azure-resources in te stellen.
Als u een Azure AI-project maakt onder uw Hub, maakt u een eindpunt voor uw app om aan te roepen en stelt u app-services in voor toegang tot resources in uw tenant.
Een Azure OpenAI-resource of een Azure AI Services-resource verbinden
Basis- of standaardagentinstellingen kiezen
Basisinstallatie: agents maken gebruik van zoek- en opslagbronnen met meerdere tenants die volledig worden beheerd door Microsoft. U hebt geen zichtbaarheid of controle over deze onderliggende Azure-resources.
Standaardinstallatie: agents maken gebruik van zoek- en opslagbronnen die eigendom zijn van één tenant. Met deze installatie hebt u volledige controle en zichtbaarheid van deze resources, maar er worden kosten in rekening gebracht op basis van uw gebruik.
Notitie
U kunt de volgende geautomatiseerde bicep-sjablonen gebruiken om een standaard- of basisagent uit te voeren. U kunt ook een basisagent maken met behulp van de Azure AI Foundry-portal. Azure AI Foundry biedt momenteel geen ondersteuning voor het instellen van de standaardagent.
[Optioneel] Modelselectie in sjabloon voor automatisch implementeren
U kunt het model dat door uw agent wordt gebruikt aanpassen door de modelparameters te bewerken in de sjabloon voor automatisch implementeren. Als u een ander model wilt implementeren, moet u ten minste de modelName
en modelVersion
parameters bijwerken.
Standaard wordt de implementatiesjabloon geconfigureerd met de volgende waarden:
Modelparameter | Standaardwaarde |
---|---|
modelName | gpt-4o-mini |
modelOpmaak | OpenAI (voor Azure OpenAI) |
modelVersion | 2024-07-18 |
modelSkuName | GlobalStandard |
modelLocation | eastus |
Belangrijk
Wijzig de parameter modelFormat niet.
De sjablonen ondersteunen alleen de implementatie van Azure OpenAI-modellen. Bekijk welke Azure OpenAI-modellen worden ondersteund in de azure AI Agent Service-modelondersteuningsdocumentatie .
[Optioneel] Uw eigen resources gebruiken tijdens het instellen van de agent
Notitie
Als u een bestaande AI Services- of Azure OpenAI-resource gebruikt, wordt er geen model geïmplementeerd. U kunt een model implementeren in de resource nadat de installatie van de agent is voltooid.
Gebruik een bestaande AI Services-, Azure OpenAI-, AI Search- en/of Azure Blob Storage-resource door de volledige arm-resource-id op te geven in het parameterbestand:
aiServiceAccountResourceId
aiSearchServiceResourceId
aiStorageAccountResourceId
Als u een bestaande Azure OpenAI-resource wilt gebruiken, moet u de aiServiceAccountResourceId
parameters in het parameterbestand bijwerken.aiServiceKind
De aiServiceKind
parameter moet worden ingesteld op AzureOpenAI
.
Zie voor meer informatie hoe u uw eigen resources gebruikt.
Een agent configureren en uitvoeren
Onderdeel | Beschrijving |
---|---|
Agent | Aangepaste AI die AI-modellen gebruikt in combinatie met hulpprogramma's. |
Hulpprogramma | Hulpprogramma's helpen de mogelijkheid van een agent om betrouwbaar en nauwkeurig te reageren tijdens het gesprek. Zoals het maken van verbinding met door de gebruiker gedefinieerde Knowledge Bases om het model te baseren of het mogelijk maken van zoeken op internet actuele informatie te bieden. |
Thread | Een gesprekssessie tussen een agent en een gebruiker. Threads slaan berichten op en verwerken automatisch afkapping zodat inhoud in de context van een model past. |
Bericht | Een bericht dat is gemaakt door een agent of een gebruiker. Berichten kunnen tekst, afbeeldingen en andere bestanden bevatten. Berichten worden opgeslagen als een lijst op de thread. |
Uitvoeren | Activering van een agent die wordt uitgevoerd op basis van de inhoud van Thread. De agent gebruikt de configuratie en berichten van Thread om taken uit te voeren door modellen en hulpprogramma's aan te roepen. Als onderdeel van een run voegt de agent berichten toe aan de thread. |
Stap uitvoeren | Een gedetailleerde lijst met stappen die de agent heeft uitgevoerd als onderdeel van een uitvoering. Een agent kan hulpprogramma's aanroepen of berichten maken tijdens de uitvoering. Als u de uitvoeringsstappen bekijkt, kunt u begrijpen hoe de agent de resultaten krijgt. |
Voer de volgende opdrachten uit om de npm-pakketten te installeren.
npm install @azure/ai-projects
npm install @azure/identity
Als u vervolgens uw API-aanvragen wilt verifiëren en het programma wilt uitvoeren, gebruikt u de opdracht az login om u aan te melden bij uw Azure-abonnement.
az login
Gebruik de volgende code om een agent te maken en uit te voeren. Als u deze code wilt uitvoeren, moet u een verbindingsreeks maken met behulp van gegevens uit uw project. Deze tekenreeks heeft de volgende notatie:
<HostName>;<AzureSubscriptionId>;<ResourceGroup>;<ProjectName>
Tip
U vindt uw verbindingsreeks ook in het overzicht van uw project in de Azure AI Foundry-portal, onder Projectdetails>Project verbindingsreeks.
HostName
kunt u vinden door naar uw discovery_url
te navigeren en de voorloop https://
- en volgvolging te /discovery
verwijderen. Voer de volgende CLI-opdracht uit om uw discovery_url
te vinden:
az ml workspace show -n {project_name} --resource-group {resource_group_name} --query discovery_url
Uw verbindingsreeks ziet er bijvoorbeeld ongeveer als volgt uit:
eastus.api.azureml.ms;12345678-abcd-1234-9fc6-62780b3d3e05;my-resource-group;my-project-name
Stel deze verbindingsreeks in als een omgevingsvariabele met de naam 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);
});
De uitvoer bevat de prompt en antwoorden.
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!
---------------------------------
| Referentiedocumentatie | Samples | Library source code | Package (npm) |
Vereisten
- Een Azure-abonnement: maak er gratis een.
- Node.js LTS
- TypeScript 5.x
- Zorg ervoor dat u de RBAC-rol van Azure AI Developerop het juiste niveau hebt toegewezen.
- Installeer de Azure CLI en de machine learning-extensie. Als u de CLI al hebt geïnstalleerd, controleert u of deze is bijgewerkt naar de nieuwste versie.
Uw Azure AI Hub- en Agent-project instellen
In de volgende sectie ziet u hoe u de vereiste resources instelt om aan de slag te gaan met de Azure AI Agent-service:
Een Azure AI Hub maken om uw app-omgeving en Azure-resources in te stellen.
Als u een Azure AI-project maakt onder uw Hub, maakt u een eindpunt voor uw app om aan te roepen en stelt u app-services in voor toegang tot resources in uw tenant.
Een Azure OpenAI-resource of een Azure AI Services-resource verbinden
Basis- of standaardagentinstellingen kiezen
Basisinstallatie: agents maken gebruik van zoek- en opslagbronnen met meerdere tenants die volledig worden beheerd door Microsoft. U hebt geen zichtbaarheid of controle over deze onderliggende Azure-resources.
Standaardinstallatie: agents maken gebruik van zoek- en opslagbronnen die eigendom zijn van één tenant. Met deze installatie hebt u volledige controle en zichtbaarheid van deze resources, maar er worden kosten in rekening gebracht op basis van uw gebruik.
Notitie
U kunt de volgende geautomatiseerde bicep-sjablonen gebruiken om een standaard- of basisagent uit te voeren. U kunt ook een basisagent maken met behulp van de Azure AI Foundry-portal. Azure AI Foundry biedt momenteel geen ondersteuning voor het instellen van de standaardagent.
[Optioneel] Modelselectie in sjabloon voor automatisch implementeren
U kunt het model dat door uw agent wordt gebruikt aanpassen door de modelparameters te bewerken in de sjabloon voor automatisch implementeren. Als u een ander model wilt implementeren, moet u ten minste de modelName
en modelVersion
parameters bijwerken.
Standaard wordt de implementatiesjabloon geconfigureerd met de volgende waarden:
Modelparameter | Standaardwaarde |
---|---|
modelName | gpt-4o-mini |
modelOpmaak | OpenAI (voor Azure OpenAI) |
modelVersion | 2024-07-18 |
modelSkuName | GlobalStandard |
modelLocation | eastus |
Belangrijk
Wijzig de parameter modelFormat niet.
De sjablonen ondersteunen alleen de implementatie van Azure OpenAI-modellen. Bekijk welke Azure OpenAI-modellen worden ondersteund in de azure AI Agent Service-modelondersteuningsdocumentatie .
[Optioneel] Uw eigen resources gebruiken tijdens het instellen van de agent
Notitie
Als u een bestaande AI Services- of Azure OpenAI-resource gebruikt, wordt er geen model geïmplementeerd. U kunt een model implementeren in de resource nadat de installatie van de agent is voltooid.
Gebruik een bestaande AI Services-, Azure OpenAI-, AI Search- en/of Azure Blob Storage-resource door de volledige arm-resource-id op te geven in het parameterbestand:
aiServiceAccountResourceId
aiSearchServiceResourceId
aiStorageAccountResourceId
Als u een bestaande Azure OpenAI-resource wilt gebruiken, moet u de aiServiceAccountResourceId
parameters in het parameterbestand bijwerken.aiServiceKind
De aiServiceKind
parameter moet worden ingesteld op AzureOpenAI
.
Zie voor meer informatie hoe u uw eigen resources gebruikt.
Een agent configureren en uitvoeren
Onderdeel | Beschrijving |
---|---|
Agent | Aangepaste AI die AI-modellen gebruikt in combinatie met hulpprogramma's. |
Hulpprogramma | Hulpprogramma's helpen de mogelijkheid van een agent om betrouwbaar en nauwkeurig te reageren tijdens het gesprek. Zoals het maken van verbinding met door de gebruiker gedefinieerde Knowledge Bases om het model te baseren of het mogelijk maken van zoeken op internet actuele informatie te bieden. |
Thread | Een gesprekssessie tussen een agent en een gebruiker. Threads slaan berichten op en verwerken automatisch afkapping zodat inhoud in de context van een model past. |
Bericht | Een bericht dat is gemaakt door een agent of een gebruiker. Berichten kunnen tekst, afbeeldingen en andere bestanden bevatten. Berichten worden opgeslagen als een lijst op de thread. |
Uitvoeren | Activering van een agent die wordt uitgevoerd op basis van de inhoud van Thread. De agent gebruikt de configuratie en berichten van Thread om taken uit te voeren door modellen en hulpprogramma's aan te roepen. Als onderdeel van een run voegt de agent berichten toe aan de thread. |
Stap uitvoeren | Een gedetailleerde lijst met stappen die de agent heeft uitgevoerd als onderdeel van een uitvoering. Een agent kan hulpprogramma's aanroepen of berichten maken tijdens de uitvoering. Als u de uitvoeringsstappen bekijkt, kunt u begrijpen hoe de agent de resultaten krijgt. |
Voer de volgende opdrachten uit om de npm-pakketten te installeren.
npm install @azure/ai-projects
npm install @azure/identity
Als u vervolgens uw API-aanvragen wilt verifiëren en het programma wilt uitvoeren, gebruikt u de opdracht az login om u aan te melden bij uw Azure-abonnement.
az login
Gebruik de volgende code om een agent te maken en uit te voeren. Als u deze code wilt uitvoeren, moet u een verbindingsreeks maken met behulp van gegevens uit uw project. Deze tekenreeks heeft de volgende notatie:
<HostName>;<AzureSubscriptionId>;<ResourceGroup>;<ProjectName>
Tip
U vindt uw verbindingsreeks ook in het overzicht van uw project in de Azure AI Foundry-portal, onder Projectdetails>Project verbindingsreeks.
HostName
kunt u vinden door naar uw discovery_url
te navigeren en de voorloop https://
- en volgvolging te /discovery
verwijderen. Voer de volgende CLI-opdracht uit om uw discovery_url
te vinden:
az ml workspace show -n {project_name} --resource-group {resource_group_name} --query discovery_url
Uw verbindingsreeks ziet er bijvoorbeeld ongeveer als volgt uit:
eastus.api.azureml.ms;12345678-abcd-1234-9fc6-62780b3d3e05;my-resource-group;my-project-name
Stel deze verbindingsreeks in als een omgevingsvariabele met de naam 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);
});
De uitvoer bevat de prompt en antwoorden.
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!
---------------------------------
Vereisten
- Een Azure-abonnement: maak er gratis een.
- Zorg ervoor dat u de RBAC-rol van Azure AI Developerop het juiste niveau hebt toegewezen.
- U hebt de Gebruikersrol Cognitive Services OpenAI toegewezen om de Azure AI Services-resource te kunnen gebruiken.
- Installeer de Azure CLI en de machine learning-extensie. Als u de CLI al hebt geïnstalleerd, controleert u of deze is bijgewerkt naar de nieuwste versie.
Uw Azure AI Hub- en Agent-project instellen
In de volgende sectie ziet u hoe u de vereiste resources instelt om aan de slag te gaan met de Azure AI Agent-service:
Een Azure AI Hub maken om uw app-omgeving en Azure-resources in te stellen.
Als u een Azure AI-project maakt onder uw Hub, maakt u een eindpunt voor uw app om aan te roepen en stelt u app-services in voor toegang tot resources in uw tenant.
Een Azure OpenAI-resource of een Azure AI Services-resource verbinden
Basis- of standaardagentinstellingen kiezen
Basisinstallatie: agents maken gebruik van zoek- en opslagbronnen met meerdere tenants die volledig worden beheerd door Microsoft. U hebt geen zichtbaarheid of controle over deze onderliggende Azure-resources.
Standaardinstallatie: agents maken gebruik van zoek- en opslagbronnen die eigendom zijn van één tenant. Met deze installatie hebt u volledige controle en zichtbaarheid van deze resources, maar er worden kosten in rekening gebracht op basis van uw gebruik.
Notitie
U kunt de volgende geautomatiseerde bicep-sjablonen gebruiken om een standaard- of basisagent uit te voeren. U kunt ook een basisagent maken met behulp van de Azure AI Foundry-portal. Azure AI Foundry biedt momenteel geen ondersteuning voor het instellen van de standaardagent.
[Optioneel] Modelselectie in sjabloon voor automatisch implementeren
U kunt het model dat door uw agent wordt gebruikt aanpassen door de modelparameters te bewerken in de sjabloon voor automatisch implementeren. Als u een ander model wilt implementeren, moet u ten minste de modelName
en modelVersion
parameters bijwerken.
Standaard wordt de implementatiesjabloon geconfigureerd met de volgende waarden:
Modelparameter | Standaardwaarde |
---|---|
modelName | gpt-4o-mini |
modelOpmaak | OpenAI (voor Azure OpenAI) |
modelVersion | 2024-07-18 |
modelSkuName | GlobalStandard |
modelLocation | eastus |
Belangrijk
Wijzig de parameter modelFormat niet.
De sjablonen ondersteunen alleen de implementatie van Azure OpenAI-modellen. Bekijk welke Azure OpenAI-modellen worden ondersteund in de azure AI Agent Service-modelondersteuningsdocumentatie .
[Optioneel] Uw eigen resources gebruiken tijdens het instellen van de agent
Notitie
Als u een bestaande AI Services- of Azure OpenAI-resource gebruikt, wordt er geen model geïmplementeerd. U kunt een model implementeren in de resource nadat de installatie van de agent is voltooid.
Gebruik een bestaande AI Services-, Azure OpenAI-, AI Search- en/of Azure Blob Storage-resource door de volledige arm-resource-id op te geven in het parameterbestand:
aiServiceAccountResourceId
aiSearchServiceResourceId
aiStorageAccountResourceId
Als u een bestaande Azure OpenAI-resource wilt gebruiken, moet u de aiServiceAccountResourceId
parameters in het parameterbestand bijwerken.aiServiceKind
De aiServiceKind
parameter moet worden ingesteld op AzureOpenAI
.
Zie voor meer informatie hoe u uw eigen resources gebruikt.
Een agent configureren en uitvoeren
Onderdeel | Beschrijving |
---|---|
Agent | Aangepaste AI die AI-modellen gebruikt in combinatie met hulpprogramma's. |
Hulpprogramma | Hulpprogramma's helpen de mogelijkheid van een agent om betrouwbaar en nauwkeurig te reageren tijdens het gesprek. Zoals het maken van verbinding met door de gebruiker gedefinieerde Knowledge Bases om het model te baseren of het mogelijk maken van zoeken op internet actuele informatie te bieden. |
Thread | Een gesprekssessie tussen een agent en een gebruiker. Threads slaan berichten op en verwerken automatisch afkapping zodat inhoud in de context van een model past. |
Bericht | Een bericht dat is gemaakt door een agent of een gebruiker. Berichten kunnen tekst, afbeeldingen en andere bestanden bevatten. Berichten worden opgeslagen als een lijst op de thread. |
Uitvoeren | Activering van een agent die wordt uitgevoerd op basis van de inhoud van Thread. De agent gebruikt de configuratie en berichten van Thread om taken uit te voeren door modellen en hulpprogramma's aan te roepen. Als onderdeel van een run voegt de agent berichten toe aan de thread. |
Stap uitvoeren | Een gedetailleerde lijst met stappen die de agent heeft uitgevoerd als onderdeel van een uitvoering. Een agent kan hulpprogramma's aanroepen of berichten maken tijdens de uitvoering. Als u de uitvoeringsstappen bekijkt, kunt u begrijpen hoe de agent de resultaten krijgt. |
Als u uw API-aanvragen wilt verifiëren, gebruikt u de opdracht az login om u aan te melden bij uw Azure-abonnement.
az login
Vervolgens moet u het Entra ID-token ophalen om op te geven als autorisatie voor de API-aanroepen. Haal het token op met behulp van de CLI-opdracht:
az account get-access-token --resource 'https://ml.azure.com/' | jq -r .accessToken | tr -d '"'
Stel het toegangstoken in als een omgevingsvariabele met de naam AZURE_AI_AGENTS_TOKEN
.
Als u REST API-aanroepen naar Azure AI Agents Service wilt uitvoeren, moet u het eindpunt als volgt gebruiken:
https://<HostName>/agents/v1.0/subscriptions/<AzureSubscriptionId>/resourceGroups/<ResourceGroup>/providers/Microsoft.MachineLearningServices/workspaces/<ProjectName>
HostName
kunt u vinden door naar uw discovery_url
te navigeren en de voorloop https://
- en volgvolging te /discovery
verwijderen. Voer de volgende CLI-opdracht uit om uw discovery_url
te vinden:
az ml workspace show -n {project_name} --subscription {subscription_name} --resource-group {resource_group_name} --query discovery_url
Uw eindpunt ziet er bijvoorbeeld ongeveer als volgt uit:
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
Stel dit eindpunt in als een omgevingsvariabele met de naam AZURE_AI_AGENTS_ENDPOINT
.
Een agent maken
Notitie
Bij Azure AI Agents Service is voor de parameter de naam van de model
modelimplementatie vereist. Als de naam van uw modelimplementatie anders is dan de naam van het onderliggende model, past u de code aan. "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"
}'
Een thread maken
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 ''
Een gebruikersvraag toevoegen aan de thread
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?"
}'
De thread uitvoeren
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",
}'
De status van de uitvoering ophalen
curl $AZURE_AI_AGENTS_ENDPOINT/threads/thread_abc123/runs/run_abc123?api-version=2024-12-01-preview \
-H "Authorization: Bearer $AZURE_AI_AGENTS_TOKEN"
Het antwoord van de agent ophalen
curl $AZURE_AI_AGENTS_ENDPOINT/threads/thread_abc123/messages?api-version=2024-12-01-preview \
-H "Authorization: Bearer $AZURE_AI_AGENTS_TOKEN"