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.
Agenci wielojęzyczni komunikują się z klientami w różnych językach przy zachowaniu całej zawartości w jednym agencie. W wielu przypadkach automatycznie wykrywają żądany język na podstawie ustawienia przeglądarki internetowej użytkownika agenta i odpowiadają w tym samym języku, zapewniając bardziej spersonalizowane i atrakcyjne środowisko dla klientów.
Podczas tworzenia agenta określasz jego język podstawowy.
Po dodaniu języków pomocniczych do agenta odpowiadasz za dostarczanie tłumaczeń komunikatów w tworzonych tematach. W przypadku agentów korzystających z generatywnej orkiestracji, wygenerowane wiadomości są tłumaczone automatycznie.
Gdy klient rozpoczyna sesję z opublikowanym agentem, agent wybiera jeden z jego języków, aby dopasować język określony w kliencie lub przeglądarce klienta. Jeśli agent nie może wykryć klienta lub języka przeglądarki, albo jeśli wykryty język nie jest jednym z języków określonych dla agenta, agent domyślnie przechodzi na swój język podstawowy.
Możesz zaprojektować agenta do zmiany używanego języka podczas konwersacji (zobacz Make an agent switch to another language). Można również skonfigurować agenta, który używa orkiestracji generatywnej, aby dynamicznie przełączać języki zgodnie z językiem używanym w bieżącej turze konwersacji (zobacz Konfigurowanie agenta na potrzeby dynamicznego przełączania języka).
Aby zapoznać się z listą obsługiwanych języków, zobacz Obsługa języka.
Notatka
Klasyczne czatboty obsługują tylko jeden język. Aby uzyskać więcej informacji na temat konwertowania klasycznego czatbota na agent, zobacz Uaktualnianie do ujednoliconego tworzenia treści w Copilot Studio.
Dodaj języki do agenta
Przejdź do strony Ustawienia agenta i wybierz pozycję Języki.
Wybierz pozycję Dodaj języki.
W panelu Dodawanie języków wybierz języki, które chcesz dodać do agenta, a następnie wybierz pozycję Dodaj.
Przejrzyj listę języków i zamknij stronę Ustawienia .
Zarządzanie lokalizacją dla wielojęzycznego agenta
W programie Copilot Studio wykonujesz całą edycję tematów i treści w języku podstawowym agenta. W tej sekcji wyjaśniono, jak pobierać ciągi z agenta i tłumaczyć je na języki pomocnicze agenta. Po załadowaniu przetłumaczonych ciągów możesz przełączyć język w panelu testowym i sprawdzić, czy konwersacje w językach dodatkowych również przebiegają zgodnie z oczekiwaniami.
Przygotowywanie zlokalizowanej zawartości
Po pierwszym pobraniu pliku lokalizacji dla języka pomocniczego wszystkie ciągi znajdują się w języku podstawowym agenta. Po pobraniu pliku lokalizacyjnego użyj go w preferowanym procesie lokalizacji.
Przejdź do strony Ustawienia agenta i wybierz pozycję Języki.
Na stronie Języki na liście języków pomocniczych wybierz pozycję Przekaż dla języka, który chcesz zaktualizować.
W panelu Aktualizuj lokalizacje wybierz format JSON lub ResX, aby pobrać bieżący plik lokalizacji dla tego języka.
Notatka
Pobrany plik zawiera najnowszą treść lokalizacji dla agenta. Jeśli musisz pobrać poprzednie wersje pliku lokalizacji, otwórz rozwiązanie agenta.
Otwórz pobrany plik i zastąp ciągi języka podstawowego odpowiednim przetłumaczonym tekstem.
Wróć do panelu Aktualizuj lokalizacje , wybierz pozycję Przeglądaj i przekaż przetłumaczony plik.
Zamknij panel Aktualizuj lokalizacje i stronę Ustawienia .
Aktualizowanie zlokalizowanej zawartości
Jeśli wprowadzisz zmiany w ciągach języka podstawowego, musisz również zaktualizować zawartość w językach pomocniczych. Ten proces obejmuje zarówno nową, jak i zmodyfikowaną zawartość. Zmiany przyrostowe nie są tłumaczone automatycznie. Należy pobrać plik JSON lub ResX języka dodatkowego i zaktualizować nieprzetłumaczone ciągi przy użyciu preferowanego procesu lokalizacji.
Poniższy scenariusz jest typowy dla przepływu pracy dla przetłumaczonej zawartości. Wcześniej przetłumaczono język podstawowy (en-US) na język dodatkowy (fr-FR) oraz dodano i zmodyfikowano zawartość w języku podstawowym. Po pobraniu pliku lokalizacji dla języka pomocniczego cała nowa zawartość jest w języku podstawowym (en-US). Jednak zmodyfikowana treść nadal pojawia się w języku dodatkowym. Ponieważ zmodyfikowana zawartość używa tego samego identyfikatora, należy porównać nowy plik z wcześniej przekazanym plikiem.
Udostępnianie zawartości dynamicznej z kart adaptacyjnych na potrzeby lokalizacji
Pliki lokalizacji nie zawierają ciągów znakowych o mieszanych typach z kart adaptacyjnych. Jeśli musisz zlokalizować kartę adaptacyjną, w której ciąg może zawierać zarówno tekst statyczny, jak i zmienne (zawartość dynamiczna), użyj następującego obejścia. W procedurze pokazano, jak używać węzła Ustaw zmienną tekstową do przechowywania pełnego ciągu ze statycznym tekstem i zmiennymi w zmiennej pośredniej. Następnie odwołujesz się tylko do tej zmiennej pośredniej na karcie adaptacyjnej. Podczas pobierania pliku lokalizacyjnego dla agenta wartość zmiennej pośredniej, wraz z tekstem statycznym i odniesieniami do zmiennej, jest dostępna do procesu lokalizacji jako część działania setVariable.
Aby zapewnić możliwość lokalializacji zawartości dynamicznej karty adaptacyjnej:
Dodaj węzeł Ustaw wartość zmiennej przed kartą adaptacyjną. Ten krok tworzy reprezentację YAML, którą można zaktualizować przy użyciu edytora kodu w celu przekonwertowania węzła na węzeł Ustaw zmienną tekstową . Nie można bezpośrednio tworzyć węzłów typu Ustaw zmienną tekstową na kanwie tworzenia.
W węźle Ustaw wartość zmiennej utwórz nową zmienną, ale nie ustawiaj jeszcze wartości.
W edytorze kodu znajdź część reprezentującą węzeł Ustaw wartość zmiennej i zastąp element
kind: SetVariableciągiemkind: SetTextVariable. Ta zmiana konwertuje węzeł Ustaw wartość zmiennej na węzeł Ustaw zmienną tekstową .Zamknij edytor kodu.
Wybierz dolne pole węzła Ustaw zmienną tekstową i wprowadź pełny ciąg ze statycznym tekstem i zmiennymi, które mają być wyświetlane na karcie adaptacyjnej. Wstaw zmienną w taki sam sposób, jak wstawienie zmiennej w komunikacie.
Zaktualizuj kartę adaptacyjną przy użyciu odwołania do tej nowej zmiennej.
Zapisz swój temat. Teraz możesz pobrać plik lokalizacji i sprawdzić, czy zawiera zawartość dynamiczną kart adaptacyjnych.
Testowanie wielojęzycznego agenta
Otwórz panel testowy.
Wybierz trzy kropki (...) na górze panelu testowego i wybierz język, który chcesz. Panel testowy ponownie ładuje się, tym razem przy użyciu wybranego języka. Kanwa tworzenia pozostaje w języku podstawowym i nie można zapisać zmian w temacie, dopóki nie przejdziesz z powrotem do języka podstawowego.
Aby przetestować agenta, wprowadź komunikat w wybranym języku.
Możesz również ustawić język przeglądarki na jeden z języków agenta i przejść do wstępnie utworzonej witryny demonstracyjnej. Pokazowa witryna internetowa zostanie otwarta w określonym języku, a agent prowadzi rozmowy w tym języku.
Przełącz agenta do innego języka
Podczas tworzenia można skonfigurować agenta, aby przełączyć się na inny język w trakcie konwersacji. Logika może znajdować się w dowolnym temacie w module agenta. Najlepszą praktyką jest jednak przełączanie języka zaraz po węźle Pytanie, co gwarantuje, że wszystkie kolejne komunikaty aż do następnego węzła Pytanie będą w tym samym języku.
Aby zmienić bieżący język agenta, ustaw User.Languagezmienną systemową na jeden z języków pomocniczych agenta. Ten wybór natychmiast zmienia język, którym posługuje się Twój agent.
Konfigurowanie agenta na potrzeby przełączania języka dynamicznego
Notatka
Ta funkcja jest dostępna tylko dla agentów z włączoną funkcją orkiestracja generatywna.
Agenta można skonfigurować tak, aby wykrywał język używany przez klienta i odpowiadał w tym samym języku. Dzięki tej konfiguracji agent może przełączać języki wiele razy w trakcie jednej konwersacji. Poniższy scenariusz pokazuje, jak skonfigurować agenta do przełączania się między językiem niderlandzkim i angielskim. Można ją rozszerzyć dla dowolnej kombinacji języków obsługiwanych przez agenta.
W tym scenariuszu użyto tematu z wyzwalaczem Otrzymano wiadomość. Wyzwalacz tego tematu umożliwia agentowi sprawdzenie każdej otrzymanej wiadomości. W tym temacie jest używany monit niestandardowy do wykrywania języka i warunku ustawiania zmiennej systemowej języka agenta.
Zastąp domyślny typ wyzwalacza dla tematu typem Otrzymano wiadomość.
Dodaj monit do tematu:
Wybierz ikonę
Dodaj węzeł poniżej węzła Wyzwalacz.Wybierz pozycję Dodaj narzędzie>Nowy monit.
W edytorze komunikatów wprowadź nazwę reprezentatywną dla komunikatu, na przykład "Detect language".
W okienku Instrukcje wprowadź "Określ język, w którym jest zapisywany ten komunikat: ".
W dolnej części okienka Instrukcje wybierz pozycję Dodaj zawartość i wybierz pozycję Tekst. Zostanie wyświetlone okno z zaproszeniem do wprowadzenia nazwy i przykładowego komunikatu.
W polu Nazwa wprowadź ciąg "Message". W polu Przykładowe dane wprowadź ciąg "Komunikat od użytkownika", a następnie wybierz pozycję Zamknij.
W okienku Odpowiedź na model przełącz format danych wyjściowych na format JSON.
Kliknij przycisk Testuj. Twoje polecenie wyświetla literał JSON z pojedynczą właściwością identyfikującą język jako język angielski.
Wybierz Zapisz. Na kanwie zostanie wyświetlony węzeł Monit.
Skonfiguruj węzeł Prompt:
- W polu Dane wejściowe wybierz zmienną systemową
Activity.Text(tekst przychodzącej wiadomości). - W obszarze Dane wyjścioweutwórz nową zmienną o nazwie
DetectedLanguage.
- W polu Dane wejściowe wybierz zmienną systemową
Rozgałęzij logikę na podstawie wykrytego języka:
Dodaj warunek poniżej węzła Zachęta.
Oprzyj swój warunek na zmiennej niestandardowej
DetectedLanguage.structuredOutput.language, która przechowuje nazwę wykrytego języka.Dodaj gałąź warunku dla każdego języka, który chcesz wykryć.
W każdej gałęzi dodaj węzeł Ustaw wartość zmiennej , aby odpowiednio ustawić zmienną
User.Languagesystemową. Na poniższej ilustracji przedstawiono temat z warunkiem przełączania się między holenderskim i angielskim.
Rozwiązywanie problemów z agentem wielojęzycznym
Ta sekcja zawiera wskazówki dotyczące nieoczekiwanego zachowania agenta wielojęzycznego.
Wielojęzyczne zachowanie agenta dla języków, które nie zostały skonfigurowane
Jeśli użytkownik skonfiguruje przeglądarkę dla języka, który nie został skonfigurowany dla agenta, agent wróci do jego języka podstawowego.
Podczas tworzenia agenta należy określić język podstawowy agenta. Nie można zmienić języka podstawowego po utworzeniu, ale możesz zmienić region dla języka podstawowego agenta, jeśli jest dostępny więcej niż jeden region.
Wielojęzyczne zachowanie agenta w przypadku brakujących tłumaczeń
Jeśli dodasz komunikaty do agenta w swoim języku podstawowym, ale nie przekażesz tłumaczeń dla nowych komunikatów , agent wyświetli nieprzetłumaczone zmiany w jego języku podstawowym. Zawsze upewnij się, że tłumaczenia są aktualne po wprowadzeniu zmian w agencie.
Pliki lokalizacji nie zawierają ciągów znakowych o mieszanych typach z kart adaptacyjnych. Jeśli musisz zlokalizować karty adaptacyjne, w których ciąg może zawierać zarówno tekst statyczny, jak i zmienne (zawartość dynamiczna), należy użyć obejścia. Dowiedz się, jak przechowywać ciąg mieszanego typu w zmiennej tekstowej przed użyciem go w Karcie Adaptacyjnej.
Błędy podczas publikowania wielojęzycznego agenta
Jeśli podczas próby opublikowania wielojęzycznego agenta zostanie wyświetlony komunikat o błędzie „Walidacja bota nie powiodła się” z nieprzetworzonym kodem błędu odpowiedzi SynonymsNotUnique, plik lokalizacji zawiera zduplikowane synonimy lub synonim pasujący do wartości DisplayName. Ten błąd zwykle występuje, gdy węzeł zawiera Entity.Definition.'closedListItem', a miała miejsce jedna z następujących sytuacji:
- Jeden z
Synonymselementów nie jest unikatowy. - Jeden z elementów
Synonymsma taką samą wartość jak elementDisplayName.
Wszystkie Synonyms dla tej samej encji muszą być unikatowe i mieć inną nazwę niż element DisplayName.
Aby rozwiązać ten błąd, przejrzyj plik JSON lub ResX dla języka pomocniczego i zidentyfikuj wszystkie wystąpienia, w których ten warunek może być obecny.