Merk
Tilgang til denne siden krever autorisasjon. Du kan prøve å logge på eller endre kataloger.
Tilgang til denne siden krever autorisasjon. Du kan prøve å endre kataloger.
Ved å bruke Copilot Studio kan du opprette en agent som kommuniserer med kunder på forskjellige språk. Du kan konfigurere flerspråklige agenter til automatisk å oppdage ønsket språk basert på agentbrukerens nettleserinnstillinger og svare på samme språk, noe som gir en mer personlig og engasjerende opplevelse for kundene.
Når du oppretter en agent, angir du hovedspråket til den.
Etter at du har lagt til sekundære språk i en agent, er du ansvarlig for levere oversettelser av meldinger i emner du oppretter. For agenter som benytter generativ iverksetting, blir genererte meldinger oversatt automatisk.
Når en kunde starter en økt med en publisert agent, velger agenten ett av sine språk som samsvarer med språket som er spesifisert i kundens klient eller nettleser. Hvis agenten ikke kan oppdage språket, eller hvis den oppdager et språk den ikke støtter, bruker agenten sitt primærspråk som standard.
Du kan utforme en agent til å endre språket den bruker under en samtale (se Få en agent til å bytte til et annet språk). Du kan også sette opp en agent som bruker generativ iverksetting for å dynamisk bytte språk for å følge språket som brukes i den nåværende samtalerunden (se Sett opp en agent for dynamisk språkbytte).
Hvis du vil se en liste over støttede språk, kan du se Språkstøtte.
Notat
Klassiske chatroboter støtter bare ett språk. Hvis du vil ha mer informasjon om hvordan du konverterer en klassisk chatrobot til en agent, kan du se Oppgrader til enhetlig redigering for Copilot Studio.
Legg til språk i en agent
Gå til Innstillinger-siden for agenten, og velg Språk.
Velg Legg til språk.
I panelet Legg til språk velger du språkene du vil legge til i agenten, og velger Legg til.
Gå gjennom listen over språk, og lukk siden Innstillinger.
Administrer lokalisering for en flerspråklig agent
I Copilot Studio utfører du all emne- og innholdsredigering i agentens primærspråk. Denne delen forklarer hvordan du laster ned strenger fra agenten din og oversetter dem til agentens sekundære språk. Etter at du har lastet opp de oversatte strengene, kan du bytte språk i testpanelet og verifisere at samtaler på sekundærspråkene også flyter som forventet.
Forbered lokalisert innhold
Når du for første gang laster ned lokaliseringsfilen for et sekundært språk, er alle strengene på agentens primærspråk. Når du har lastet ned en lokaliseringsfil, kan du bruke den med din foretrukne lokaliseringsprosess.
Gå til Innstillinger-siden for agenten, og velg Språk.
I listen over sekundære språk på Språk-siden velger du Last opp for språket du vil oppdatere.
I panelet Oppdater lokaliseringer velger du enten JSON- eller ResX-format for å laste ned gjeldende lokaliseringsfil for dette språket.
Notat
Den nedlastede filen inneholder det nyeste lokaliseringsinnholdet for agenten. For å laste ned tidligere versjoner av lokaliseringsfilen åpner du agentens løsning.
Åpne den nedlastede filen, og erstatt hovedspråkstrengene med riktig oversatt tekst.
Gå tilbake til panelet Oppdater lokaliseringer, velg Bla gjennom, og last opp den oversatte filen.
Lukk panelet Oppdater lokaliseringer og Innstillinger-siden.
Oppdater lokalisert innhold
Hvis du endrer primærspråkstrengene, må du også oppdatere innholdet i de sekundære språkene. Denne prosessen omfatter både nytt innhold og endret innhold. Trinnvise endringer oversettes ikke automatisk. Du må laste ned JSON- eller ResX-filen for sekundærspråket og oppdatere de strengene som ikke er oversatt ved å bruke din foretrukne lokaliseringsprosess.
Følgende scenario er typisk for arbeidsflyten for oversatt innhold. Du har tidligere oversatt hovedspråket ditt til et sekundært språk (fr-FR), og du har lagt til og endret innhold på hovedspråket. Når du laster ned lokaliseringsfilen for sekundærspråket, vil nye strenger være på primærspråket (en-US), mens strenger som tidligere er oversatt forblir på sekundærspråket (fr-FR). Tidligere oversatte strenger, hvor den opprinnelige teksten er endret siden du sist lastet opp lokaliseringsfilen, vises fortsatt slik de sist ble oversatt til sekundærspråket. Fordi streng-ID-ene ikke endres, kan sekundærspråkstrengene og primærspråkstrengene bli usynkroniserte etter at det skjer endringer i primærspråket. Sørg for at sammenligning av den nye lokaliseringsfilen med versjonen du lastet opp sist – for å identifisere endringer i strenger på primærspråket – inngår som en del av lokaliseringsprosessen din.
Gjør dynamisk innhold fra dynamiske kort tilgjengelig for lokalisering
Lokaliseringsfiler inkluderer ikke strenger av blandet type fra Dynamiske kort. Hvis du trenger å lokalisere et dynamisk kort hvor en streng kan inkludere både statisk tekst og variabler (dynamisk innhold), bruker du følgende løsning. Prosedyren viser hvordan du bruker en Angi tekstvariabel-node for å lagre hele strengen med statisk tekst og variabler i en mellomvariabel. Deretter refererer du bare til den mellomliggende variabelen i dynamisk kort. Når du laster ned en lokaliseringsfil for agenten din, er verdien av mellomvariabelen, med statisk tekst og variabelreferanser, tilgjengelig for lokalisering som en del av en setVariable-handling.
For å gjøre et dynamisk korts dynamiske innhold lokaliserbart:
Legg til en Angi variabelverdi-node før det dynamiske kortet. Dette trinnet oppretter en YAML-representasjon som du kan oppdatere ved å bruke koderedigeringsprogrammet til å konvertere noden til en Angi tekstvariabel-node. Du kan ikke opprette Angi tekstvariabel-noder direkte fra redigeringslerretet.
I Angi variabelverdi-noden oppretter du en ny variabel, men ikke sett verdien ennå.
Åpne koderedigeringsprogrammet for emnet ditt.
I koderedigeringsprogrammet finner du delen som representerer din Angi variabelverdi-node, og erstatt
kind: SetVariablemedkind: SetTextVariable. Denne endringen konverterer Angi variabelverdi-node til en Angi tekstvariabel-node.Lukk redigeringsprogrammet.
Velg det nederste feltet i Angi tekstvariabel-noden og skriv inn hele strengen med den statiske teksten og variablene du vil vise på dynamisk kort. Sett inn en variabel på samme måte som du setter inn en variabel i en melding.
Oppdater dynamisk kort med en referanse til denne nye variabelen.
Lagre emnet. Du kan nå laste ned lokaliseringsfilen og verifisere at den inkluderer det dynamiske innholdet for dynamiske kort.
Les mer i Lokaliser innhold for dynamisk kort.
Test en flerspråklig agent
Åpne testpanelet.
Klikk på de tre prikkene (…) øverst i testpanelet, og velg ønsket språk. Testpanelet laster inn på nytt, denne gangen med det valgte språket. Forfatterlerretet forblir på primærspråket, og du kan ikke lagre endringer du gjør i et emne før du bytter tilbake til primærspråket.
For å teste agenten skriver du inn en melding på det valgte språket.
Du kan også sette nettleserens språk til ett av agentens språk, og gå til det forhåndsbygde demonettstedet. Demonettstedet åpner på det angitte språket, og agenten kommuniserer på det språket.
Få en agent til å bytte til et annet språk
Når du utformer agenten, kan du konfigurere den til å bytte til et annet språk midt i en samtale. Logikken kan ligge i et hvilket som helst emne i agenten. Den beste fremgangsmåten er imidlertid å bytte språk direkte etter en Spørsmål-node, noe som sikrer at alle følgende meldinger til neste Spørsmål-node er på samme språk.
For å endre agentens gjeldende språk setter du User.Languagesystemvariabel til ett av agentens sekundære språk. Dette valget endrer språket som snakkes av agenten umiddelbart.
Sett opp en agent for dynamisk språkbytte
Notat
Denne funksjonen er bare tilgjengelig for agenter med generativ iverksetting aktivert.
Du kan konfigurere en agent til å oppdage språket kunden bruker og svare på samme språk. Med denne konfigurasjonen kan agenten bytte språk flere ganger i løpet av en enkelt samtale. Følgende scenario viser hvordan du setter opp en agent til å bytte mellom nederlandsk og engelsk. Du kan utvide det til hvilken som helst kombinasjon av språkene agenten din støtter.
Advarsel!
Denne dynamiske språkbyttemetoden er ikke kompatibel med nettleserbasert språkgjenkjenning. Når emnet som dynamisk oppdager brukerspråket setter variabelen User.Language, trer ikke lenger nettleserbasert språkgjenkjenning i kraft for den brukeren, selv om emnet senere slås av eller slettes. Hvis du vil eksperimentere eller validere begge tilnærmingene, bruker du en egen testagent. Etter at du har testet dynamisk språkbytte, må du slette vedvarende brukerspråktilstand før du forsøker å teste nettleserbasert språkgjenkjenning.
Dette scenario bruker et emne med en Melding mottatt-emneutløser. Denne emneutløseren lar agenten din undersøke hver melding den mottar. Dette emnet bruker et egendefinert instruks for å oppdage språket og en betingelse for å sette agentens språksystemvariabel.
Verifiser at agenten din er konfigurert til å støtte alle språkene du ønsker.
Bytt ut standard utløsertype for emnet med En melding er mottatt.
Legg til en instruks i emnet:
Velg Legg til node-ikonet
under Utløser-noden.Velg Legg til et verktøy>Ny instruks.
I instruksredigeringsprogrammet angir du et representativt navn for instruksen, for eksempel «Oppdag språk».
I panelet Instruksjoner skriver du inn «Bestem hvilket språk denne meldingen er skrevet på:».
Nederst i Instruksjoner-ruten velger du Legg til innhold og velger Tekst. Et vindu åpnes der du blir bedt om å angi et navn og en eksempelmelding.
For Navn angir du Melding. For Eksempeldata angir du Melding fra brukeren og velger Lukk.
I Modellrespons-panelet endrer du utdataformatet til JSON.
Velg Test. Instruksen viser en JSON-litteral, med én egenskap som identifiserer språket som engelsk.
Velg Lagre. En Instruks-node vises på lerretet.
Konfigurer Instruks-noden:
- For Inndata velger du systemvariabelen
Activity.Text(teksten til den innkommende meldingen). - For Utdataoppretter du en ny variabel kalt
DetectedLanguage.
- For Inndata velger du systemvariabelen
Forgren logikken din basert på det detekterte språket:
Legg til en betingelse under Instruks-noden.
Baser betingelsen på den egendefinerte variabelen
DetectedLanguage.structuredOutput.language, som lagrer navnet på det oppdagede språket.Legg til en betingelsesgren for hvert språk du ønsker å detektere.
Under hver gren legger du til en Sett variabelverdi-node for å sette
User.Language-systemvariabelen tilsvarende. Bildet nedenfor viser et emne med en betingelse for å bytte mellom nederlandsk og engelsk.
Gjenopprett nettleserbasert språkgjenkjenning
Når en agent konfigurert for dynamisk språkbytting setter systemvariabelen User.Language, bevares det valgte språket som en overstyring for agentbruker. Brukerens foretrukne språk bestemmes i følgende prioritetsrekkefølge:
- Språkpreferanse som brukeren har satt og lagret som en overstyring for brukeren (høyeste prioritet).
- Innkommende melding fra brukeren på et språk som samsvarer med ett av agentens støttede språk (
Activity.Locale). - Agentens primære språk (reserve).
For å fjerne det overstyrte språket etter testing av dynamisk språkbytte:
- Send
/debug clearstatetil agenten. Denne kommandoen fjerner språkoverstyringen fra brukerens tilstand.
Feilsøking av en flerspråklig agent
Denne delen inneholder tips som hjelper deg å forstå uventet atferd hos en flerspråklig agent.
Funksjonaliteten til flerspråklig agent på språk som ikke er konfigurert
Hvis en bruker konfigurerer nettleseren sin for et språk du ikke har konfigurert for agenten, faller agenten tilbake til sitt hovedspråk.
Du angir hovedspråket for en agent når du oppretter agenten. Du kan ikke endre hovedspråket etter oppretting, men du kan endre området for agentens hovedspråk hvis flere områder er tilgjengelige.
Virkemåte for flerspråklig agent for manglende oversettelser
Hvis du legger til meldinger i en agent på hovedspråket, men ikke laster opp oversettelsene for de nye meldingene, viser agenten endringene som ikke er oversatt på hovedspråket. Kontroller alltid at oversettelsene er oppdatert etter at du har gjort endringer i en agent.
Lokaliseringsfiler inkluderer ikke strenger av blandet type fra dynamiske kort. Hvis du trenger å lokalisere dynamiske kort hvor en streng kan inkludere både statisk tekst og variabler (dynamisk innhold), må du bruke en løsning. Lær hvordan du lagrer en blandet type streng i en tekstvariabel før du bruker den i et dynamisk kort.
Feil ved publisering av en flerspråklig agent
Når du prøver å publisere en flerspråklig agent, kan du få feilmeldingen «Validering av roboten mislyktes» med feilkoden fra råsvaret, SynonymsNotUnique. Denne feilen betyr at lokaliseringsfilen din inneholder enten dupliserte synonymer eller et synonym som samsvarer med en DisplayName-verdi. Du møter vanligvis denne feilen når en node inneholder et Entity.Definition.'closedListItem' der ett av følgende scenarioer oppstår:
- Et av
Synonyms-elementene er ikke unikt. - Et av
Synonyms-elementene har samme verdi som elementetDisplayName.
Alle Synonyms for samme enhet må være unike og ha et annet navn enn elementet DisplayName.
For å rette feilen gjennomgår du JSON- eller ResX-filen for det sekundære språket og identifiserer alle tilfeller der denne betingelsen kan være til stede.