Konfigurace a vytvoření vícejazyčných agentů

Pomocí Copilot Studio můžete vytvořit agenta, který komunikuje se zákazníky v různých jazycích. Vícejazyčné agenty lze nakonfigurovat tak, aby automaticky zjistily preferovaný jazyk na základě nastavení webového prohlížeče uživatele a komunikovaly ve stejném jazyce, čímž poskytují personalizovanější a poutavější zážitek.

Při vytváření agenta určíte jeho primární jazyk.

Po přidání sekundárních jazyků do agenta odpovídáte za překlad zpráv v tématech, které vytvoříte. U agentů využívajících generativní orchestraci jsou generované zprávy automaticky překládány.

Když zákazník zahájí relaci s publikovaným agentem, agent zvolí jeden z dostupných jazyků, který odpovídá jazyku nastavenému v klientovi nebo prohlížeči zákazníka. Pokud agent nedokáže rozpoznat jazyk nebo rozpozná jazyk, který nepodporuje, použije svůj primární jazyk.

Můžete navrhnout agenta tak, aby během konverzace měnil jazyk, který používá (viz Přepnutí agenta na jiný jazyk). Můžete také nastavit agenta, který využívá generativní orchestrace k dynamickému přepínání jazyků podle jazyka použitého v aktuálním kroku konverzace (viz Nastavení agenta pro dynamické přepínání jazyků).

Seznam podporovaných jazyků viz Podpora jazyků.

Poznámka

Klasičtí chatovací roboti podporují pouze jeden jazyk. Další informace o převodu klasického chatovacího robota na agenta najdete v tématu Upgrade na jednotné vytváření Copilot Studio.

Přidání jazyků agentovi

  1. Přejděte na stránku Nastavení pro svého agenta a vyberte Jazyky.

  2. Vyberte Přidat jazyk.

  3. Na panelu Přidat jazyky Vyberte jazyky, které chcete přidat do agenta, a vyberte Přidat.

  4. Prohlédněte si seznam jazyků a zavřete stránku Nastavení.

Správa lokalizace pro vícejazyčného agenta

V Copilot Studio provádíte veškerou úpravu témat a obsahu v primárním jazyce agenta. Tato část vysvětluje, jak stáhnout řetězce z vašeho agenta a přeložit je do sekundárních jazyků vašeho agenta. Po nahrání přeložených řetězců můžete změnit jazyk v testovacím panelu a ověřit, že konverzace v sekundárních jazycích také probíhají podle očekávání.

Příprava lokalizovaného obsahu

Při prvním stažení lokalizačního souboru pro sekundární jazyk jsou všechny řetězce v primárním jazyce agenta. Po stažení lokalizačního souboru jej použijte s upřednostňovaným procesem lokalizace.

  1. Přejděte na stránku Nastavení pro agenta a vyberte Jazyky.

  2. Na stránce Jazyky v seznamu sekundárních jazyků vyberte Nahrát pro jazyk, který chcete aktualizovat.

  3. Na panelu Aktualizovat lokalizace Vyberte formát JSON nebo ResX a stáhněte aktuální lokalizační soubor pro daný jazyk.

    Poznámka

    Stažený soubor obsahuje nejnovější lokalizační obsah pro agent. Chcete-li stáhnout předchozí verze lokalizačního souboru, otevřete řešení agenta.

  4. Otevřete stažený soubor a nahraďte řetězce primárního jazyka příslušným přeloženým textem.

  5. Vraťte se na panel Aktualizovat lokalizace, Vyberte Procházet a nahrajte přeložený soubor.

  6. Zavřete panel Aktualizovat lokalizace a stránku Nastavení.

Aktualizovat lokalizovaný obsah

Změníte-li řetězce primárního jazyka, je nutné aktualizovat také obsah v sekundárních jazycích. Tento proces zahrnuje jak nový obsah, tak upravený obsah. Přírůstkové změny se automaticky nepřekládají. Musíte stáhnout soubor JSON nebo ResX sekundárního jazyka a aktualizovat nepřeložené řetězce podle vašeho preferovaného procesu lokalizace.

Následující scénář je typický pro pracovní postup pro přeložený obsah. Dříve jste přeložili svůj primární jazyk (en-US) do sekundárního jazyka (fr-FR) a přidali jste a upravili obsah v primárním jazyce. Když stáhnete lokalizační soubor pro sekundární jazyk, všechny nové řetězce jsou v primárním jazyce (en-US) a řetězce, které byly dříve přeloženy, zůstávají v sekundárním jazyce (fr-FR). Nicméně dříve přeložené řetězce, jejichž původní text byl od posledního nahrání lokalizačního souboru změněn, se stále zobrazují podle posledního překladu do sekundárního jazyka. Protože ID řetězců se nemění, řetězce sekundárního jazyka a řetězce primárního jazyka mohou po změnách v primárním jazyce vychýlit synchronizaci. Ujistěte se, že porovnání nového lokalizačního souboru s verzí, kterou jste nahráli naposledy, abyste identifikovali změny řetězců v primárním jazyce, je součástí vašeho lokalizačního procesu.

Umožněte lokalizaci dynamického obsahu z adaptivních karet

Lokalizační soubory nezahrnují řetězce se smíšeným typem z adaptivních karet. Pokud potřebujete lokalizovat adaptivní kartu, kde řetězec může obsahovat jak statický text, tak proměnné (dynamický obsah), použijte následující řešení. Tento postup vám ukáže, jak pomocí uzlu Nastavit textovou proměnnou uložit celý řetězec se statickým textem a proměnnými do pomocné proměnné. Poté odkazujete pouze na tuto mezilehlou proměnnou ve své adaptivní kartě. Když si stáhnete lokalizační soubor pro svého agenta, hodnota vaší meziproměnné, která obsahuje statický text a odkazy na proměnné, je dostupná pro lokalizaci jako součást setVariable akce.

Aby byl dynamický obsah adaptivní karty lokalizovatelný:

  1. Přidejte uzel Nastavit hodnotu proměnné před adaptivní kartu. Tento krok vytváří YAML reprezentaci, kterou můžete aktualizovat pomocí editoru kódu a převést uzel na Nastavit textovou proměnnou. Z plátna pro vytváření obsahu nemůžete vytvářet uzly Nastavit textové proměnné.

  2. V uzlu Nastavit hodnotu proměnné vytvořte novou proměnnou, ale hodnotu zatím nenastavujte.

  3. Otevřete editor kódu pro vaše téma.

  4. V editoru kódu vyhledejte část, která reprezentuje váš uzel Set variable value a nahraďte kind: SetVariable za kind: SetTextVariable. Tato změna převede uzel Nastavit hodnotu proměnné na Nastavit textovou proměnnou.

  5. Zavřete editor kódu.

  6. Vyberte spodní pole uzlu Nastavit textovou proměnnou a zadejte celý řetězec se statickým textem a proměnnými, které chcete zobrazit na své adaptivní kartě. Vložte proměnnou stejným způsobem, jakým vložíte proměnnou do zprávy.

  7. Aktualizujte svou Adaptivní kartu tak, aby odkazovala na tuto novou proměnnou.

  8. Uložte téma. Nyní si můžete stáhnout lokalizační soubor a ověřit, zda obsahuje dynamický obsah pro vaše Adaptivní karty.

Další informace naleznete v Lokalizace obsahu Adaptivní karty.

Testování vícejazyčného agenta

  1. Otevření testovací panel.

  2. Vyberte tři tečky (...) v horní části testovacího panelu a vyberte jazyk, který chcete použít. Testovací panel se znovu načte s použitím vybraného jazyka. Plátno zůstává v primárním jazyce a nemůžete uložit změny, které provedete v tématu, dokud se nevrátíte zpět k primárnímu jazyku.

  3. Chcete-li agenta otestovat, zadejte zprávu ve vybraném jazyce.

Můžete také nastavit jazyk svého prohlížeče na jeden z jazyků vašeho agenta a přejít na předpřipravený demo web. Demo web se otevře ve zvoleném jazyce a agent komunikuje v tomto jazyce.

Přepnutí agenta do jiného jazyka

Při návrhu můžete agenta nakonfigurovat tak, aby během konverzace přepnul do jiného jazyka. Logika se může nacházet v libovolném tématu agenta. Osvědčeným postupem je však přepnout jazyk přímo za uzel Otázka, což zajistí, že všechny následující zprávy až do dalšího uzlu Otázka budou ve stejném jazyce.

Chcete-li změnit aktuální jazyk agenta, nastavte User.Languagesystémovou proměnnou na jeden ze sekundárních jazyků agenta. Tento výběr okamžitě změní jazyk, kterým mluví váš agent.

Nastavte agenta pro dynamické přepínání jazyků

Poznámka

Tato funkce je dostupná jenom pro agenty se zapnutou generativní orchestrací.

Můžete nastavit agenta tak, aby detekoval jazyk, který zákazník používá, a odpovídal ve stejném jazyce. S touto konfigurací může agent během jedné konverzace opakovaně přepínat mezi jazyky. Následující scénář ukazuje, jak nastavit agenta tak, aby přepínal mezi nizozemštinou a angličtinou. Tento postup můžete rozšířit na libovolnou kombinaci jazyků, které váš agent podporuje.

Upozornění

Tato metoda dynamického přepínání jazyků není kompatibilní s detekcí jazyků v prohlížeči. Jakmile téma, které dynamicky detekuje uživatelský jazyk, nastaví proměnnou User.Language, detekce jazyka v prohlížeči již pro daného uživatele nefunguje, i když je téma později vypnuto nebo smazáno. Pokud chcete experimentovat nebo ověřit oba přístupy, použijte samostatného testovacího agenta. Po otestování dynamického přepínání jazyka musíte vymazat uložené nastavení jazyka uživatele před tím, než se pokusíte testovat detekci jazyka na základě prohlížeče.

Tento scénář používá téma se spouštěčem tématuPřijato zprávu. Tento spouštěč tématu umožňuje vašemu agentovi prozkoumat každou zprávu, kterou obdrží. Toto téma používá vlastní výzvu k detekci jazyka a podmínku pro nastavení systémové proměnné jazyka agenta.

  1. Ověřte, že váš agent je nakonfigurován tak, aby podporoval všechny jazyky, které chcete.

  2. Vytvoření tématu.

  3. Nahraďte výchozí spouštěcí typ pro téma za Zpráva je přijata.

  4. Přidejte do svého tématu výzvu:

    1. Vyberte ikonu Přidat uzel pod uzlem Trigger.

    2. Vyberte Přidat nástroj>Nová výzva.

    3. V editoru výzvy zadejte výstižný název pro svou výzvu, například "Detekujte jazyk."

    4. V panelu Instrukce zadejte "Zjistěte, v jakém jazyce je tato zpráva napsána: "

    5. Ve spodní části panelu Instrukce Vyberte Přidat obsah a zvolte Text. Objeví se okno, které vás vyzve k zadání jména a ukázkové zprávy.

    6. Jako Název zadejte "Zpráva". Pro Ukázková data zadejte "Zpráva od uživatele" a vyberte Zavřít.

    7. V podokně Modelová odpověď přepněte formát Výstup na JSON.

    8. Vyberte Test. Vaše výzva zobrazuje JSON literál s jedinou vlastností identifikující jazyk jako angličtinu.

      Snímek obrazovky výzvy nakonfigurované pro rozpoznání jazyka zprávy.

    9. Zvolte Uložit. Na plátně se objeví uzel Výzva.

  5. Konfigurujte uzel Výzva:

    1. Pro Vstup Vyberte systémovou proměnnouActivity.Text (text příchozí zprávy).
    2. Pro Výstupvytvořte novou proměnnou s názvem DetectedLanguage.
  6. Rozvětvete svou logiku podle detekovaného jazyka:

    1. Přidejte podmínku pod uzel výzva.

    2. Založte podmínku na vlastní proměnné DetectedLanguage.structuredOutput.language, která obsahuje název detekovaného jazyka.

    3. Přidejte větev podmínky pro každý jazyk, který potřebujete detekovat.

    4. Pod každou větví přidejte uzel Nastavte hodnotu proměnné pro nastavení příslušné systémové proměnné User.Language. Následující obrázek ukazuje téma s podmínkou přepínání mezi nizozemštinou a angličtinou.

      Snímek obrazovky tématu, které detekuje a přepíná jazyk agenta.

Obnovte detekci jazyka v prohlížeči

Když agent nakonfigurovaný pro dynamické přepínání jazyků nastaví systémovou proměnnou User.Language, vybraný jazyk zůstává zachován jako přepsání pro uživatele agenta. Preferovaný jazyk uživatele je určen v následujícím pořadí priorit:

  1. Předvolba jazyka explicitně nastavená uživatelem a uložená jako přepis pro tohoto uživatele (nejvyšší priorita).
  2. Příchozí zpráva od uživatele v jazyce odpovídajícím jednomu z podporovaných jazyků agenta (Activity.Locale).
  3. Primární jazyk agenta (náhradní).

Pro vymazání uloženého jazyka po testování dynamického přepínání jazyků:

  • Pošlete /debug clearstate agentovi. Tento příkaz vymaže přepsání jazykového nastavení ze stavu uživatele.

Řešení problémů s vícejazyčným agentem

Tato sekce poskytuje tipy, které vám pomohou pochopit nečekané chování vícejazyčného agenta.

Vícejazyčné chování agent pro jazyky, které nejsou nakonfigurované

Pokud uživatel nakonfiguruje svůj prohlížeč pro jazyk, který jste pro agenta nenakonfigurovali, agent se vrátí ke svému primárnímu jazyku.

Primární jazyk agenta určíte při vytváření agenta. Po vytvoření není možné změnit primární jazyk, ale můžete změnit oblast pro primární jazyk agenta, pokud je k dispozici více než jedna oblast.

Vícejazyčné chování agent pro chybějící překlady

Pokud přidáte zprávy agentovi v jeho primárním jazyce, ale nenahrajete překlady nových zpráv, agent zobrazí nepřeložené změny ve svém primárním jazyce. Vždy se ujistěte, že jsou překlady aktuální, po provedení změn u agenta.

Lokalizační soubory nezahrnují řetězce se smíšeným typem z adaptivních karet. Pokud potřebujete lokalizovat Adaptivní karty, kde řetězec může obsahovat jak statický text, tak proměnné (dynamický obsah), musíte použít náhradní řešení. Zjistěte, jak uložit smíšený řetězec do textové proměnné před jeho použitím v Adaptivní kartě.

Chyby při publikování vícejazyčného agenta

Když se pokusíte publikovat vícejazyčného agenta, může se zobrazit chybová zpráva „Ověření robota selhalo“ s chybovým kódem odpovědi SynonymsNotUnique. Tato chyba znamená, že váš lokalizační soubor obsahuje buď duplicitní synonyma, nebo synonymum stejné jako hodnota DisplayName. K této chybě obvykle dochází, když uzel obsahuje Entity.Definition.'closedListItem' a nastane některý z následujících případů:

  • Jeden z prvků Synonyms není jedinečný.
  • Jeden z Synonyms prvků má stejnou hodnotu jako DisplayName prvek.

Všechny Synonyms pro stejnou entitu musí být jedinečné a musí mít jiný název než prvek DisplayName.

Pro opravu chyby zkontrolujte soubor JSON nebo ResX pro sekundární jazyk a identifikujte všechny případy, kdy může tato podmínka nastat.