Udostępnij za pośrednictwem


Ponowne używanie zmiennych w różnych tematach

Ważne

Możliwości i funkcje Power Virtual Agents są teraz częścią Microsoft Copilot Studio w wyniku znacznych inwestycji w generatywną AI i poprawioną integracje z Microsoft Copilot.

Niektóre artykuły i zrzuty ekranów mogą odwoływać się do Power Virtual Agents podczas aktualizowania dokumentacji i zawartości szkoleniowej.

Zmienne przechowują odpowiedzi klientów na pytania od pomocnika. Można na przykład zapisać nazwę klienta w zmiennej o nazwie UserName. Pomocnik może następnie zwracać się klienta według nazwy w trakcie konwersacji.

Domyślnie wartość zmiennej może być używana w temacie, w którym jest tworzona zmienna. Można jednak ponownie wykorzystać tę samą wartość w różnych tematach. Na przykład temat Witamy prosi klienta o podanie imienia i nazwiska oraz adresu e-mail. W temacie Rezerwowanie terminu chcesz, aby pomocnik zapamiętał, co wprowadził klient, i nie pytał go ponownie.

Jednym ze sposobów ponownego użycia zmiennej jest przekazanie zmiennej między tematami. Inna możliwość to oznaczenie zmiennej jako globalnej w zakresie i tego dotyczy ten artykuł. Zmienne globalne są nazywane tak, ponieważ są dostępne we wszystkich tematach w całym pomocniku.

Podczas jednej sesji użytkownika są stosowane zmienne pomocnika. Możesz określić, które zmienne będą traktowane jako zmienne pomocnika, w celu odróżnienia ich od zmiennych na poziomie tematu.

Utworzenie zmiennej globalnej

Możesz utworzyć zmienną globalną, zmieniając zakres zmiennej tematu.

  1. Utwórz zmienną lub użyj okienka Zmienne, aby otworzyć istniejącą zmienną.

  2. 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.

    Zrzut ekranu pokazujący okienko Właściwości zmiennej z wyróżnionym ustawieniem globalnym.

  3. 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 pomocnika w węźle Wiadomość lub węźle Pytanie wybierz ikonę {x}, aby wyświetlić zmienne dostępne dla tematu. Zmienne globalne pojawiają się na karcie Niestandardowe razem ze zmiennymi tematu. Zmienne są wymieniane w kolejności alfabetycznej.

Zrzut ekranu przedstawiający wybór zmiennej globalnej.

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 podczas pracy nad nowym pomocnikiem lub w przypadku wielu zmiennych i złożonych odgałęzień tematów.

  1. Wybierz zmienną globalną na kanwie tworzenia lub otwórz okienko Zmienne i wybierz zmienną globalną.

  2. 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.

    Zrzut ekranu pokazujący listę tematów używanych przez zmienną w okienku właściwości zmiennej.

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

Aby upewnić się, że pomocnik rozpoczyna rozmową z pewnym kontekstem, można zainicjować zmienną globalną za pomocą źródła zewnętrznego. Załóżmy, że użytkownicy muszą logować się do Twojej witryny. Ponieważ pomocnik już zna nazwę użytkownika, może powitać klientów według nazwy przed rozpoczęciem pisania pierwszego pytania.

  1. Wybierz zmienną globalną.

  2. W okienku Właściwości zmiennej wybierz opcję Źródła zewnętrzne mogą ustawiać wartości.

Ustawianie zmiennych globalnych w osadzonym pomocniku

Jeżeli osadzasz pomocnika na prostej stronie internetowej, można dołączać zmienne i ich definicje do adresu URL pomocnika. 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 pomocnika 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.

  1. W sekcji <script> na stronie, na której znajduje się pomocnik, zdefiniuj zmienne w następujący sposób, zastępując variableName1 nazwą zmiennej bez prefiksu Global. i variableDefinition1 dla definicji. 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);
        });
    
  2. W sekcji <script> wywołaj store podczas osadzania pomocnik, tak jak w poniższym przykładzie, gdzie store jest wywołany powyżej wywołania styleOptions (musisz zastąpić BOT_ID identyfikatorem pomocnika ):

    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));