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

Pomocí nástroje Copilot Studio můžete vytvořit agenta, který komunikuje se zákazníky v různých jazycích. Můžete nastavit vícejazyčné agenty tak, aby automaticky detekovali požadovaný jazyk na základě nastavení webového prohlížeče uživatele a odpovídali stejným jazykem, což zákazníkům poskytuje personalizovanější a poutavější zážitek.

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

Po přidání sekundárních jazyků do agenta zodpovídáte za poskytování překladů zpráv v tématech, která vytvoříte. U agentů, kteří používají generativní orchestrace, se generované zprávy automaticky překládají.

Když zákazník spustí relaci s publikovaným agentem, agent vybere jeden z jeho jazyků tak, aby odpovídal jazyku zadanému v klientovi nebo prohlížeči zákazníka. Pokud agent nemůže rozpoznat jazyk nebo pokud zjistí jazyk, který nepodporuje, agent se ve výchozím nastavení nastaví na svůj primární jazyk.

Agenta můžete navrhnout tak, aby měnil jazyk, který používá během konverzace (viz Přechod agenta do jiného jazyka). Můžete také nastavit agenta, který používá generování orchestrace k dynamickému přepínání jazyků podle jazyka používaného v aktuálním turnu konverzace (viz Nastavení agenta pro dynamické přepínání jazyka).

Seznam podporovaných jazyků viz Podpora jazyků.

Poznámka:

Klasické chatovací roboty podporují pouze jeden jazyk. Další informace o převodu klasického chatovacího robota na agenta najdete v tématu Upgrade na jednotné autorství v Copilot Studio.

Přidání jazyků agentovi

  1. Přejděte na stránku Nastavení 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. Zkontrolujte seznam jazyků a zavřete stránku Nastavení .

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

V nástroji Copilot Studio provedete veškeré úpravy tématu 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 jazyk přepnout na testovacím panelu a ověřit, že konverzace v sekundárních jazycích také proudí 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í vašeho agenta a vyberte Jazyky.

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

  3. Na panelu Lokalizace aktualizací vyberte formát JSON nebo ResX a stáhněte si aktuální lokalizační soubor pro daný jazyk.

    Poznámka:

    Stažený soubor obsahuje nejnovější lokalizační obsah pro agent. Pokud chcete 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 Lokalizace aktualizací , vyberte Procházet a nahrajte přeložený soubor.

  6. Zavřete panel Lokalizace aktualizací a stránku Nastavení .

Aktualizace lokalizovaného obsahu

Pokud změníte řetězce primárního jazyka, musíte také aktualizovat 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 soubor resX pro sekundární jazyk a aktualizovat nepřeložené řetězce pomocí svého 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 upraven od posledního nahrání lokalizačního souboru, se stále objevují tak, jak byly naposledy přeloženy do sekundárního jazyka. Protože ID řetězců se nemění, mohou být řetězce sekundárního a primárního jazyka po změnách v primárním jazyce nesynchronizované. 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.

Zpřístupnění dynamického obsahu z adaptivních karet pro lokalizaci

Lokalizační soubory nezahrnují řetězce smíšeného typu z Adaptivní karty. Pokud potřebujete lokalizovat adaptivní kartu, kde řetězec může obsahovat statický text i proměnné (dynamický obsah), použijte následující alternativní řešení. Tento postup ukazuje, jak pomocí uzlu Nastavit textovou proměnnou uložit celý řetězec se statickým textem a proměnnými v zprostředkující proměnné. Pak odkazujete pouze na tuto zprostředkující proměnnou ve své Adaptivní kartě. Při stahování lokalizačního souboru pro vašeho agenta je hodnota vaší zprostředkující proměnné, která obsahuje statický text a odkazy na proměnné, k dispozici pro lokalizaci jako součást akce setVariable.

Nastavení dynamického obsahu adaptivní karty jako lokalizovatelného:

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

  2. V uzlu Nastavit hodnotu proměnné vytvořte novou proměnnou, ale hodnotu ještě nenastavujte.

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

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

  5. Zavřete editor kódu.

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

  7. Aktualizujte adaptivní kartu odkazem na tuto novou proměnnou.

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

Další informace najdete v tématu Lokalizace obsahu adaptivní karty.

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

  1. Otevřete testovací panel.

  2. Vyberte tři tečky (...) v horní části testovacího panelu a vyberte jazyk, který chcete. Testovací panel se znovu načte, tentokrát pomocí vybraného jazyka. Plátno pro vytváření obsahu zůstane v primárním jazyce a změny, které uděláte v tématu, nemůžete uložit, dokud nepřepnete zpět do primárního jazyka.

  3. Pokud chcete agenta otestovat, zadejte zprávu ve vybraném jazyce.

Jazyk prohlížeče můžete také nastavit na jeden z jazyků agenta a přejít na předem připravený ukázkový web. Ukázkový web se otevře v zadaném jazyce a agent chatuje v tomto jazyce.

Přepnutí agenta do jiného jazyka

Při vytváření obsahu můžete agenta nakonfigurovat tak, aby se přepnul do jiného jazyka uprostřed konverzace. 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.

Pokud chcete 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.

Nastavení agenta pro přepínání dynamických jazyků

Poznámka:

Tato funkce je dostupná jenom pro agenty s povolenou generativní orchestrací .

Agenta můžete nakonfigurovat tak, aby rozpoznal jazyk, který zákazník používá, a reagoval ve stejném jazyce. Díky této konfiguraci může agent během jedné konverzace přepínat jazyky vícekrát. Následující scénář ukazuje, jak nastavit agenta pro přepínání mezi holandštinou a angličtinou. Můžete ho rozšířit pro libovolnou kombinaci jazyků, které agent podporuje.

Výstraha

Tato dynamická metoda přepínání jazyka není kompatibilní s rozpoznáváním jazyka založeným na prohlížeči. Jakmile téma, které dynamicky rozpozná jazyk uživatele nastaví proměnnou, rozpoznávání jazyka založeného User.Language na prohlížeči se už pro tohoto uživatele neprojeví, a to ani v případě, že je téma později vypnuté nebo odstraněné. 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 před pokusem o otestování rozpoznávání jazyka v prohlížeči vymazat trvalý stav jazyka .

Tento scénář používá téma se spouštěčem tématuPřijato zprávu. Trigger tohoto tématu umožňuje agentu prozkoumat všechny zprávy, které obdrží. Toto téma používá vlastní výzvu k rozpoznání jazyka a podmínky k 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řte téma.

  3. Nahraďte výchozí typ spouštění pro téma Je přijata zpráva.

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

    1. Vyberte ikonu Přidat uzel pod uzlem Aktivátor.

    2. Vyberte Přidat nástroj>Nový podnět.

    3. V editoru výzev zadejte reprezentativní název výzvy, například "Zjistit jazyk".

    4. V podokně Pokyny zadejte "Určit jazyk, ve kterém je tato zpráva napsána: ".

    5. V dolní části podokna Pokyny vyberte Přidat obsah a vyberte Text. Zobrazí se okno s výzvou k zadání jména a ukázkové zprávy.

    6. Jako název zadejte "Zpráva". V části Ukázková data zadejte "Zpráva od uživatele" a vyberte Zavřít.

    7. V podokně odpovědi modelu přepněte výstupní formát na JSON.

    8. Vyberte Test. Výzva zobrazí literál JSON s jedinou vlastností identifikující jazyk jako angličtinu.

      Snímek obrazovky s výzvou nakonfigurovanou k rozpoznání jazyka zprávy

    9. Vyberte Uložit. Na plátně se zobrazí uzel Prompt.

  5. Nakonfigurujte uzel Prompt:

    1. Jako 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ětvení logiky na základě zjištěného jazyka:

    1. Pod uzel Výzvy přidejte podmínku.

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

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

    4. Pod každou větev přidejte uzel Nastavit hodnotu proměnné , aby se systémová proměnná nastavil User.Language odpovídajícím způsobem. Následující obrázek ukazuje téma s podmínkou pro přepínání mezi holandštinou a angličtinou.

      Snímek obrazovky s tématem, které rozpozná a přepne jazyk agenta

Obnovení rozpoznávání jazyka založeného na prohlížeči

Pokud agent, který je nakonfigurován pro dynamické přepínání jazyka, nastaví User.Language systémovou proměnnou, používaný jazyk zůstane jako nadřazený pro uživatele agenta. Upřednostňovaný jazyk uživatele je určen v následujícím pořadí priority:

  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, který odpovídá některému z podporovaných jazyků agenta (Activity.Locale).
  3. Primární jazyk agenta (náhradní).

Vymazání trvalého jazyka po testování dynamického přepínání jazyka:

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

Řešení potíží s vícejazyčným agentem

Tato sekce poskytuje tipy, které vám pomohou pochopit nečekané chování vícejazyčných agentů.

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

Pokud uživatel nakonfiguruje prohlížeč pro jazyk, který jste pro agenta nenakonfigurovali, agent se vrátí do svého primárního jazyka.

Při vytváření agenta zadáte primární jazyk agenta. Po vytvoření nemůžete změnit primární jazyk, ale oblast primárního jazyka agenta můžete změnit , 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 ukáže 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ými typy z Adaptivní karty. Pokud potřebujete lokalizovat Adaptivní karty, kde řetězec může obsahovat statický text i proměnné (dynamický obsah), musíte použít alternativní řešení. Zjistěte, jak před použitím v adaptivní kartě uložit řetězec se smíšeným typem do textové proměnné .

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

Při pokusu o publikování vícejazyčného agenta se může zobrazit chybová zpráva "Ověření robota selhalo" s nezpracovaným kódem chyby odpovědi . SynonymsNotUnique Tato chyba znamená, že váš lokalizační soubor obsahuje duplicitní synonyma nebo synonymum, které odpovídá hodnotě DisplayName . K této chybě obvykle dochází v případě, že uzel obsahuje některou Entity.Definition.'closedListItem' z následujících situací:

  • 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 mít jiný název než prvek DisplayName .

Pokud chcete chybu opravit, zkontrolujte soubor JSON nebo ResX pro váš sekundární jazyk a identifikujte všechny instance, ve kterých může být tato podmínka přítomna.