Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Za pomocą Copilot Studio możesz utworzyć agenta, który komunikuje się z klientami w różnych językach. Możesz skonfigurować agentów wielojęzycznych tak, aby automatycznie wykrywali preferowany język na podstawie ustawień przeglądarki internetowej użytkownika agenta i odpowiadali w tym samym języku, zapewniając bardziej spersonalizowane i angażujące doświadczenie dla klientów.
Kiedy tworzysz agenta, określasz jego podstawowy język.
Po dodaniu języków pomocniczych do agenta odpowiadasz za dostarczanie tłumaczeń komunikatów w tworzonych tematach. Dla agentów korzystających z orkiestracji generatywnej, wygenerowane wiadomości są tłumaczone automatycznie.
Gdy klient rozpoczyna sesję z opublikowanym agentem, agent wybiera jeden ze swoich języków, zgodny z językiem ustawionym w aplikacji lub przeglądarce klienta. Jeśli agent nie może wykryć języka lub wykryje język, którego nie obsługuje, domyślnie używa swojego języka podstawowego.
Możesz zaprojektować agenta tak, aby zmieniał język podczas rozmowy (zobacz: Zmiana języka agenta). Możesz także skonfigurować agenta, który wykorzystuje orkiestrację generatywną do dynamicznego przełączania języków, podążając za językiem używanym w bieżącej turze konwersacyjnej (zobacz: Ustaw agenta do dynamicznego przełączania języków).
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 dla swojego agenta i wybierz Języki.
Wybierz Dodaj język.
W panelu Dodaj języki wybierz języki, które chcesz dodać do agenta, a następnie kliknij Dodaj.
Przejrzyj listę języków i zamknij stronę Ustawienia.
Zarządzaj lokalizacją agenta wielojęzycznego
W 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 przesłaniu przetłumaczonych ciągów tekstów możesz zmienić język w panelu testowym i sprawdzić, czy rozmowy w językach drugorzędnych również przebiegają zgodnie z oczekiwaniami.
Przygotowanie zlokalizowanych treści
Gdy po raz pierwszy pobierasz plik lokalizacyjny dla języka dodatkowego, wszystkie ciągi są w głównym języku agenta. Po pobraniu pliku lokalizacyjnego użyj go w preferowanym procesie lokalizacji.
Przejdź do strony Ustawienia dla swojego agenta i wybierz opcję Języki.
Na stronie Języki, na liście języków dodatkowych, wybierz opcję Prześlij dla języka, który chcesz zaktualizować.
W panelu Aktualizuj lokalizacje wybierz format JSON lub ResX, aby pobrać bieżący plik lokalizacyjny dla danego języka.
Notatka
Pobrany plik zawiera najnowszą treść lokalizacji dla agenta. Aby pobrać poprzednie wersje pliku lokalizacyjnego, otwórz rozwiązanie agenta.
Otwórz pobrany plik i zastąp ciągi języka podstawowego odpowiednim przetłumaczonym tekstem.
Wróć do panel Aktualizuj lokalizacje, wybierz pozycję Przeglądaj i prześlij przetłumaczony plik.
Zamknij panel aktualizacji lokalizacji oraz stronę Ustawienia.
Aktualizacja treści zlokalizowanych
Jeśli zmienisz ciągi w języku podstawowym, musisz również zaktualizować treść w językach wtórnych. Ten proces obejmuje zarówno nową, jak i zmodyfikowaną zawartość. Zmiany przyrostowe nie są tłumaczone automatycznie. Musisz pobrać plik „JSON” lub „ResX” dla języka wtórnego i zaktualizować nieprzetłumaczone ciągi, korzystając z 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. Gdy pobierasz plik lokalizacyjny dla języka wtórnego, wszystkie nowe ciągi są w języku pierwotnym (en-US), a ciągi wcześniej przetłumaczone pozostają w języku wtórnym (fr-FR). Jednak wcześniej przetłumaczone ciągi, których oryginalny tekst został zmodyfikowany od czasu ostatniego przesłania pliku lokalizacyjnego, nadal pojawiają się tak, jak zostały ostatnio przetłumaczone na język wtórny. Ponieważ identyfikatory ciągów znaków się nie zmieniają, ciągi znaków w języku wtórnym i ciągi znaków w języku podstawowym mogą przestać być zsynchronizowane po wprowadzeniu zmian w języku podstawowym. Upewnij się, że porównanie nowego pliku lokalizacyjnego z wersją, którą ostatnio przesłałeś—w celu zidentyfikowania zmian w ciągach w języku podstawowym—jest częścią Twojego procesu lokalizacyjnego.
Udostępnij dynamiczne treści z kart adaptacyjnych do 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), skorzystaj z poniższego rozwiązania alternatywnego. Procedura pokazuje, jak użyć węzła Ustaw zmienną tekstową do zapisania pełnego ciągu ze statycznym tekstem i zmiennymi w zmiennej pośredniej. Następnie odwołujesz się tylko do tej zmiennej pośredniej w swojej „karcie adaptacyjnej”. Gdy pobierzesz plik lokalizacyjny dla swojego agenta, wartość zmiennej pośredniej, zawierająca statyczny tekst i odniesienia do zmiennych, jest dostępna do lokalizacji jako część akcji setVariable.
Aby umożliwić lokalizację dynamicznej treści karty adaptacyjnej:
Dodaj węzeł Ustaw wartość zmiennej przed swoją kartą adaptacyjną. Ten krok tworzy reprezentację YAML, którą możesz zaktualizować, używając edytora kodu do przekształcenia węzła w węzeł Ustaw zmienną tekstową. Nie możesz tworzyć węzłów Ustaw zmienną tekstową bezpośrednio z kanwy tworzenia.
W węźle Ustaw zmienną tekstową utwórz nową zmienną, ale jeszcze nie ustaw jej wartości.
Otwórz edytor kodu dla swojego tematu.
W edytorze kodu znajdź fragment odpowiadający Twojemu „Ustaw wartość zmiennej” i zamień
kind: SetVariablenakind: SetTextVariable. Ta zmiana zamienia węzeł Set zmiennej wartości w węzeł Ustaw zmienną tekstową.Zamknij edytor kodu.
Wybierz dolne pole węzła Ustaw zmienną tekstową i wpisz pełny ciąg znaków ze statycznym tekstem i zmiennymi, które chcesz wyświetlić na swojej Karcie adaptacyjnej. Wstaw zmienną w taki sam sposób, jak wstawiasz zmienną w wiadomości.
Zaktualizuj swoją kartę adaptacyjną, dodając odwołanie do tej nowej zmiennej.
Zapisz swój temat. Możesz teraz pobrać plik lokalizacyjny i zweryfikować, czy zawiera dynamiczną zawartość dla Twoich Kart adaptacyjnych.
Dowiedz się więcej w Lokalizuj zawartość karty adaptacyjnej.
Przetestuj agenta wielojęzycznego
Otwórz panel testowy.
Wybierz ikonę z trzema kropkami (…) na górze panelu testowego, a następnie wybierz preferowany język. Panel testowy ładuje się ponownie, tym razem w wybranym języku. Kanwa tworzenia pozostaje w języku podstawowym i nie możesz zapisać zmian wprowadzonych w temacie, dopóki nie wrócisz do języka podstawowego.
Aby przetestować agenta, wprowadź wiadomość w wybranym języku.
Możesz też ustawić język przeglądarki na jeden z języków agenta i wejść na gotową stronę demonstracyjną. Strona demonstracyjna otwiera się w podanym języku, a agent rozmawia w tym języku.
Przełącz agenta na inny język
Podczas projektowania można skonfigurować agenta tak, aby przełączał się na inny język w środku rozmowy. Logika może znajdować się w dowolnym temacie w agencie. 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 dodatkowych agenta. Ten wybór natychmiast zmienia język, którym posługuje się Twój agent.
Skonfiguruj agenta do dynamicznego przełączania języków
Notatka
Ta funkcja jest dostępna tylko dla agentów z włączoną funkcją orkiestracja generatywna.
Możesz skonfigurować agenta tak, aby wykrywał język używany przez klienta i odpowiadał w tym samym języku. Dzięki tej konfiguracji agent może wielokrotnie zmieniać język w trakcie jednej rozmowy. Poniższy scenariusz pokazuje, jak skonfigurować agenta do przełączania się między niderlandzkim a angielskim. Możesz rozszerzyć tę konfigurację na dowolną kombinację języków obsługiwanych przez twojego agenta.
Ostrzeżenie
Ta dynamiczna metoda przełączania języków nie jest kompatybilna z wykrywaniem języków w przeglądarce. Gdy temat dynamicznie wykrywający język użytkownika ustawi zmienną User.Language, wykrywanie języka w przeglądarce przestaje działać dla tego użytkownika, nawet jeśli temat zostanie później wyłączony lub usunięty. Jeśli chcesz eksperymentować lub zweryfikować oba podejścia, użyj osobnego agenta testowego. Po przetestowaniu dynamicznego przełączania języka musisz wyczyścić zapamiętany stan języka użytkownika przed próbą testowania wykrywania języka w przeglądarce.
W tym scenariuszu użyto tematu z wyzwalaczem Otrzymano wiadomość. Ten wyzwalacz tematu pozwala agentowi przeanalizować każdą otrzymaną wiadomość. W tym temacie jest używane polecenie niestandardowe do wykrywania języka i warunku ustawiania zmiennej systemowej języka agenta.
Sprawdź, czy agent jest skonfigurowany do obsługi wszystkich języków, które chcesz wykorzystać.
Zastąp domyślny typ wyzwalacza dla tematu typem Otrzymano wiadomość.
Dodaj podpowiedź do swojego tematu:
Wybierz ikonę „Dodaj węzeł”
znajdującą się poniżej węzła „Wyzwalacz”.Wybierz pozycję Dodaj narzędzie>Nowe polecenie.
W edytorze poleceń wpisz reprezentatywną nazwę dla swojego polecenia, na przykład "Wykryj język".
W panelu instrukcji wpisz "Określ, w jakim języku ta wiadomość jest napisana: ".
Na dole panelu Instrukcje wybierz Dodaj treść i wybierz Tekst. Pojawi się okno umożliwiające wpisanie nazwy i przykładowej wiadomości.
W polu Nazwa wpisz „Wiadomość”. W polu Dane próbne wpisz „Wiadomość od użytkownika” i wybierz Zamknij.
W panelu Model odpowiedzi przełącz format wyjściowy na JSON.
Kliknij przycisk Testuj. Twoje polecenie wyświetla obiekt JSON z jedną właściwością identyfikującą język jako angielski.
Wybierz pozycję Zapisz. Na kanwie zostanie wyświetlony węzeł Monit.
Skonfiguruj węzeł prompt:
- Dla Dane wejściowe wybierz „zmienną systemową”
Activity.Text(tekst wiadomości przychodzącej). - Dla Dane wyjściowe, stwórz nową zmienną o nazwie
DetectedLanguage.
- Dla Dane wejściowe wybierz „zmienną systemową”
Rozgałęź swoją logikę na podstawie wykrytego języka:
Dodaj warunek poniżej węzła polecenie.
Oprzyj warunek na niestandardowej zmiennej „
DetectedLanguage.structuredOutput.language”, która przechowuje nazwę wykrytego języka.Dodaj gałąź warunkową dla każdego języka, który musisz wykryć.
Pod każdą gałęzią dodaj węzeł Ustaw wartość zmiennej, aby odpowiednio ustawić zmienną systemową
User.Language. Na poniższym obrazku przedstawiono temat z warunkiem zmiany języka między holenderskim a angielskim.
Przywróć wykrywanie języka w przeglądarce
Gdy agent skonfigurowany do dynamicznego przełączania języków ustawia zmienną systemową User.Language, wybrany język pozostaje jako nadpisanie dla użytkownika agenta. Preferowany język użytkownika jest ustalany według priorytetowej kolejności:
- Preferencje językowe jawnie ustawione przez użytkownika i utrwalone jako zastąpienia dla tego użytkownika (najwyższy priorytet).
- Przychodząca wiadomość od użytkownika w języku
Activity.Localeobsługiwanym przez agenta. - Podstawowy język agenta (zapasowy).
Aby wyczyścić zapisaną preferencję języka po przetestowaniu dynamicznej zmiany języka:
- Wyślij
/debug clearstatedo agenta. To polecenie usuwa zastąpienie języka ze stanu użytkownika.
Rozwiązywanie problemów z wielojęzycznym agentem
Ta sekcja zawiera wskazówki, które pomogą Ci zrozumieć nieoczekiwane zachowanie agenta wielojęzycznego.
Wielojęzyczne zachowanie agenta dla języków, które nie zostały skonfigurowane
Jeśli użytkownik ustawi przeglądarkę na język, który nie jest obsługiwany przez agenta, agent użyje języka podstawowego.
Podstawowy język agenta określa się podczas tworzenia agenta. Nie można zmienić podstawowego języka po utworzeniu, ale można zmienić region dla podstawowego języka agenta, jeśli dostępny jest więcej niż jeden region.
Wielojęzyczne zachowanie agenta w przypadku brakujących tłumaczeń
Jeśli dodasz komunikaty do agenta w jego języku podstawowym, ale nie załadujesz tłumaczeń dla nowych komunikatów, agent wyświetli nieprzetłumaczone zmiany w 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 przetłumaczyć karty adaptacyjne, w których ciąg może zawierać zarówno statyczny tekst, jak i zmienne (zawartość dynamiczna), musisz zastosować rozwiązanie tymczasowe. Dowiedz się, jak przechowywać ciąg o mieszanym typie w zmiennej tekstowej przed użyciem go w karcie adaptacyjnej.
Błędy podczas publikowania wielojęzycznego agenta
Podczas próby opublikowania agenta wielojęzycznego może zostać wyświetlony komunikat o błędzie „Walidacja bota nie powiodła się” z nieprzetworzonym kodem błędu odpowiedzi, SynonymsNotUnique. Ten błąd oznacza, że plik lokalizacyjny zawiera zduplikowane synonimy lub synonim zgodny z wartością DisplayName. Ten błąd zwykle pojawia się, gdy węzeł zawiera Entity.Definition.'closedListItem', w którym zachodzi jeden z poniższych scenariuszy:
- Jeden z elementów
Synonymsnie jest unikalny. - 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 poprawić błąd, przejrzyj plik JSON lub ResX dla języka wtórnego i zidentyfikuj wszystkie przypadki, w których ten warunek może występować.