Článek přečtěte do 4 min.

Funkce překladu jazyka chatu usnadňuje chatovacím agentům komunikaci se zákazníky, kteří mluví jiným jazykem. Počínaje verzí 24C mohou administrátoři nakonfigurovat funkci překladu jazyka chatu tak, aby jazykový překlad poskytovala služba třetí strany. Například jazykový překlad Oracle OCI, jazyk I/O, překlad Google, rozhraní API pro překlad Azure nebo jakýkoli poskytovatel překladatelských služeb REST API lze agentům obsluhovat překlady chatu v reálném čase. Další informace o tom, jak povolit a nakonfigurovat tuto funkci, najdete v odpovědi 12842: Požadavky na konfiguraci jazykového překladu pro chat v uživatelském rozhraní prohlížeče.

Tento článek poskytuje základní informace o konfiguracích požadovaných v níže uvedených modulech:

  • Integrace externích objektů
  • Konfigurace překladu chatu

Zahrnuje také nápovědu k ukázkovému kódu požadovanému pro akce rozšiřitelnosti.

Integrace externích objektů:

Nejprve nakonfigurujte API pro detekci a překlad jazyka v rámci Integrace externích objektů (dokumentace). Přidejte samostatná připojení pro zjišťování a překlad koncových bodů API poskytovatele překladu v integraci externích objektů, jak je znázorněno níže:

Zjistit podrobnosti připojení
Zjistit podrobnosti připojení
Přeložit podrobnosti o připojení
Přeložit podrobnosti o připojení

Dále otestujte připojení, abyste zajistili, že rozhraní API pro zjišťování a překlad poskytují očekávané odpovědi. Například otestujte rozpoznání a překlad připojení Language I/O nastavením datové zátěže v poli Request Body a provedením požadavku POST, jak je znázorněno na obrázcích výše.

Nyní, když jste vytvořili integraci externích objektů, aby váš preferovaný poskytovatel jazykového překladu mohl detekovat jazyk a poskytnout jazykový překlad, můžete nakonfigurovat funkci jazykového překladu pro chat.

Konfigurace překladu chatu:

Chcete-li nakonfigurovat funkci na stránce Správa uživatelského rozhraní prohlížeče:

  • Přihlaste se do uživatelského rozhraní prohlížeče.
  • Přejděte na stránku Správa (nabídka v levém horním rohu).
  • Přejděte na „Konfigurace chatu“.
  • Přejděte na „Překlady chatu“.
  • Klikněte na tlačítko „Přidat nový“.
  • Na konfigurační stránce Překlad chatu vyberte dříve vytvořená připojení Language Detect Connection a Language Translation.
  • Pomocí ovládacího prvku náhodného přehrávání určete, u kterých profilů je tato funkce povolena, jak je znázorněno níže:
Stránka konfigurace překladu chatu
Stránka konfigurace překladu chatu

Za druhé přejděte na kartu Přizpůsobení a zadejte název funkce pro „Převést akci rozšíření požadavku“ a „Převést akci rozšíření odpovědi“:

  • Funkce „Convert Request Extensibility Action“ transformuje parametr požadavku do formátu, který je očekáván koncovým bodem překladu nakonfigurovaným v integracích externích objektů.
  • Funkce „Convert Response Extensibility Action“ extrahuje odpověď z koncového bodu překladu a převede ji do očekávaného formátu

Tyto funkce musí být implementovány v kódu rozšiřitelnosti.

Typy rozhraní pro parametry jsou definovány v rozhraních:

  • ILanguageTranslationRequest: vstupní parametr pro převést akci rozšiřitelnosti požadavku.
  • ILanguageTranslationTransformedRequest: výstup akce rozšíření žádosti o převod.
  • ILanguageTranslationResponse: vstupní parametr pro převod odpovědi Akce rozšiřitelnosti ILanguageDetectionTransformedResponse.
  • ILanguageTranslationTransformedResponse: výstup akce rozšíření převést odpověď.
Konfigurace přizpůsobení překladu chatu
Konfigurace přizpůsobení překladu chatu

Nyní, když jste vytvořili komponentu detekce a překladu jazyka a definovali akce rozšiřitelnosti pro požadavky na převod a odpovědi, můžete implementovat tyto nové funkce.

Ukázkový kód pro akce rozšiřitelnosti:

Převést akci rozšiřitelnosti požadavku: Implementujte funkci, která je specifikována v části „Převést akci rozšiřitelnosti požadavku“ v konfiguraci překladu chatu. V tomto příkladu byla zadaná funkce „convertRequest“:

///   
public convertRequest(param: ILanguageTranslationRequest): ILanguageTranslationTransformedRequest {
    let transformedRequest: ILanguageTranslationTransformedRequest;
    if (param.translationType === 'TRANSLATION') {
      transformedRequest = {
      // expected format of the Translation API
        payload: {
          "q": param.text,
          "target": param.targetLanguageCode
        }
      }
    } else if (param.translationType === 'DETECT_LANGUAGE') {
    // expected format of the Detect API
      transformedRequest = {
        payload: {
          "q": param.text
        }
      }
    }
    return transformedRequest;
  }

Převést akci rozšiřitelnosti odezvy: Implementujte funkci, která je specifikována v části „Převést akci rozšiřitelnosti odezvy“ v konfiguraci Překlad chatu. V tomto příkladu byla zadaná funkce „convertResponse“:

//Define a languageCodeMap which returns the name of the detected language. 
///
    const languageCodeMap = {
      'ar': 'Arabic',
      'zh-CN': 'Chinese(Simplified)',
      'zh-TW': 'Chinese(Traditional)',
      'cs': 'Czech',
      'da': 'Danish',
      'nl': 'Dutch',
      'en': 'English',
      'fi': 'Finnish',
      'fr': 'French',
      'de': 'German',
      'el': 'Greek',
      'hu': 'Hungarian',
      'it': 'Italian',
      'ja': 'Japanese',
      'ko': 'Korean',
      'nb-NO': 'Norwegian(Bokmål)',
      'pl': 'Polish',
      'pt': 'Portuguese',
      'pt-BR': 'Portuguese(Brazil)',
      'ro': 'Romanian',
      'ru': 'Russian',
      'es': 'Spanish',
      'sv': 'Swedish'
    }
    public convertResponse(param: ILanguageTranslationResponse): ILanguageDetectionTransformedResponse | ILanguageTranslationTransformedResponse {
    let transformedResponse: ILanguageDetectionTransformedResponse | ILanguageTranslationTransformedResponse;
    if (param.translationType === 'TRANSLATION') {
      transformedResponse = {
        translatedText: param.payload?.data?.translations[0].translatedText
      }
    } else if (param.translationType === 'DETECT_LANGUAGE') {
      const languageCode = param?.payload?.data?.detections[0][0].language;
      const languageScore = param?.payload?.data?.detections[0][0].confidence;
      const languageLabel = languageCodeMap[languageCode];
      let languages: IDetectedLanguage[] = [{
        code: languageCode,
        name: languageLabel,
        score: languageScore
      }]
      transformedResponse = {
        languages: languages
      }
    }
    return transformedResponse;
  }

Zaregistrujte akci rozšiřitelnosti: Zaregistrujte název akce a vyvolejte níže uvedený kód, aby akce mohla spustit funkci zpětného volání (dokumentace rozšiřitelnosti BUI):

class SampleExtensionClass {
  public async initialize(): Promise {
    const extensionProvider: IExtensionProvider = await ORACLE_SERVICE_CLOUD.extension_loader.load("CUSTOM_APP_ID", "1");
    const globalContext: IExtensionGlobalContext = await extensionProvider.getGlobalContext();
    //register the functions defined for converting request and response as defined in Chat Translation Customization Configuration image
    globalContext.registerAction('convertRequest', this.convertRequest.bind(this));
    globalContext.registerAction('convertResponse', this.convertResponse.bind(this));
  }
 ..... 
// add convert request and add convert response functions defined in above code snippets
 .....
} 

(async () => {
  return await new SampleExtensionClass().initialize();
})()

Nyní, když jste implementovali správné funkce a zaregistrovali související akce, můžete otestovat funkci jazykového překladu v rámci chatu. Testování je zásadní, aby se zajistilo, že služba třetí strany poskytuje překlady během relace chatu v reálném čase. Pro další informace, nás neváhejte kontaktovat.

Zdroj: Oracle