Een gehost agentproject initialiseren met de Azure Developer CLI

Important

Items die in dit artikel zijn gemarkeerd (preview) zijn momenteel beschikbaar als openbare preview. Deze preview wordt aangeboden zonder een service level agreement en we raden deze niet aan voor productieworkloads. Bepaalde functies worden mogelijk niet ondersteund of hebben mogelijk beperkte mogelijkheden. Zie Aanvullende gebruiksvoorwaarden voor Microsoft Azure Previews voor meer informatie.

Gebruik azd ai agent init om een gehost agentproject op te zetten met de bestanden die u nodig hebt om een AI-agent te bouwen, te testen en te implementeren in Microsoft Foundry. In dit artikel kiest u een beginpunt en initialiseert u het project vanuit een sjabloon, vanuit uw eigen code of op basis van een bestaand Foundry-project.

Als u een coderingsagent zoals GitHub Copilot gebruikt, kan de Microsoft Foundry Skill u helpen een beginsjabloon te kiezen, het project te maken en de gegenereerde azd configuratie te interpreteren.

Prerequisites

Een beginpunt kiezen

Er zijn drie manieren om een project te starten. Kies het pad dat overeenkomt met uw situatie.

Consideratie Beginnen met een sjabloon Uw eigen code gebruiken Een bestaand project verbinden
Ideaal voor Nieuwe agenten, de tools leren gebruiken. Bestaande agentcode die u wilt hosten op Foundry. Agents die al actief zijn in een Foundry-project.
Command azd ai agent init in een lege map. azd ai agent init in een map met bestaande code. azd ai agent initen selecteer vervolgens een bestaand project.
Wat u krijgt Een volledig geprojecteerd project: één azure.yamlagentbron onder src/<agent-name>/en een Dockerfile voor containerimplementatie. De infrastructuur is standaard zonder Bicep en kan later worden losgekoppeld. Een gegenereerde azure.yaml servicevermelding en, voor containerimplementatie, een Dockerfile die uw code verpakt. De infrastructuur is standaard zonder Bicep en kan later worden losgekoppeld. Een azure.yaml gekoppeld aan uw bestaande Foundry-project. De infrastructuur is standaard zonder Bicep en kan later worden losgekoppeld.
Codewijzigingen None. Klaar om te worden uitgevoerd. Mogelijk hebt u een protocoladapter nodig. None.

Initialiseren vanuit een sjabloon

Voer de interactieve wizard uit in een lege map en selecteer Nieuw starten in een sjabloon:

azd ai agent init

De wizard begeleidt u bij de volgende opties.

Prompt Description
Sjabloon voor agent Kies uit sjablonen die zijn georganiseerd op basis van framework en taal (Python of .NET).
Azure-abonnement Het abonnement dat wordt gebruikt om een Foundry-project te zoeken of te maken.
Gieterijproject Selecteer een bestaand project of maak een nieuw project. Als u er een maakt, kiest u ook een regio.
Modellenimplementatie Selecteer een bestaande modelimplementatie of er wordt een gemaakt op basis van sjabloonstandaarden.

De naam van de agent is afkomstig van de sjabloon. De CLI maakt een azd omgeving met de naam <directory>-dev en configureert deze met details van het geselecteerde Foundry-project. Elke sjabloon bevat de broncode van de agent, een Dockerfileen een azure.yaml bestand dat fungeert als het geïntegreerde projectmanifest voor de configuratie van het azd project en de gehoste agent.

Initialiseren vanuit een AZURE.yaml-URL

Als u een specifiek voorbeeld van een agent hebt, laat -m dan verwijzen naar de azure.yaml van het voorbeeld. De CLI gebruikt dat bestand als het projectmanifest en downloadt de bron van de agent waarnaar wordt verwezen.

azd ai agent init -m https://github.com/microsoft-foundry/foundry-samples/blob/main/samples/python/hosted-agents/agent-framework/responses/01-basic/azure.yaml

Opmerking

Agentmanifesten (agent.manifest.yaml) en zelfstandige agentdefinities (agent.yaml) zijn afgeschaft. Vanaf de Foundry-extensies azd (azure.ai.agents 1.0.0-beta.1) bevindt alle gehoste agentconfiguratie zich in één azure.yaml. Zie Author azure.yaml voor gehoste agents.

De -m optie accepteert nog steeds een verouderde manifest-URL van de agent, maar de huidige voorbeelden publiceren een uniforme azure.yaml.

Een model opgeven

Kies een model bij initialisatie:

azd ai agent init --model gpt-4.1

Of gebruik een bestaande modelimplementatie in uw Foundry-project:

azd ai agent init --model-deployment my-deployment

Een implementatiemodus kiezen

Standaard gebruikt azd ai agent init code-implementatie voor Python- en .NET-projecten. Code-implementatie uploadt uw bron als een ZIP-pakket. Als u in plaats daarvan een op containers gebaseerd project wilt genereren, geef dan --deploy-mode container door:

azd ai agent init --deploy-mode container

Als u een vooraf gebouwde containerinstallatiekopie wilt uitrollen, geeft u --image en --agent-name door. Met deze optie worden sjabloon- en taalselectie, code-scaffolding, het genereren van Dockerfile en Azure Container Registry setup overgeslagen.

azd ai agent init --agent-name my-agent --image myregistry.azurecr.io/my-agent:v1

Niet-interactief door sjablonen bladeren

Als u de catalogus wilt bekijken voordat u scaffolding uitvoert, of om azd ai agent init vanuit een script aan te sturen, toont u de catalogus:

# Everything in the catalog
azd ai agent sample list

# Just the featured Python agent samples
azd ai agent sample list --featured-only --language python --type agent

# Full azd templates only, as JSON for scripting
azd ai agent sample list --type azd --output json

Elke vermelding bevat een kant-en-klare initCommand invoer die u kopieert en uitvoert in de map waarin u een scaffold wilt maken.

Tip

Wanneer u een voorbeeld opnieuw gebruikt onder een andere Foundry-agentidentiteit, geeft u --agent-name <new-name> door aan azd ai agent init, zodat de naam die naar azure.yaml wordt geschreven niet botst met de standaardnaam van het voorbeeld.

Initialiseren vanuit bestaande code

Als u bestaande Python of .NET agentcode hebt, voert u deze uit azd ai agent init in de map die uw code al bevat:

cd my-agent/
azd ai agent init

De CLI detecteert de bestaande bestanden en genereert een azure.yaml servicevermelding eromheen zonder uw code te overschrijven. Voor containerimplementatie wordt ook een Dockerfile toegevoegd. Infrastructuur blijft standaard bicep-less, tenzij u de infrastructuur later als code uitwerpt.

Uw agentcode moet voldoen aan het runtimecontract van de gehoste agent:

  • Luister op poort 8088.
  • Bied een healthcheck aan op GET /readiness.
  • Een van de ondersteunde protocollen (responses of invocations) verwerken.

Als uw code nog geen van deze protocollen spreekt, voegt u een protocoladapter toe, een lichtgewicht SDK-wrapper die vertaalt tussen het Foundry-protocol en de logica van uw agent.

Als u een agent wilt toevoegen aan een bestaand azd project, init detecteert u het project en voegt u een nieuwe servicevermelding toe aan uw bestaande azure.yaml. Gebruik --src om een submap op te geven:

azd ai agent init --src src/my-agent

Verbinding maken met een bestaand Foundry-project

Als u een bestaand Foundry-project via azd wilt beheren, start u de wizard en selecteert u de optie om verbinding te maken met een bestaand project. U kunt de interactieve selectie ook overslaan door de Azure resource-id van het project rechtstreeks op te geven:

azd ai agent init --project-id /subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.CognitiveServices/accounts/{account}/projects/{project}

Als u de project-id wilt vinden, opent u de Foundry-portal, gaat u naar Details beheren>Project en kopieert u de waarde van de resource-id.

Warning

Wanneer u initialiseert voor een bestaand project met --project-id, slaat de tooling de automatische roltoewijzingen over die worden uitgevoerd wanneer er een nieuw project wordt gemaakt. Zorg ervoor dat de vereiste rollen al zijn toegewezen. Zie voor de volledige matrix de referentie voor machtigingen voor gehoste agents.

Controleren wat er wordt gemaakt

Nadat init is voltooid, bevat uw projectmap de volgende structuur:

.
|-- azure.yaml                  # Unified azd project and hosted agent configuration
|-- src/
|   \-- <agent-name>/
|       |-- Dockerfile          # Container build definition
|       \-- ...                 # Agent source code
|-- .azure/                     # Environment configuration
\-- infra/                      # Optional IaC, created only after you eject infrastructure

Sjablonen en voorbeelden plaatsen een uniforme azure.yaml in de hoofdmap van het project. Tijdens init neemt azd het bestand over of genereert het. Je werkt voortaan met azure.yaml. Infrastructuur is standaard zonder Bicep. Infrastructuur alleen uitwerpen wanneer u de gegenereerde IaC-bestanden rechtstreeks moet beheren.