Tworzenie agenta sztucznej inteligencji platformy Azure za pomocą programu Microsoft Agent Framework
Tip
Aby uzyskać więcej szczegółów, zobacz kartę Tekst i obrazy .
Usługa Foundry Agent Service jest zalecanym rozwiązaniem dla środowisk produkcyjnych zbudowanych w oparciu o Microsoft Agent Framework. Obsługuje trwałą historię konwersacji po stronie usługi, obsługuje wbudowane narzędzia, takie jak wykonywanie kodu i wyszukiwanie plików, oraz bezproblemowo integruje się z zarządzaniem tożsamościami Azure. Te funkcje pozwalają skupić się na zachowaniu agenta, a nie na obciążeniu związanym z infrastrukturą.
Konfigurowanie agenta usługi Foundry
Tworzenie agenta usługi Foundry i interakcja z nim odbywa się zgodnie ze spójną sekwencją kroków.
1. Konfigurowanie projektu Foundry
Przed napisaniem jakiegokolwiek kodu potrzebny jest projekt Microsoft Foundry z wdrożonym modelem. Łączysz się ze swoim projektem za pomocą dwóch informacji:
- Punkt końcowy projektu — adres URL projektu Foundry.
- Nazwa wdrożenia modelu — nazwa wdrożenia modelu, którego chcesz użyć dla agenta.
2. Konfigurowanie uwierzytelniania
Platforma agenta łączy się z Twoim projektem Foundry za pomocą poświadczeń Azure. W większości scenariuszy DefaultAzureCredential automatycznie wybiera odpowiednie poświadczenie na podstawie środowiska — Azure CLI w trakcie programowania, a w środowisku produkcyjnym — tożsamość zarządzaną. Nie trzeba kodować parametrów połączenia ani kluczy interfejsu API.
3. Inicjowanie klienta czatu usługi Foundry
Utwórz klienta czatu Foundry, podając swoje poświadczenia, punkt końcowy projektu i nazwę modelu. Ten klient stanowi pomost między aplikacją a usługą Foundry Agent Service. Obsługuje uwierzytelnianie, routing żądań i zarządzanie sesjami po stronie usługi.
4. Tworzenie agenta
Korzystając z klienta czatu, utwórz agenta, podając zestaw instrukcji definiujących jego zachowanie:
- Instrukcje — monit systemowy definiujący rolę, cele i ograniczenia agenta
- Narzędzia(opcjonalne) — funkcje niestandardowe, które agent może wywołać w celu wykonania akcji lub pobrania informacji
Platforma rejestruje wszystkie udostępnione narzędzia i automatycznie generuje ich schematy, więc model wie, kiedy i jak je wywołać.
5. Ustanów sesję i uruchom agenta
Aby rozpocząć interakcję, należy otworzyć sesję poprzez instancję agenta. Sesja działa jako kontener stanu konwersacji. Komunikaty użytkownika są wysyłane do metody wykonywania sesji, która przetwarza monit, koordynuje wszelkie niezbędne wywołania narzędzia i zwraca odpowiedź modelu.
Konwersacje wieloetapowe
Pojedyncze wywołanie metody uruchamiania agenta obsługuje jedną wymianę — jeden komunikat użytkownika, jedną odpowiedź. Aby prowadzić prawdziwą rozmowę, agent musi pamiętać, co zostało powiedziane we wcześniejszych turach rozmowy. Właśnie do tego służy sesja.
W przypadku dostawcy usługi Foundry sesje są wspierane przez magazyn po stronie usługi — historia konwersacji znajduje się w usłudze Agent usługi Foundry, a nie w pamięci aplikacji.
Trwała historia—ponieważ stan znajduje się po stronie usługi, rozmowa użytkownika może być kontynuowana przez wiele żądań, nawet jeśli aplikacja zostanie ponownie uruchomiona lub skalowana poziomo do wielu instancji.
Historia lokalna — w przypadku dostawców, którzy nie obsługują historii po stronie usługi, platforma utrzymuje stan konwersacji w pamięci w obiekcie sesji. Historia lokalna jest odpowiednia dla krótkotrwałych lub bezstanowych aplikacji, ale nie jest ona utrwalana w przypadku ponownych uruchomień procesu.
Odpowiedzi niestreamingowe a strumieniowe
Struktura agenta obsługuje dwa tryby odpowiedzi:
Bez przesyłania strumieniowego (synchroniczne) — metoda uruchamiania czeka na zakończenie przetwarzania agenta i zwraca pełny obiekt odpowiedzi. Tryb bezstrumieniowy jest najprostszym modelem i sprawdza się dobrze, gdy nie trzeba wyświetlać wyników stopniowo.
Przesyłanie strumieniowe (asynchroniczne) — metoda run zwraca strumień odpowiedzi, który iterujesz asynchronicznie, odbierając częściowe aktualizacje, gdy model je generuje. Strumieniowanie lepiej sprawdza się w interfejsach przeznaczonych dla użytkownika, gdzie stopniowe wyświetlanie wyników poprawia komfort korzystania.
W obu przypadkach odpowiedź uwidacznia text właściwość, która agreguje całą zawartość tekstową z danych wyjściowych agenta, co ułatwia wyodrębnianie ostatecznej odpowiedzi niezależnie od używanego trybu.