Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Komponenty środowiska uruchomieniowego agenta są podstawowymi obiektami — agentami, konwersacjami i odpowiedziami, które obsługują stanowe, wielozmianowe interakcje w usłudze Microsoft Foundry Agent. Razem te składniki umożliwiają generowanie wyników, utrwalanie stanu między wymianami i tworzenie aplikacji konwersacyjnych.
W tym artykule wyjaśniono role agenta, konwersacji i odpowiedzi oraz sposób ich współpracy podczas generowania odpowiedzi.
Wymagania wstępne
- Projekt Microsoft Foundry.
- Znajomość cyklu projektowania agenta (opcjonalnie).
Jak składniki środowiska uruchomieniowego współpracują ze sobą
Podczas pracy z agentem należy postępować zgodnie ze spójnym wzorcem:
- Tworzenie agenta: zdefiniuj agenta, aby rozpocząć wysyłanie komunikatów i odbieranie odpowiedzi.
- Tworzenie konwersacji (opcjonalnie): użyj jej, aby zachować historię między etapami rozmowy. Jeśli nie używasz konwersacji, przeprowadź kontekst przy użyciu danych wyjściowych z poprzedniej odpowiedzi.
- Generuj odpowiedź: agent przetwarza elementy wejściowe w konwersacji i wszelkie instrukcje podane w żądaniu. Agent może dołączać elementy do konwersacji.
- Sprawdź stan odpowiedzi: Monitoruj odpowiedź do momentu zakończenia (zwłaszcza w trybie przesyłania strumieniowego lub w tle).
- Pobierz odpowiedź: wyświetl wygenerowaną odpowiedź użytkownikowi.
Na poniższym diagramie przedstawiono sposób interakcji tych składników w typowej pętli agenta.
Podajesz dane wejściowe użytkownika (i opcjonalnie historię konwersacji), usługa generuje odpowiedź (w tym wywołania narzędzi po skonfigurowaniu), a wynikowe elementy mogą być ponownie używane jako kontekst następnego kroku.
Co to jest agent?
Agent to utrwalone definicje aranżacji, które łączą modele sztucznej inteligencji, instrukcje, kod, narzędzia, parametry i opcjonalne mechanizmy bezpieczeństwa lub nadzoru.
Przechowuj agentów jako nazwane, wersjonowane zasoby na platformie Microsoft Foundry. Podczas generowania odpowiedzi definicja agenta współpracuje z historią interakcji (konwersacją lub poprzednią odpowiedzią) w celu przetworzenia danych wejściowych użytkownika i reagowania na nie.
Co to jest konwersacja?
Konwersacja zarządza stanem automatycznie, więc nie trzeba przekazywać danych wejściowych ręcznie na każdą turę.
Konwersacje to trwałe obiekty z unikatowymi identyfikatorami. Po utworzeniu można użyć ich ponownie w ramach sesji.
Konwersacje przechowują elementy, które mogą zawierać komunikaty, wywołania narzędzi, wyniki działania narzędzi i inne dane.
Kiedy należy używać rozmowy
Użyj konwersacji, gdy chcesz:
- Ciągłość wieloetapowa: Zachowaj stabilną historię między etapami bez samodzielnego odbudowywania kontekstu.
- Ciągłość między sesjami: Ta sama konwersacja jest używana ponownie dla użytkownika, który wróci później.
- Łatwiejsze debugowanie: sprawdź, co się stało w czasie (na przykład wywołania narzędzi i dane wyjściowe).
Jeśli nie utworzysz konwersacji, nadal możesz tworzyć przepływy wieloełowe przy użyciu danych wyjściowych z poprzedniej odpowiedzi jako punktu wyjścia dla następnego żądania. Takie podejście zapewnia większą elastyczność niż starszy wzorzec oparty na wątkach, w którym stan był ściśle powiązany z obiektami wątków. Aby uzyskać wskazówki dotyczące migracji, zobacz w Migrowanie do SDK dla agentów.
Elementy konwersacji
Konwersacje przechowują elementy , a nie tylko wiadomości czatu. Elementy przechwytują to, co wydarzyło się podczas generowania odpowiedzi, dzięki czemu następny obrót może ponownie użyć tego kontekstu.
Typowe typy elementów to:
- Elementy wiadomości: komunikaty użytkownika lub asystenta.
- Elementy wywołania narzędzia: rekordy wywołań narzędzi, które próbował agent.
- Elementy wyjściowe narzędzia: dane wyjściowe zwracane przez narzędzia (na przykład wyniki pobierania).
- Elementy wyjściowe: zawartość odpowiedzi wyświetlana z powrotem do użytkownika.
Przykłady pokazujące sposób współdziałania konwersacji i odpowiedzi w kodzie można znaleźć w temacie Create and use memory in Foundry Agent Service (Tworzenie i używanie pamięci w usłudze agenta usługi Foundry).
Jak działają odpowiedzi
Generowanie odpowiedzi wywołuje agenta. Agent używa swojej konfiguracji i dowolnej podanej historii (konwersacji lub poprzedniej odpowiedzi) do wykonywania zadań przez wywoływanie modeli i narzędzi. W ramach generowania odpowiedzi agent dołącza elementy do konwersacji.
Możesz również wygenerować odpowiedź bez definiowania agenta. W takim przypadku należy podać wszystkie konfiguracje bezpośrednio w żądaniu i używać ich tylko dla tej odpowiedzi. Takie podejście jest przydatne w przypadku prostych scenariuszy z minimalnymi narzędziami.
Przesyłanie strumieniowe i odpowiedzi w tle
Niektóre tryby generowania odpowiedzi zwracają wyniki stopniowo (transmisja strumieniowa) lub kończą asynchronicznie (w tle). W takich przypadkach zwykle monitorujecie odpowiedź, aż się zakończy, a następnie używacie końcowych wyników.
Aby uzyskać szczegółowe informacje na temat trybów odpowiedzi i sposobu korzystania z danych wyjściowych, zobacz Interfejs API odpowiedzi.
Zabezpieczenia i obsługa danych
Ponieważ konwersacje i odpowiedzi mogą utrwalać zawartość dostarczaną przez użytkownika i dane wyjściowe narzędzi, traktuj dane środowiska uruchomieniowego, takie jak dane aplikacji:
- Unikaj przechowywania wpisów tajnych w monitach lub historii konwersacji. Zamiast tego użyj połączeń i zarządzanych magazynów tajnych (na przykład Skonfiguruj połączenie usługi Key Vault).
- Użyj najniższych uprawnień w celu uzyskania dostępu do narzędzi. Gdy narzędzie uzyskuje dostęp do systemów zewnętrznych, agent może potencjalnie odczytywać lub wysyłać dane za pośrednictwem tego narzędzia.
- Zachowaj ostrożność w przypadku usług innych niż microsoft. Jeśli agent wywołuje narzędzia wspierane przez usługi firmy innej niż Microsoft, niektóre dane mogą przepływać do tych usług. Aby zapoznać się z powiązanymi zagadnieniami, zobacz Odnajdywanie narzędzi w Foundry Tools.
Limity i ograniczenia
Limity mogą zależeć od modelu, regionu i dołączonych narzędzi (na przykład dostępności przesyłania strumieniowego i obsługi narzędzi). Aby uzyskać informacje o bieżącej dostępności i ograniczeniach odpowiedzi, zobacz Interfejs API odpowiedzi.