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.
Umiejętności hostowane w Azure Functions pozwalają dodawać rozumowanie AI do aplikacji funkcyjnych. W pliku .agent.md określasz instrukcje w języku naturalnym, konfigurację wyzwalacza oraz opcjonalne powiązania narzędzi. Gdy wystąpi zdarzenie, środowisko wykonawcze wywołuje model, uruchamia narzędzia, o które model poprosi, i zwraca wynik. Wdrażasz aplikację jak każdą inną aplikację funkcjonalną.
Aby stworzyć i wdrożyć swoją pierwszą hostowaną aplikację do umiejętności, zobacz Zbudowaj aplikację AI opartą na zdarzeniach z umiejętnościami hostowanymi w Azure Functions.
Aby uzyskać najbardziej aktualną i kompletną dokumentację środowiska uruchomieniowego, zapoznaj się z Azure Functions Agents Runtime.
Important
Umiejętności hostowane w Azure Functions są obecnie w wersji podglądowej. Funkcje, nazwy konfiguracji i obsługiwane łączniki mogą ulec zmianie przed ogólną dostępnością.
Hostowana umiejętność to pojedyncza jednostka pracy opartej na AI zdefiniowana w pliku.agent.md. Każda hostowana umiejętność jest mapowana na jedną funkcję Azure.
Sama umiejętność odnosi się do wielokrotnego użytku wskazówek Markdown przechowywanych w plikuSKILL.md, który umiejętności hostowane mogą ładować na żądanie.
Kiedy korzystać z hostowanych umiejętności
Korzystaj z umiejętności hostowanych w Azure Functions, gdy wydarzenie biznesowe wymaga rozumowania AI przed podjęciem działania. Przykład:
- Sortuj przychodzące e-maile. Wyzwalacz złącza uruchamia się, gdy skarga dotrze do wspólnej skrzynki pocztowej. Hostowana umiejętność odczytuje wiadomość, klasyfikuje ją i kieruje ją do odpowiedniej kolejki wsparcia.
- Wzbogacaj nowe leady CRM. Wyzwalacz łącznika uruchamia się, gdy potencjalny klient zostanie dodany w usłudze Salesforce lub Dynamics 365. Hostowana umiejętność przeszukuje internet pod kątem kontekstu dotyczącego leadu i wysyła podsumowanie do przydzielonego sprzedawcy.
- Weryfikuj zmiany danych. Blob lub wyzwalacz bazy danych uruchamia się, gdy rekord przychodów zostanie zaktualizowany. Hostowana umiejętność sprawdza, czy przychody spadły poniżej progu, generuje wyjaśnienie i rozpoczyna proces przeglądu.
- Obsługuj narzędzie MCP specyficzne dla danej dziedziny. Zewnętrzny agent lub środowisko uruchomieniowe agenta wywołuje hostowaną funkcję za pośrednictwem HTTP lub MCP. Hostowana umiejętność stosuje logikę AI do danych przechowywanych lub bazy danych i zwraca uporządkowaną odpowiedź, działając jako inteligentne, specyficzne dla danej dziedziny narzędzie, które inni klienci AI mogą wykorzystać.
Umiejętności hostowane są dobrym wyborem, gdy potrzebujesz wyzwalaczy sterowanych zdarzeniami, rozumowania AI za pomocą narzędzi oraz funkcji operacyjnych Azure Functions (zarządzana tożsamość, monitorowanie, skalowanie do zera oraz integracja z siecią wirtualną).
Dlaczego warto używać Funkcji w aplikacjach AI?
Produkcyjne obciążenia robocze AI wymagają czegoś więcej niż tylko monitu i modelu. Potrzebują niezawodnych sposobów uruchamiania pracy, wywoływania systemów zewnętrznych, utrwalania historii konwersacji, bezpiecznego uruchamiania niezaufanego kodu, uwierzytelniania bez wpisów tajnych, emitowania danych telemetrycznych i skalowania na żądanie.
Functions zapewnia model obliczeniowy sterowany zdarzeniami dla tych operacyjnych problemów. Umiejętności hostowane w Azure Functions stosują ten sam model do Twojego kodu AI. Korzyści obejmują:
- Każda hostowana umiejętność to jeden
.agent.mdplik. Konfiguracja deklaratywna i instrukcje w języku naturalnym współistnieją. Każdy plik odpowiada jednej funkcji platformy Azure. - Zdarzenia uruchamiają umiejętności hostowane. Wyzwalacze funkcji uruchamiają hostowane umiejętności na podstawie harmonogramów, żądań HTTP, komunikatów kolejek, zmian obiektów blob, zdarzeń Event Grid, komunikatów usługi Service Bus oraz innych obsługiwanych zdarzeń.
- Funkcje konfiguruje się najpierw, a kod stosuje tylko wtedy, gdy jest potrzebny. Możesz skonfigurować hostowane umiejętności do korzystania z zdalnych serwerów MCP, serwerów MCP hostowanych w przestrzeniach nazw łączników, umiejętności wielokrotnego użytku oraz uruchamiania kodu w sandboxie. Napisz własne narzędzia oparte na Python do logiki specyficznej dla aplikacji.
- Hosting Azure Functions jest wbudowany. Umiejętności hostowane w usłudze Azure Functions obsługują plany Flex Consumption, Premium oraz Dedicated (App Service). Flex Consumption zapewnia skalowanie do zera, rozliczenia na sekundę oraz automatyczne skalowanie. Wszystkie plany wspierają zarządzaną tożsamość, integrację z sieciami wirtualnymi oraz Application Insights.
- Sprawy hydrauliczne są prowadzone za Ciebie. Środowisko uruchomieniowe zarządza wykrywaniem hostowanych umiejętności, rejestracją wyzwalaczy, komponowaniem narzędzi, historią sesji oraz opcjonalnymi wbudowanymi punktami końcowymi.
Współpraca z innymi platformami AI Microsoft
Umiejętności hostowane w Azure Functions są uzupełnieniem innych rozwiązań AI Microsoft i mogą być używane razem z nimi. Ich idealnym rozwiązaniem jest budowanie inteligentnych funkcji w chmurze, opartych na zdarzeniach na Azure Functions poprzez przystępny model programowania. Umiejętności hostowane mogą udostępniać funkcje za pośrednictwem HTTP lub MCP na użytek innych aplikacji, agentów i środowisk uruchomieniowych agentów.
Wybierz możliwość Azure, która najlepiej pasuje do Twojej sytuacji:
| Scenario | Opcja |
|---|---|
| Udostępnij funkcje deterministyczne jako narzędzia dla innego klienta AI | Rozszerzenie MCP dla Azure Functions |
| Długotrwała, wieloetapowa orkiestracja z zatwierdzaniem przez człowieka | Durable Functions |
| Tworz i zarządzaj agentami AI bez własnego hostingu | Microsoft Foundry lub Copilot Studio |
Definicja projektu
Aplikacja do umiejętności hostowana w Azure Functions to standardowy projekt aplikacji Python v2 Function wdrożony wraz z hostowanymi plikami projektów umiejętności. Następujące pliki projektowe są zawsze wymagane dla aplikacji funkcyjnych w Python:
| File | Purpose |
|---|---|
function_app.py |
Importuje create_function_app() i zwraca skonfigurowaną aplikację Azure Functions. |
host.json |
Konfiguruje hosta Azure Functions. |
requirements.txt |
Zawiera pakiet środowiska uruchomieniowego hostowanych umiejętności oraz wszelkie specyficzne dla aplikacji zależności języka Python. |
Więcej informacji znajdziesz w przewodniku dla deweloperów Azure Functions dotyczącym aplikacji w Python.
Hostowane pliki projektów umiejętności
Środowisko uruchomieniowe wykrywa te pliki i foldery, które są wdrażane wraz z projektem aplikacji:
| Plik lub folder | Purpose |
|---|---|
*.agent.md |
Definiuje hostowane umiejętności. Sekcja metadanych YAML konfiguruje hostowaną umiejętność, a treść w formacie Markdown staje się instrukcjami. Twój projekt musi mieć przynajmniej jeden .agent.md plik. |
agents.config.yaml |
(Opcjonalnie) Określa domyślne ustawienia uruchomieniowe dla całej aplikacji, takie jak model, limit czasu i ustawienia sandboxa. |
mcp.json |
Definiuje zdalne serwery HTTP MCP, które mogą używać hostowanych umiejętności jako narzędzi, w tym narzędzia łączące działania takie jak wysyłanie e-maili czy współpraca z Teams. |
tools/ |
(Opcjonalnie) Zawiera dowolne niestandardowe narzędzia Python, które tworzysz, aby zapewnić możliwości niedostępne już w serwerach MCP, połączeniach, umiejętnościach lub wykonaniach w środowisku izolowanym. |
skills/ |
(Opcjonalnie) Zawiera zasoby promptów wielokrotnego użytku SKILL.md, które hostowane umiejętności mogą ładować w razie potrzeby. |
Każdy .agent.md plik korzysta z przedniej części YAML, po której następują instrukcje markdown. Ten przykład definiuje hostowaną umiejętność wyzwalaną przez timer, która działa codziennie o 15:00 (UTC):
---
name: Daily Tech News Email
description: Fetches top tech news and emails a summary daily.
trigger:
type: timer_trigger
args:
schedule: "0 0 15 * * *"
---
You are a news assistant. When triggered, do the following:
1. Gather today's top technology news from reputable sources.
1. Summarize the stories in a concise HTML email body.
1. Email the summary to $TO_EMAIL with the subject "Daily Tech News Summary".
Front matter określa, jak wywoływana jest hostowana umiejętność. Treść języka Markdown to blok instrukcji, który środowisko uruchomieniowe przekazuje do modelu podczas wykonywania. Podstawianie wartości zmiennych środowiskowych pozwala, aby instrukcje i wartości konfiguracji odwoływały się do ustawień aplikacji, takich jak $TO_EMAIL.
Każdy .agent.md plik definiuje jedną hostowaną umiejętność. Nazwa pliku pochodzi od nazwy funkcji Azure oraz segmentu trasy dla wbudowanych punktów końcowych. Pole name to jest nazwą wyświetlaną dla logów, etykiet i dokumentacji.
Pełną listę .agent.md pól plików, opcji konfiguracji aplikacji oraz reguł podstawiania zmiennych można znaleźć w Azure Functions hosted skills reference.
Proces uruchamiania aplikacji
Gdy host usługi Functions ładuje aplikację, metoda create_function_app wykrywa pliki .agent.md, serwery MCP, umiejętności i narzędzia niestandardowe w projekcie. Weryfikuje konfigurację, składa narzędzia dla każdej hostowanej umiejętności oraz rejestruje wymagane wyzwalacze i punkty końcowe.
Gdy wyzwalacz się uruchamia, środowisko wykonawcze buduje hostowaną umiejętność wraz z jej rozwiązanymi instrukcjami, modelem, narzędziami i historią sesji, a następnie ją wykonuje.
Wyzwalaj hostowane umiejętności za pomocą zdarzeń
Środowisko uruchomieniowe obsługuje wiele wyzwalaczy w aplikacji, ale tylko jeden wyzwalacz w pliku .agent.md. Definicja wyzwalacza zawiera obiekt type i obiekt args.
type identyfikuje powiązanie wyzwalacza, a args zawiera ustawienia specyficzne dla wyzwalacza, które określają, jakie zdarzenie uruchamia hostowaną umiejętność.
Typowe wzorce wyzwalaczy obejmują:
| Pattern | Example |
|---|---|
| HTTP | Odbierz żądanie, wywołaj narzędzia i zwróć ustrukturyzowaną odpowiedź. |
| Zaplanuj | Uruchom codzienny przepływ pracy raportowania, podsumowania, czyszczenia lub rekonsyliacji. |
| Kolejka lub wiadomość | Przetwarzaj elementy pracy, które wymagają wnioskowania modelu lub wywołań narzędzi. |
| Zdarzenie pamięci lub bazy danych | Reagowanie na zmienione pliki, rekordy lub zdarzenia. |
| Wyzwalacz łącznika | Reaguj na zdarzenia z konektorów zarządzanych, takie jak wiadomości w usłudze Teams, poczta w usłudze Outlook czy zdarzenia kalendarza obsługiwane przez dany konektor. |
Szczegóły konfiguracji wyzwalaczy, obsługiwane typy i args odniesienia można znaleźć w Azure Functions hosted skills reference.
Wspierane narzędzia AI
Umiejętności hostowane w Azure Functions obsługują kilka typów narzędzi. Zacznij od skonfigurowanych możliwości i używaj niestandardowych narzędzi Python do logiki specyficznej dla aplikacji, która nie pasuje do tych opcji.
Zdalne serwery MCP
Zdefiniuj zdalne serwery HTTP lub strumieniowe HTTP MCP w mcp.json. Środowisko uruchomieniowe wykrywa te serwery i udostępnia ich narzędzia wszystkim hostowanym umiejętnościom. Korzystaj ze zdalnych serwerów MCP, gdy hostowane funkcje muszą wywoływać narzędzia hostowane przez inną usługę lub łączyć funkcje między aplikacjami.
Łączniki platformy Azure
Konektory umożliwiają hostowanym umiejętnościom współpracę z usługami zewnętrznymi bez konieczności pisania własnego kodu klienta API. Przestrzeń nazw Connector hostuje połączenia, wyzwalacze i serwery MCP dla usług takich jak Microsoft 365 Outlook, Teams, Salesforce, SAP czy SQL. Używaj wyzwalaczy łączników do uruchamiania hostowanych umiejętności na podstawie zdarzeń zewnętrznych oraz narzędzi MCP łączników do wywoływania działań usługi z instrukcji hostowanych umiejętności.
Umiejętności
Przechowuj zasoby promptów wielokrotnego wykorzystania w folderze skills/. Każdy folder umiejętności zawiera plik SKILL.md z nazwą, opisem i instrukcjami w formacie Markdown. Środowisko uruchomieniowe automatycznie wykrywa umiejętności i udostępnia je hostowanym umiejętnościom. Umiejętności pomagają utrzymać podstawowe instrukcje małe, jednocześnie udostępniając wskazówki specyficzne dla danej dziedziny, gdy są potrzebne.
Izolowane wykonywanie
Środowisko uruchomieniowe może używać dynamicznych sesji usługi Azure Container Apps, aby udostępniać hostowanym umiejętnościom narzędzie execute_python. To narzędzie uruchamia Python w izolowanej puli sesji, co jest przydatne do wykonywania kodu i analizy danych. Skonfiguruj punkt końcowy puli sesji w agents.config.yaml.
Niestandardowe narzędzia Python
Używaj niestandardowych narzędzi Python do specyficznych funkcji aplikacji. Dodaj .py pliki do folderu tools/ i dekoruj funkcje z @tool pakietu runtime. Środowisko wykonawcze automatycznie wykrywa i rejestruje te narzędzia.
Szczegóły konfiguracji, tabele pól oraz przykłady kodów dla każdego typu narzędzia można znaleźć w referencji Azure Functions hosted skills.
Dynamiczne przepływy pracy
Dynamiczne przepływy pracy umożliwiają obsługiwanym zadaniom AI uruchamianie trwałych, wieloetapowych planów składających się z wywołań narzędzi bezpiecznych dla przepływów pracy, zadań podagentów oraz okresów oczekiwania. Rozszerzają programistyczny wzorzec wywoływania narzędzi o Durable Functions, dzięki czemu zadanie może rozdzielać pracę, uruchamiać odizolowanych specjalistów, czekać na trwałe liczniki czasu, działać mimo ponownego uruchamiania procesów roboczych i nie uwzględniać dużych wyników pośrednich w konwersacji, dopóki końcowe podsumowanie nie będzie gotowe.
W obecnym eksperymentalnym interfejsie v1 włącz przepływy pracy w pliku .agent.md, który można uruchamiać niezależnie. Zadania przepływu pracy mogą wywoływać funkcje języka Python, które jawnie oznaczasz dekoratorem @workflow_tool, lub zadania specjalistyczne, które udostępniasz za pomocą workflows.subagents. Więcej informacji można znaleźć w artykule Dynamiczne przepływy pracy w umiejętnościach hostowanych w Azure Functions.
Sesje i stan
Interakcje wieloetapowe wymagają historii sesji. Na platformie Azure środowisko uruchomieniowe przechowuje historię sesji w usłudze Blob Storage za pośrednictwem konta aplikacji funkcji AzureWebJobsStorage. W środowisku lokalnym środowisko uruchomieniowe przechodzi na historię sesji przechowywaną w plikach. Wykonywanie w sandboxie uwzględnia również kontekst sesji i wykorzystuje izolowane sesje dla niezwiązanych ze sobą uruchomień.
Observability
Od wersji azure-functions-agents-runtime0.1.0b6 środowisko uruchomieniowe zawiera zestaw funkcji monitorowania, który jest wciąż aktywnie rozwijany i może się zmienić.
Aby uzyskać najnowsze szczegóły konfiguracji, pola telemetryczne i wskazówki dotyczące użytkowania, skorzystaj z dokumentacji repozytorium uruchomieniowego:
Treści powiązane
- Azure Functions Agents Runtime documentation
- Dokumentacja referencyjna hostowanych umiejętności usługi Azure Functions
- Stwórz aplikację AI opartą na zdarzeniach z umiejętnościami hostowanymi w Azure Functions
- Dynamiczne przepływy pracy w umiejętnościach hostowanych w usłudze Azure Functions
- Użyj narzędzia i modele sztucznej inteligencji w Azure Functions
- Utwórz niestandardowy zdalny serwer MCP za pomocą usługi Azure Functions
- Hosting planu Flex Consumption