Agent zmienne mają zastosowanie podczas pojedynczej sesji użytkownika. Należy określić, które zmienne powinny być traktowane jako zmienne agent, aby odróżnić je od zmiennych na poziomie tematu.
Utworzenie zmiennej globalnej
Możesz utworzyć zmienną globalną, zmieniając zakres zmiennej tematu.
Utwórz zmienną lub użyj okienka Zmienne, aby otworzyć istniejącą zmienną.
W okienku Właściwości zmiennej wybierz pozycję Globalna (każdy temat może mieć dostęp).
Nazwa zmiennej ma nadawany prefiks Global.
, który odróżnia ją od zmiennych na poziomie tematu. Na przykład zmienna UserName
jest wyświetlana jako Global.UserName
.
Zapisz temat.
Nazwa zmiennej globalnej musi być unikatowa we wszystkich tematach. W przypadku konfliktu konieczna będzie zmiana nazwy zmiennej przed zapisaniem tematu.
Używanie zmiennych globalnych
Podczas tworzenia wiadomości agent w węźle Wiadomość lub Pytanie wybierz ikonę {x} , aby wyświetlić zmienne dostępne dla temat. Zmienne globalne pojawiają się na karcie Niestandardowe razem ze zmiennymi tematu. Zmienne są wymieniane w kolejności alfabetycznej.
Znajdowanie wszystkich tematów używającej zmiennej globalnej
Możesz znaleźć miejsce definiowania zmiennej globalnej oraz inne tematy, które jej używają. Może to być przydatne, jeśli pracujesz nad nowym agent lub jeśli masz wiele zmiennych i złożone rozgałęzienia temat.
Wybierz zmienną globalną na kanwie tworzenia lub otwórz okienko Zmienne i wybierz zmienną globalną.
W okienku Właściwości zmiennej w sekcji Referencje wybierz dowolne tematy, w których zmienna jest używana do przechodzenia bezpośrednio do tematu i węzła.
Cykl życia zmiennych globalnych
Domyślnie wartość zmiennej globalnej jest utrzymywana do momentu zakończenia sesji. Węzeł Wyczyść wartości zmiennych resetuje wartości zmiennych globalnych i jest używany w temacie systemowym dotyczącym resetowania konwersacji. Ten temat można wyzwolić przez przekierowanie lub gdy użytkownik wpisze frazę wyzwalającą, taką jak „Zacznij od początku”. W tym przypadku wszystkie zmienne globalne są resetowane.
Ustawianie wartości zmiennej globalnej ze źródeł zewnętrznych
Jeśli chcesz mieć pewność, że agent rozpoczyna rozmowę z pewnym kontekstem, możesz zainicjować zmienną globalną z zewnętrznym źródłem. Załóżmy, że użytkownicy muszą logować się do Twojej witryny. Ponieważ Twój agent zna już nazwę użytkownika, może witać klientów po imieniu, zanim zaczną pisać swoje pierwsze pytanie.
Wybierz zmienną globalną.
W okienku Właściwości zmiennej wybierz opcję Źródła zewnętrzne mogą ustawiać wartości.
Ustawianie zmiennych globalnych w osadzonym agent
Jeśli osadzasz swój agent na prostej stronie internetowej, możesz dołączyć zmienne i ich definicje do adresu URL agent. Lub, jeśli chcesz mieć trochę więcej kontroli, możesz użyć bloku kodu <script>
do wywoływania i używania zmiennych programowo.
Nazwa zmiennej w ciągu zapytania adresu URL musi być dopasowana do nazwy zmiennej globalnej bez prefiksu Global.
. Na przykład zmienna globalna Global.UserName
powinna być przywoływana jako UserName
w zapytaniu.
Poniższe przykłady przedstawiają prostą deklarację zmiennych. W scenariuszu produkcyjnym jako parametr zapytania lub definicję zmiennej można przekazać inną zmienną, w której była już przechowywana nazwa użytkownika (na przykład jeśli masz nazwę użytkownika ze skryptu logowania).
Dołącz zmienne i ich definicje do adresu URL agent jako parametry ciągu zapytania w formacie botURL?variableName1=variableDefinition1&variableName2=variableDefinition2
.
Na przykład:
W nazwie parametru nie jest rozróżniana wielkość liter. Element username=Renata
będzie również działać w tym przykładzie.
Dodawanie zmiennych globalnych do kanwy niestandardowej
Możesz również dodać zmienną do kanwy niestandardowej.
<script>
W sekcji na stronie, na której znajduje się agent, zdefiniuj zmienne w następujący sposób, zastępując variableName1
nazwę zmiennej bez prefiksu Global.
i variableDefinition1
definicję. Rozdziel poszczególne zmienne przecinkami (,
).
const store = WebChat.createStore({}, ({ dispatch }) => next => action => {
if (action.type === 'DIRECT_LINE/CONNECT_FULFILLED') {
dispatch({
type: "WEB_CHAT/SEND_EVENT",
payload: {
name: "pvaSetContext",
value: {
"variableName1": "variableDefinition1",
"variableName2": "variableDefinition2"
}
},
});
}
return next(action);
});
<script>
W swojej sekcji wywołaj metodę store
podczas osadzania agent, jak w poniższym przykładzie, gdzie store
jest wywoływana tuż nad miejscem, w którym styleOptions
jest wywoływana (musisz zastąpić ją BOT_ID
identyfikatorem agent):
const BOT_ID = "12345-5678";
const theURL = "https://powerva.microsoft.com/api/botmanagement/v1/directline/directlinetoken?botId=" + BOT_ID;
fetch(theURL)
.then(response => response.json())
.then(conversationInfo => {
window.WebChat.renderWebChat(
{
directLine: window.WebChat.createDirectLine({
token: conversationInfo.token,
}),
store,
styleOptions
},
document.getElementById('webchat')
);
})
.catch(err => console.error("An error occurred: " + err));
Agent zmienne mają zastosowanie podczas pojedynczej sesji użytkownika. Zmienne, które są traktowane jako zmienne agent, należy określić, aby odróżnić je od zmiennych na poziomie tematu.
Ustawianie zmiennych agent
Po ustawieniu zmiennej agent będzie ona dostępna dla wszystkich tematów.
Po wybraniu {x}
przycisku w węźle wiadomości lub węźle pytania podczas tworzenia wiadomości agent zobaczysz, że zmienna agent jest dostępna. Zmienne są sortowane w kolejności alfabetycznej, więc zobaczysz, że wszystkie zmienne agent są zgrupowane razem w menu zmiennych, ponieważ wszystkie zaczynają się od agent.
.
W przypadku korzystania z węzła warunku, węzła akcji przepływu lub węzła umiejętność zobaczysz tam również zmienne agent dostępne.
Ponowne użycie zmiennej w różnych tematach, ustawiając ją jako zmienną agent
Wybierz dowolną zmienną z kanwy tworzenia.
W okienku Właściwości zmiennej w obszarze Użycie wybierz pozycję agent (dowolna temat ma dostęp) .
Nazwa zmiennej zostanie opatrzona ciągiem agent.
prefiksu, aby odróżnić ją od zmiennych na poziomie tematu. Na przykład zmienna UserName
jest teraz wyświetlana jako agent.UserName
.
Notatka
Nazwa zmiennej agent musi być unikatowa we wszystkich tematach. W przypadku konfliktu konieczne będzie zmodyfikowanie nazwy zmiennej przed zapisaniem zmiany.
Zarządzanie zmiennymi agent
Po utworzeniu zmiennej agent można zobaczyć, gdzie została ona po raz pierwszy zdefiniowana i jakie inne tematy z niej korzystają. Może to być przydatne, jeśli pracujesz nad nowym agent lub jeśli masz wiele zmiennych i złożone rozgałęzienia temat.
Przechodzenie do źródła definicji zmiennej agent
Wybierz dowolną zmienną z kanwy tworzenia.
W okienku Właściwości zmiennej wybierz pozycję Przejdź do źródła.
Spowoduje to przejście do węzła w temat, w którym została utworzona zmienna agent.
Znajdowanie wszystkich tematów przy użyciu zmiennej agent
Wybierz dowolną zmienną agent na kanwie tworzenia.
W okienku Właściwości zmiennej w sekcji Używana przez wybierz dowolne tematy, w których zmienna jest używana do bezpośredniego przechodzenia do tematu i węzła.
Inicjalizacja zmiennej agent
Jeśli zmienna agent zostanie wyzwolona przed jej zainicjowaniem (lub "wypełnieniem"), zmienna agent automatycznie wyzwoli część temat, w której zmienna agent jest po raz pierwszy zdefiniowana — nawet jeśli znajduje się w innym temat — przed powrotem do pierwotnego temat. Dzięki temu agent może wypełnić wszystkie zmienne bez przerywania rozmowy.
Na przykład klient rozpoczyna konwersację na temat "Rezerwacja terminu", w której używana jest zmienna agent.UserName
agent. agent.UserName
Jednak zmienna jest najpierw zdefiniowana w temacie "Witamy".
Gdy rozmowa dojdzie do punktu w temat "Rezerwacja terminu", w którym agent.UserName
jest odwołane, agent płynnie przełącza się do węzła pytania, w którym agent.UserName
jest po raz pierwszy zdefiniowany.
Po tym, jak klient odpowie na pytanie, agent wznawia temat "Rezerwacja terminu".
Agent zachowanie zmiennej podczas implementowania akcji za pośrednictwem Power Automate przepływów lub umiejętności
Czasami możesz użyć przepływu lub umiejętność do zainicjowania lub wypełnienia zmiennej w agent.
Jednak gdy użytkownik wchodzi w interakcję z agent, zmienna może zostać wypełniona na wcześniejszym etapie konwersacji lub być może zmienne zostały już ustawione zewnętrznie.
W takiej sytuacji przepływ lub umiejętność będzie nadal działać i uzupełnić zmienną, zastępując wszystko, co było wcześniej przechowywane w zmiennej.
Agent cyklu życia zmiennych i resetowanie ich wartości
Zmienne agent są dostępne z dowolnego temat, a wartość przypisana do zmiennej agent jest zachowywana przez całą sesję.
Wartość jest czyszczona tylko wtedy, gdy użytkownik agent jest przekierowywany do temat Rozpocznij od nowa lub gdy użytkownik wyzwoli tę temat bezpośrednio (na przykład wpisując Rozpocznij od nowa). W takim przypadku wszystkie zmienne agent zostaną zresetowane i nie będą miały żadnych wartości.
Ustawianie wartości zmiennej agent ze źródeł zewnętrznych
Możesz ustawić zmienną agent, która ma być inicjowana za pomocą zewnętrznego źródła. Dzięki temu agent może rozpocząć rozmowę z pewnym kontekstem.
Na przykład klient wywołuje czat agent z Twojej witryny, a witryna zna już imię i nazwisko klienta. Dajesz agent znać nazwę użytkownika przed rozpoczęciem rozmowy, a agent może prowadzić bardziej inteligentną rozmowę z klientem bez konieczności ponownego pytania o jego imię.
Ustaw zmienną agent ze źródła zewnętrznego
Wybierz dowolną zmienną z kanwy tworzenia.
W okienku Właściwości zmiennej w sekcji Użycie zaznacz pole wyboru Źródła zewnętrzne mogą ustawiać wartości.
Możesz dołączyć zmienne i ich definicje, jeśli po prostu osadzasz swój agent na prostej stronie internetowej, lub możesz użyć <script>
bloku kodu do programowego wywoływania zmiennych i używania ich.
Notatka
Nazwa zmiennej w ciągu zapytania musi być zgodna ze zmienną agent bez prefiksu agent.
. Na przykład zmienna agent.UserName
agent musi być renderowana jako UserName=
.
W opisanych w tym artykule przykładach jest składana prosta deklaracja dla zmiennych. W scenariuszu produkcyjnym jako parametr zapytania lub definicję zmiennej można przekazać inną zmienną, w której była już przechowywana nazwa użytkownika (na przykład jeśli masz nazwę użytkownika ze skryptu logowania).
Aby dodać zmienną do osadzonego agent
Dołącz zmienne i ich definicje do adresu URL agent jako parametry ciągu zapytania (w formacie botURL?variableName1=variableDefinition1&variableName2=variableDefinition2
), na przykład:
W nazwie parametru nie jest rozróżniana wielkość liter. Oznacza to, że element username=Renata
będzie również działać w tym przykładzie.
<script>
W sekcji na stronie, na której znajduje się agent, zdefiniuj zmienne w następujący sposób, zastępując variableName1
nazwę zmiennej bez prefiksu agent.
i variableDefinition1
definicję. Rozdziel poszczególne zmienne przecinkami ,
.
const store = WebChat.createStore({}, ({ dispatch }) => next => action => {
if (action.type === 'DIRECT_LINE/CONNECT_FULFILLED') {
dispatch({
type: "WEB_CHAT/SEND_EVENT",
payload: {
name: "pvaSetContext",
value: {
"variableName1": "variableDefinition1",
"variableName2": "variableDefinition2"
}
},
});
}
return next(action);
});
W swojej <script>
sekcji wywołaj metodę store
po osadzeniu agent, jak w poniższym przykładzie, gdzie store
jest wywoływana tuż nad miejscem, gdzie styleOptions
jest wywoływana (musisz zastąpić ją BOT_ID
swoim identyfikatorem):
const BOT_ID = "12345-5678";
const theURL = "https://powerva.microsoft.com/api/botmanagement/v1/directline/directlinetoken?botId=" + BOT_ID;
fetch(theURL)
.then(response => response.json())
.then(conversationInfo => {
window.WebChat.renderWebChat(
{
directLine: window.WebChat.createDirectLine({
token: conversationInfo.token,
}),
store,
styleOptions
},
document.getElementById('webchat')
);
})
.catch(err => console.error("An error occurred: " + err));
Usuń zmienne agent
Podczas usuwania zmiennej agent używanej w innych tematach, odwołania do tej zmiennej w tematach zostaną oznaczone jako Unknown
.
Otrzymasz ostrzeżenie o usunięciu zmiennej agent, zanim będzie można potwierdzić operację.
Węzły, które zawierają odwołania do usuniętej zmiennej agent, poinformują Cię, że zawierają nieznaną zmienną.
Tematy z węzłami, które zawierają odwołania do usuniętych zmiennych agent, mogą przestać działać. Przed opublikowaniem należy się upewnić, że usunięto lub poprawiono wszystkie tematy używające usuniętej zmiennej.
W zależności od konfiguracji uwierzytelniania agent będziesz mieć do dyspozycji zestaw zmiennych agent skojarzonych z dostawcą uwierzytelniania. Aby zapoznać się ze szczegółowymi informacjami dotyczącymi dostępności zestawu zmiennych i sposobie korzystania z nich, zobacz temat dokumentacji Dodawanie użytkowników końcowych do tematu.
Znajdowanie wszystkich tematów przy użyciu zmiennej agent w usłudze Teams
Wybierz dowolną zmienną agent na kanwie tworzenia.
W okienku Właściwości zmiennej w sekcji Używana przez wybierz dowolne tematy, w których zmienna jest używana do bezpośredniego przechodzenia do tematu i węzła.
Usuń zmienne agent
Podczas usuwania zmiennej agent używanej w innych tematach, odwołania do tej zmiennej w tematach zostaną oznaczone jako Unknown
.
Otrzymasz ostrzeżenie o usunięciu zmiennej agent, zanim będzie można potwierdzić operację.
Węzły, które zawierają odwołania do usuniętej zmiennej agent, poinformują Cię, że zawierają nieznaną zmienną.
Tematy z węzłami, które zawierają odwołania do usuniętych zmiennych agent, mogą przestać działać. Przed opublikowaniem należy się upewnić, że usunięto lub poprawiono wszystkie tematy używające usuniętej zmiennej.
Zaawansowane wykorzystanie zmiennych agent
Aby uzyskać więcej informacji na temat złożonych i zaawansowanych scenariuszy przy użyciu zmiennych agent, w tym uwierzytelniania, źródeł zewnętrznych i przepływów inicjowania, zobacz wersję tego artykułu Microsoft Copilot Studio dlaaplikacji internetowej.