Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Naučte se, jak vytvořit, hostovat, registrovat a publikovat agenta Agent 365, který běží na AWS Elastic Beanstalk, pomocí rozhraní příkazového řádku Agent 365. Microsoft Entra a Microsoft Graph poskytují identitu agenta, oprávnění a podrobný plán, zatímco AWS Elastic Beanstalk poskytuje runtime.
Pokud chcete nasměrovat svého agenta na kód, který je umístěný za koncovým bodem AWS, stačí provést následující krok: Nastavit pro hosting mimo Azure. Poté postupujte podle všech ostatních kroků z Začněte s vývojem Agent 365.
Cíle
Naučte se používat Agent 365 a Microsoft 365 jako řídicí rovinu a:
- Nasazení modulu runtime agenta na AWS Elastic Beanstalk
- Konfigurace
a365.config.jsonpro hostování mimo Azure - Vytvořit podrobného plánu agenta v Entra ID
- Konfigurovat OAuth2 a dědičná oprávnění
- Zaregistrujte koncový bod zpráv Bot Framework směřující na AWS
- Vytvořte identitu agenta a uživatele agenta
- (Volitelné) Publikovat do prostředí aplikací Microsoft 365
- Testování interakcí od začátku do konce
Předpoklady
Než začnete, ujistěte se, že jsou splněny následující požadavky na Azure / Microsoft 365, AWS a lokální prostředí.
Předpoklady Azure / Microsoft 365
Potvrďte přístup ke svému klientovi Microsoft Entra a nainstalujte následující nástroje pro vytváření identit, podrobných plánů a registraci svého agenta.
Klient Microsoft Entra ID s:
- Oprávnění nebo role k vytváření aplikací a podrobných plánů agentů (Globální správce nebo ekvivalent)
- Členství ve ve verzi Preview programu Frontier pro získání předčasného přístupu k Microsoft Agent 365.
- Alespoň jedna licence Microsoft 365 je dostupná pro uživatele agenta.
Předpoklady Amazon Web Services (AWS)
Ujistěte se, že následující AWS služby a nástroje jsou připraveny pro nasazení a správu vašeho prostředí Elastic Beanstalk.
- AWS účet s potřebnými oprávněními
- Přístup k AWS Elastic Beanstalk povolen
- Rozhraní příkazového řádku AWS nainstalováno a nakonfigurováno
- Rozhraní příkazového řádku Elastic Beanstalk nainstalováno
Předpoklady místního vývojového prostředí
Nainstalujte a nakonfigurujte následující nástroje lokálně pro sestavení, spuštění a nasazení agenta.
: Použijte Visual Studio Code nebo Visual Studio.
.NET SDK: Použijte .NET SDK 8.0 nebo novější
Sada nástrojů AWS: Nainstalujte toto rozšíření z Visual Studio nebo Visual Studio Code. Přihlaste se pomocí Správy identit a přístupu (IAM) AWS přihlašovacích údajů.
Přístup k LLM API: Vyberte vhodnou službu podle konfigurace vašeho agenta nebo preferovaného poskytovatele modelu:
- Klíč API OpenAI: Získejte svůj klíč API OpenAI
- Azure OpenAI: Vytvořte a nasazujte prostředek Azure OpenAI pro získání svého API klíče a koncového bodu
Vytváření a nasazení agenta .NET
Následující pokyny popisují, jak vytvořit minimálního agenta:
- Reaguje na GET
/ - Přijímá aktivity Bot Framework na POST
/api/messages
Vytvořte adresář projektu
mkdir aws-a365-agent
cd aws-a365-agent
Inicializujte projekt .NET
Aby byl postup jednodušší, tento článek používá předpřipravený příklad. Klonujte úložiště vzorků Agent365 a přejděte na vzorek DotNet\semantic-kernel\sample-agent.
Vzorový agent Sémantické jádro - C#/.NET obsahuje:
- Minimální ASP.NET Core Web API
- Obslužná rutina zpráv Bot Framework na
/api/messages -
Koncový bod kontroly stavu na
/ - Integrace Sémantické jádro pro funkce AI
Přejděte na dotnet\semantic-kernel\sample-agent a ověřte, že sestavení projektu proběhlo úspěšně:
dotnet restore
dotnet build
Konfigurace modelu
Postupujte podle pokynů v kroku 2: konfigurace LLM a nakonfigurujte projekt s použitím vašeho klíče OpenAPI.
Testujte lokálně (volitelně)
Před nasazením na AWS otestujte svého agenta lokálně:
# Run the application dotnet runOtestujte koncové body v dalším terminálu:
# Test agent endpoint locally curl http://localhost:3978Stiskněte
Ctrl+Cpro zastavení místního serveru.
Sestavení a nasazení
Vyberte možnost, kterou preferujete pro sestavení a nasazení této ukázkové aplikace:
- Možnost A: Sestavení a nasazení z Visual Studio
- Varianta B: Sestavení a nasazení do AWS Elastic Beanstalk pomocí CLI
Možnost A: Sestavení a nasazení z Visual Studio
Použijte AWS Toolkit pro Visual Studio k publikování aplikace na Elastic Beanstalk pomocí průvodce.
V Průzkumníku řešení klikněte pravým tlačítkem myši na svůj projekt.
Vyberte Publikovat do AWS Elastic Beanstalk.
Postupujte podle průvodce nasazením Beanstalk:
- Vyberte svůj profil přihlašovacích údajů AWS.
- Vyberte oblast (například
us-east-1). - Vyberte platformu (
.NET Core on Linux). - Nakonfigurujte nastavení prostředí.
Vyberte Nasadit.
Průvodce sestaví, zabalí a nasadí vaši aplikaci na AWS.
Varianta B: Sestavení a nasazení do AWS Elastic Beanstalk pomocí CLI
Použijte Elastic Beanstalk CLI k zabalení a nasazení agenta .NET do 64-bitového prostředí Amazon Linux 2. Ujistěte se, že jsou AWS CLI a EB CLI správně nakonfigurované. Aplikace používá proměnnou prostředí PORT nastavenou Beanstalkem.
Sestavte a publikujte svou .NET aplikaci:
# Publish for Linux runtime (AWS Elastic Beanstalk uses Amazon Linux) dotnet publish -c Release -o ./publish --runtime linux-x64Vytvořte soubor Procfile s následujícím obsahem.
web: dotnet ./SemanticKernelSampleAgent.dllInicializujte Elastic Beanstalk pro .NET. Zobrazí se výzva k výběru oblasti a platformy:
eb initVyberte:
-
Platforma:
64bit-amazon-linux-2023-v3.7.0-running-.net-8 -
Oblast: Preferovaná oblast AWS (například:
us-east-1)
-
Platforma:
Vytvořte nasazovací balíček a nasaďte aplikaci:
cd publish zip -r ../deploy.zip . cd .. eb create aws-a365-agent-env eb deployTento příkaz:
- Vytváří aplikaci Elastic Beanstalk.
- Vytváří prostředí s load balancerem.
- Nasazuje vaši aplikaci.
- Zajišťuje nezbytné zdroje AWS.
Po dokončení získejte svůj koncový bod Elastic Beanstalk:
eb statusPoznamenejte si svůj koncový bod. Měl by vypadat nějak takto:
http://aws-a365-agent-env.us-east-1.elasticbeanstalk.comTento koncový bod je
messagingEndpointpoužívaný nástrojem Agent 365 Dev Tools CLI.
Poznámka:
Pro produkční prostředí nakonfigurujte HTTPS přidáním SSL/TLS certifikátu v Elastic Beanstalk. Bot Framework vyžaduje HTTPS pro produkční koncové body.
Konfigurace pro hostování mimo Azure
Vytvořte a365.config.json ručně ve své složce projektu Elastic Beanstalk:
Důležité
Pro hostování mimo Azure nastavte hodnotu messagingEndpoint na URL Elastic Beanstalk s cestou /api/messages.
Soubor a365.config.json by měl vypadat přibližně takto:
{
"tenantId": "YOUR_TENANT_ID",
"environment": "prod",
"messagingEndpoint": "http://aws-a365-agent-env.us-east-1.elasticbeanstalk.com/api/messages",
"agentIdentityDisplayName": "MyAwsAgent Identity",
"agentBlueprintDisplayName": "MyAwsAgent Blueprint",
"agentUserDisplayName": "MyAwsAgent User",
"agentUserPrincipalName": "myawsagent@testTenant.onmicrosoft.com",
"agentUserUsageLocation": "US",
"managerEmail": "myManager@testTenant.onmicrosoft.com",
"deploymentProjectPath": ".",
"agentDescription": "AWS-hosted Agent 365 Agent"
}
Následující tabulka shrnuje důležitá konfigurační pole a jejich účel.
| Pole | Význam |
|---|---|
messagingEndpoint |
Vaše Elastic Beanstalk URL + /api/messages |
deploymentProjectPath |
Kde dochází k označování .env |
Vytvoření agenta Agent 365
Jakmile váš agentní kód běží proti koncovému bodu AWS, postupujte podle zbývajících kroků z Začínáme s vývojem Agent 365 a nastavte svého agenta Agent 365.
Ověření agenta v celém procesu
Pomocí těchto kontrol ověříte, že váš agent hostovaný na AWS je dosažitelný, přijímá aktivity Bot Framework a správně reaguje napříč kanály Agent 365.
Ověřte konektivitu Elastic Beanstalk
Pošlete GET požadavek na koncový bod Elastic Beanstalk.
curl http://aws-a365-agent-env.us-east-1.elasticbeanstalk.com/
Požadavek by měl vrátit tuto zprávu:
AWS Agent is running.
Zkontrolujte protokoly Elastic Beanstalk na příchozí zprávy Bot Framework
Použijte protokolování Elastic Beanstalk k ověření, zda váš agent přijímá aktivity Bot Framework a správně na ně reaguje.
eb logs
Nebo streamujte protokoly v reálném čase:
eb logs --stream
Jakmile zpráva dorazí k vašemu agentovi, uvidíte:
POST 200 /api/messages
Received activity: { ... }
Testování agenta z prostředí Agentu 365
V závislosti na vašem prostředí můžete svého agenta testovat z různých rozhraní:
- Agents Playground
- Teams (je-li agent publikován)
- Agent Shell
- Federovaná rozhraní
Můžete posílat zprávy a kontrolovat protokoly Elastic Beanstalk. Naučte se, jak testovat agenty pomocí Microsoft Agent 365 SDK a ověřovat funkčnost svého agenta pomocí testovacího nástroje Agents Playground.
Pracovní postup vývojáře
Po dokončení nastavení postupujte podle tohoto postupu pro iterativní vývoj:
Vývoj a testování lokálně
Použijte režim sledování pro rychlý vývoj s automatickým obnovováním:
# Automatically rebuild and restart on file changes
dotnet watch run
Proveďte změny v kódu, uložte je a před nasazením je otestujte v místním prostředí.
Vytvoření a opětovné nasazení do AWS Elastic Beanstalk
Až budete připraveni nasadit své změny:
# Clean previous builds (optional but recommended)
dotnet clean
# Publish optimized release build
dotnet publish -c Release -o ./publish --runtime linux-x64
# Create deployment package
cd publish
zip -r ../deploy.zip .
cd ..
# Deploy to AWS
eb deploy
Testování a monitorování
Otestujte pomocí rozhraní Agent 365 a sledujte protokoly Elastic Beanstalk:
# Stream logs in real-time
eb logs --stream
Není třeba znovu vytvářet identitu, podrobný plán, koncový bod bota ani oprávnění.
Řešení problému
Použijte tuto sekci k diagnostice a vyřešení běžných problémů při nasazení a provozu agenta Agent 365 na AWS Elastic Beanstalk. Zahrnuje konektivitu a kontroly stavu. Zabývá se také port bindingem, chybami při sestavení a licenčními problémy.
Zpropitné
Průvodce odstraňováním problémů Agent 365 obsahuje doporučení k odstraňování problémů na vysoké úrovni, osvědčené postupy a odkazy na obsah o řešení problémů pro každou část životního cyklu vývoje Agent 365.
Koncový bod pro zasílání zpráv nepřijímá požadavky
Zkontrolujte následující údaje:
- Váš koncový bod je přesně:
http://<your-app>.elasticbeanstalk.com/api/messages - Vaše prostředí Elastic Beanstalk je v pořádku. Použijte kontrolu pomocí
eb health. - Skupina zabezpečení povoluje příchozí provoz HTTP nebo HTTPS.
- Firewall neobsahuje žádná pravidla ani omezení VPC.
Problémy se stavem aplikace
Zkontrolujte stav prostředí:
eb health --refresh
Zobrazit podrobné protokoly
eb logs
Problémy s vázáním portů
Ujistěte se, že vaše aplikace naslouchá na portu, který je určen proměnnou prostředí PORT. Elastic Beanstalk nastavuje tuto hodnotu automaticky.
Problémy s vytvořením nebo modulem runtime .NET
Zkontrolujte chyby sestavení pomocí těchto příkazů:
# Clean and rebuild
dotnet clean
dotnet build --verbosity detailed
Ověřte verzi .NET:
dotnet --version
dotnet --list-sdks
Zkontrolujte problémy s balíčky:
# List installed packages
dotnet list package
# Update packages
dotnet restore --force
Přiřazení licence selže
Platnou licenci Microsoft 365 přiřaďte manuálně, nebo použijte cestu pro nelicencované uživatele, pokud je podporována.