Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ważna
Elementy oznaczone jako (wersja zapoznawcza) w tym artykule są aktualnie dostępne w publicznej wersji zapoznawczej. Ta wersja zapoznawcza jest udostępniana bez umowy dotyczącej poziomu usług i nie zalecamy korzystania z niej w przypadku obciążeń produkcyjnych. Niektóre funkcje mogą nie być obsługiwane lub mogą mieć ograniczone możliwości. Aby uzyskać więcej informacji, zobacz Warunki dodatkowe korzystania z testowych wersji Microsoft Azure.
Użyj azd ai agent init, aby utworzyć szkielet projektu hostowanego agenta z plikami potrzebnymi do kompilowania, testowania i wdrażania agenta AI do Microsoft Foundry. W tym artykule wybierzesz punkt wyjścia i zainicjujesz projekt z szablonu, z własnego kodu lub na podstawie istniejącego projektu Foundry.
Wymagania wstępne
- Zainstalowano rozszerzenia Azure Developer CLI Foundry.
- Uwierzytelniona sesja Azure (
azd auth login). - Dostęp jako Współautor do subskrypcji platformy Azure.
Wybieranie punktu początkowego
Istnieją trzy sposoby rozpoczęcia projektu. Wybierz ścieżkę zgodną z twoją sytuacją.
| Rozważenie | Rozpoczynanie od szablonu | Przynieś swój własny kod | Łączenie istniejącego projektu |
|---|---|---|---|
| Najlepsze dla | Nowi agenci, uczenie narzędzi. | Istniejący kod agenta, który chcesz hostować w usłudze Foundry. | Agenci już działają w projekcie Foundry. |
| Polecenie |
azd ai agent init w pustym katalogu. |
azd ai agent init w katalogu z istniejącym kodem. |
azd ai agent init, a następnie wybierz istniejący projekt. |
| Co otrzymujesz | Kompletny projekt szablonowy: pojedynczy azure.yaml, kod źródłowy agenta w katalogu src/<agent-name>/ oraz plik Dockerfile do wdrożenia kontenera. Infrastruktura jest domyślnie bicep mniej i może zostać wyrzucona później. |
Wygenerowany azure.yaml wpis usługi oraz, do wdrożenia kontenera, plik Dockerfile opakowujący kod. Infrastruktura jest domyślnie bicep mniej i może zostać wyrzucona później. |
azure.yaml podłączony przewodowo do istniejącego projektu Foundry. Infrastruktura jest domyślnie bicep mniej i może zostać wyrzucona później. |
| Zmiany kodu | Żaden. Wszystko gotowe do uruchomienia. | Może być potrzebny adapter protokołu. | Żaden. |
Zainicjuj na podstawie szablonu
Uruchom kreatora interaktywnego w pustym katalogu i wybierz pozycję Rozpocznij nowy z szablonu:
azd ai agent init
Kreator przeprowadzi Cię przez następujące opcje.
| Podpowiedź | Opis |
|---|---|
| Szablon agenta | Wybierz spośród szablonów zorganizowanych według struktury i języka (Python lub .NET). |
| Subskrypcja platformy Azure | Subskrypcja używana do znajdowania lub tworzenia projektu Foundry. |
| Projekt odlewni | Wybierz istniejący projekt lub utwórz nowy. Jeśli go utworzysz, wybierz również region. |
| Wdrożenie modelu | Wybierz istniejące wdrożenie modelu lub zostanie ono utworzone na podstawie domyślnych ustawień szablonu. |
Nazwa agenta pochodzi z szablonu. CLI tworzy środowisko azd o nazwie <directory>-dev i konfiguruje je przy użyciu informacji z wybranego projektu Foundry. Każdy szablon zawiera kod źródłowy agenta, plik Dockerfile oraz plik azure.yaml, który pełni funkcję ujednoliconego manifestu projektu azd i konfiguracji hostowanego agenta.
Inicjowanie z adresu URL azure.yaml
Jeśli masz konkretny przykład agenta, ustaw -m na azure.yaml tego przykładu. CLI wykorzystuje ten plik jako manifest projektu i pobiera wskazane źródło agenta.
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
Uwaga / Notatka
Manifesty agentów (agent.manifest.yaml) i autonomiczne definicje agentów (agent.yaml) są przestarzałe. Począwszy od wersji rozszerzeń Foundry azd (azure.ai.agents 1.0.0-beta.1), cała konfiguracja hostowanego agenta znajduje się w jednym elemencie azure.yaml. Zobacz Utwórz plik azure.yaml dla agentów hostowanych.
Opcja -m nadal akceptuje adres URL starszego manifestu agenta, ale obecne przykłady publikują ujednolicony azure.yaml.
Określanie modelu
Wybierz model w czasie inicjowania:
azd ai agent init --model gpt-4.1
Możesz też użyć istniejącego wdrożenia modelu w projekcie Foundry:
azd ai agent init --model-deployment my-deployment
Wybieranie trybu wdrażania
Domyślnie azd ai agent init stosuje wdrażanie kodu w projektach Python i .NET. Wdrożenie kodu przesyła Twój kod źródłowy w postaci pakietu ZIP. Aby zamiast tego utworzyć szkielet projektu opartego na kontenerze, przekaż polecenie --deploy-mode container:
azd ai agent init --deploy-mode container
Aby wdrożyć gotowy obraz kontenera, przekaż --image i --agent-name. Ta opcja pomija wybór szablonu i języka, tworzenie szkieletów kodu, generowanie plików Dockerfile i Azure Container Registry konfigurację.
azd ai agent init --agent-name my-agent --image myregistry.azurecr.io/my-agent:v1
Przeglądanie szablonów nieinteraktywnie
Aby sprawdzić katalog przed wygenerowaniem szkieletu lub sterować azd ai agent init za pomocą skryptu, wyświetl katalog:
# 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
Każdy wpis zawiera gotowy do uruchomienia initCommand , który można skopiować i uruchomić w katalogu, do którego chcesz utworzyć szkielet.
Wskazówka
Gdy ponownie używasz przykładu przy użyciu innej tożsamości agenta Foundry, przekaż --agent-name <new-name> w elemencie azd ai agent init, aby nazwa zapisana w azure.yaml nie kolidowała z domyślną nazwą przykładu.
Inicjowanie z istniejącego kodu
Jeśli masz istniejący kod agenta w języku Python lub .NET, uruchom azd ai agent init w katalogu, który już zawiera Twój kod:
cd my-agent/
azd ai agent init
CLI wykrywa istniejące pliki i generuje wokół nich wpis usługi azure.yaml, nie nadpisując kodu. W przypadku wdrożenia kontenera dodaje również plik Dockerfile. Infrastruktura pozostaje domyślnie bez bicepu, chyba że infrastruktura zostanie wyrzucona jako kod później.
Kod agenta musi spełniać kontrakt czasu wykonywania hostowanego agenta:
- Nasłuchuj na porcie 8088.
- Zaserwuj sondę kondycji pod adresem
GET /readiness. - Obsługa jednego z obsługiwanych protokołów (
responseslubinvocations).
Jeśli Twój kod jeszcze nie obsługuje jednego z tych protokołów, dodaj adapter protokołu, lekką nakładkę SDK, która tłumaczy między protokołem Foundry a logiką Twojego agenta.
Aby dodać agenta do istniejącego projektu azd, init wykrywa projekt i dodaje nowy wpis usługi do istniejącego pliku azure.yaml. Użyj --src, aby określić podkatalog:
azd ai agent init --src src/my-agent
Nawiązywanie połączenia z istniejącym projektem Foundry
Aby zarządzać istniejącym projektem Foundry za pomocą azd, uruchom kreatora i wybierz opcję połączenia z istniejącym projektem. Możesz również pominąć wybór interaktywny, podając bezpośrednio identyfikator zasobu Azure projektu:
azd ai agent init --project-id /subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.CognitiveServices/accounts/{account}/projects/{project}
Aby znaleźć identyfikator project, otwórz portal Foundry, przejdź do pozycji Zarządzaj>Project szczegóły i skopiuj wartość Identyfikator zasobu.
Warning
Gdy inicjalizujesz istniejący projekt za pomocą --project-id, narzędzie pomija automatyczne przypisania ról, które wykonuje podczas tworzenia nowego projektu. Upewnij się, że wymagane role są już przypisane. Pełną macierz można znaleźć w informacjach referencyjnych dotyczących uprawnień hostowanych agentów.
Przejrzyj, co zostanie utworzone
Po zakończeniu init Twój katalog projektu zawiera następującą strukturę:
.
|-- 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
Szablony i przykłady udostępniają ujednolicony azure.yaml w katalogu głównym projektu. Podczas inicjowania azd przyjmuje lub generuje ten plik. Od teraz pracujesz z azure.yaml. Infrastruktura domyślnie nie używa języka Bicep. Wyrzuć infrastrukturę tylko wtedy, gdy musisz bezpośrednio zarządzać wygenerowanymi plikami IaC.