Freigeben über


Übersetzen von Text mit der Übersetzer-API

Die Übersetzer-API ist eine experimentelle Web-API, mit der Sie Text zwischen verschiedenen Sprachen mithilfe eines in Microsoft Edge integrierten Expertenmodells aus JavaScript-Code in Ihrer Website oder Browsererweiterung übersetzen können.

Einführungsinformationen zur Übersetzer-API finden Sie unter:

Ausführlicher Inhalt:

Verfügbarkeit der Übersetzer-API

Die Übersetzer-API ist als Entwicklervorschau in den Microsoft Edge Canary- oder Dev-Kanälen ab Version 143.0.3636.0 verfügbar. Um einen Vorschaukanal von Microsoft Edge (Beta, Dev oder Canary) herunterzuladen, wechseln Sie zu Microsoft Edge-Insider werden.

Vorteile der Übersetzer-API

Die Übersetzer-API verwendet ein Expertenmodell für die maschinelle Übersetzung, das auf demselben Gerät ausgeführt wird, auf dem die Eingaben und Ausgaben des Modells verwendet werden (d. a. lokal). Dieser Ansatz bietet im Vergleich zu cloudbasierten Lösungen die folgenden Vorteile:

  • Reduzierte Kosten: Für die Verwendung eines Cloudübersetzungsdiensts fallen keine Kosten an.

  • Netzwerkunabhängigkeit: Abgesehen vom anfänglichen Modelldownload gibt es keine Netzwerklatenz, wenn diese API zum Übersetzen von Text verwendet wird, und die API kann auch verwendet werden, wenn das Gerät offline ist.

  • Verbesserter Datenschutz: Die Dateneingabe in das Modell verlässt nie das Gerät und wird nicht zum Trainieren von KI-Modellen gesammelt.

Die Übersetzungsmodelle für angegebene Sprachpaare werden bei der ersten Verwendung der API in Microsoft Edge heruntergeladen und anschließend für alle Websites im Browser freigegeben. Der Zugriff auf die Modelle erfolgt über eine einfache Web-API, die keine Kenntnisse über Frameworks von Drittanbietern erfordert und keine Ki- oder Machine Learning-Kenntnisse (ML) erfordert.

Alternativen zur Übersetzer-API

Sie können Netzwerkanforderungen mit komplexeren Funktionen, einschließlich neuronaler Übersetzung, an cloudbasierte Übersetzungsdienste senden. Weitere Informationen finden Sie in der Dokumentation Azure AI Translator.

Als Alternative auf dem Gerät bietet die Eingabeaufforderungs-API mehr benutzerdefinierte, mehrsprachige Eingabeaufforderungsszenarien mit einem kleinen Sprachmodell, das in Microsoft Edge integriert ist. Weitere Informationen finden Sie unter Eingabeaufforderung für ein integriertes Sprachmodell mit der Eingabeaufforderungs-API.

Haftungsausschluss

Wie andere Modelle für maschinelle Übersetzungen können die Expertenmodelle in Microsft Edge möglicherweise Übersetzungen erzeugen, die unfair, unzuverlässig oder anstößig sind. Weitere Informationen zu den Einschränkungen dieser Modelle für maschinelle Übersetzungen finden Sie unter Einschränkungen in Azure Ki-Übersetzertransparenzhinweis.

Modellverfügbarkeit

Ein erster Download des Modells ist erforderlich, wenn eine Website zum ersten Mal eine integrierte KI-API aufruft. Sie können den Modelldownload überwachen, indem Sie die Option monitor verwenden, wenn Sie eine neue Translator-API-Sitzung erstellen. Siehe Überwachen des Fortschritts des Modelldownloads (Monitor:) weiter unten.

Aktivieren der Übersetzer-API

Um die Übersetzer-API in Microsoft Edge zu verwenden, legen Sie zwei Flags wie folgt fest:

  1. Wechseln Sie in Microsoft Edge zu edge://version, und stellen Sie sicher, dass Sie Version 143.0.3636.0 oder höher von Microsoft Edge verwenden, z. B. den Canary- oder Dev-Vorschaukanal von Microsoft Edge.

    Um einen Vorschaukanal von Microsoft Edge (Beta, Dev oder Canary) herunterzuladen, wechseln Sie zu Microsoft Edge-Insider werden.

  2. Öffnen Sie in dieser Version von Microsoft Edge eine neue Registerkarte oder ein neues Fenster, und wechseln Sie zu edge://flags.

  3. Beginnen Sie oben im Textfeld Suchflags mit der Eingabe der Übersetzungs-API:

    Seite

    Die folgenden Flags sind aufgeführt:

    • API für die experimentelle Übersetzung : Aktiviert die Sprachübersetzungs-API auf dem Gerät. Weitere Informationen finden Sie unter Explainer für die Übersetzer- und Spracherkennungs-APIs.

      Dieser Eintrag zeigt #edge-translation-apian, was zu edge://flags/#edge-translation-apigeht.

    • Streaming der Übersetzungs-API nach Satz : Wenn diese Option aktiviert ist, teilt die Übersetzungs-API Text nach Satz auf und streamt jeden übersetzten Satz, während er abgeschlossen ist, um eine bessere Reaktionsfähigkeit für die Übersetzung langer Texte zu bieten.

      Dieser Eintrag zeigt #edge-translation-api-streaming-by-sentencean, was zu edge://flags/#edge-translation-api-streaming-by-sentencegeht.

  4. Wählen Sie unter Experimentelle Übersetzungs-APIdie Option Aktiviert aus.

  5. Wählen Sie unter Übersetzungs-API-Streaming nach Satz aufgeteiltdie Option Aktiviert aus.

    Unten rechts wird die Schaltfläche Neu starten angezeigt.

  6. Klicken Sie auf die Schaltfläche Neu starten .

Sehen Sie sich ein funktionierendes Beispiel an

So sehen Sie die Übersetzer-API in Aktion und überprüfen vorhandenen Code, der diese APIs verwendet:

  1. Aktivieren Sie die Übersetzer-API, wie oben beschrieben.

  2. Wechseln Sie in Microsoft Edge Canary oder Dev in einem neuen Fenster oder einer neuen Registerkarte zum Translator-API-Playground .

  3. Überprüfen Sie im Informationsbanner oben die status: Zunächst lautet es: On-Device-API und Modell herunterladbar. Das Modell für ein angegebenes Sprachpaar wird heruntergeladen, wenn die API zum ersten Mal verwendet wird.

  4. Geben Sie im Feld Zu übersetzende Text den zu übersetzenden Text ein, und ändern Sie optional die Werte für Quellsprache und Zielsprache .

  5. Klicken Sie auf die Schaltfläche Übersetzen .

    Wenn das Modell für das angegebene Sprachpaar noch nicht heruntergeladen wurde, wird der Download gestartet.

    Statusanzeige, die den Fortschritt des Modelldownloads anzeigt

    Wenn der Modelldownload nicht gestartet wird, starten Sie Microsoft Edge neu, und versuchen Sie es erneut.

    Nachdem das Modell heruntergeladen wurde, beginnt das Modell mit der Generierung einer Übersetzung des Texts aus der Ausgangssprache in die Zielsprache.

    Die Ausgabe wird im Antwortabschnitt der Seite generiert:

    Die Demoseite

  6. Um die Generierung der Antwort zu beenden, klicken Sie auf die Schaltfläche Beenden .

Siehe auch:

  • /built-in-ai/ – Quellcode und Infodatei für die Demo zu integrierten KI-Playgrounds.

Verwenden der Übersetzer-API

In den nächsten Abschnitten geht es um die Verwendung der Übersetzer-API.

Überprüfen, ob die Übersetzer-API aktiviert ist

Bevor Sie die Übersetzer-API im Code Ihrer Website verwenden, überprüfen Sie, ob die API aktiviert ist, indem Sie das Vorhandensein des Translator Objekts testen:

if (!Translator) {
  // The Translator API is not available.
} else {
  // The Translator API is available.
}

Überprüfen, ob das Modell verwendet werden kann (availability())

Für die Übersetzer-API gelten die folgenden Anforderungen:

  • Die Übersetzung von der angegebenen Quellsprache in die angegebene Zielsprache muss unterstützt werden.
  • Das Übersetzungsmodell für das Sprachpaar und die Modelllaufzeit muss bereits von Microsoft Edge heruntergeladen worden sein.

Rufen availability()Sie auf, um zu überprüfen, ob die API verwendet werden kann:

const availability = await Translator.availability({
  sourceLanguage: "en",
  targetLanguage: "es"
});

if (availability == "unavailable") {
  // The model is not available.
}

if (availability == "downloadable" || availability == "downloading") {
  // The model can be used, but it needs to be downloaded first.
}

if (availability == "available") {
  // The model is available and can be used.
}

sourceLanguage Verwenden Sie für und targetLanguagedie Sprachcodes in Tags zum Identifizieren von Sprachen als Zeichenfolgen.

Erstellen einer neuen Sitzung (create())

Beim Erstellen einer Sitzung wird der Browser angewiesen, das Sprachmodell in den Arbeitsspeicher zu laden, damit es verwendet werden kann. Bevor Sie Text übersetzen können, erstellen Sie mithilfe der create() -Methode eine neue Sitzung, und geben Sie die Quell- und Zielsprachen an:

// Create a Translator session.
const session = await Translator.create({
  sourceLanguage: "en",
  targetLanguage: "es"
});

Sie können den Download des Modells überwachen, indem Sie die monitor -Option wie folgt verwenden.

Überwachen des Fortschritts des Modelldownloads (monitor:)

Sie können den Fortschritt des Modelldownloads verfolgen, indem Sie die monitor Option verwenden. Dies ist nützlich, wenn das Modell noch nicht vollständig auf das Gerät heruntergeladen wurde, auf dem es verwendet wird, um die Benutzer Ihrer Website darüber zu informieren, dass sie warten sollten.

// Create a Translator session with the monitor option to monitor the model
// download.
const session = await Translator.create({
  sourceLanguage: "en",
  targetLanguage: "es",
  monitor: m => {
    // Use the monitor object argument to add an listener for the 
    // downloadprogress event.
    m.addEventListener("downloadprogress", event => {
      // The event is an object with the loaded and total properties.
      if (event.loaded == event.total) {
        // The model is fully downloaded.
      } else {
        // The model is still downloading.
        const percentageComplete = (event.loaded / event.total) * 100;
      }
    });
  }
});

Ausführen der Übersetzer-API (translate())

Nachdem Sie eine Modellsitzung erstellt haben, können Sie Text übersetzen. Die Übersetzungs-API bietet zwei Methoden zum Übersetzen von Text:

  • translatorSession.translate() gibt eine Zusage zurück, die aufgelöst wird, nachdem der Text übersetzt wurde.
  • translatorSession.translateStreaming() gibt sofort ein Streamobjekt zurück, mit dem Sie den übersetzten Text token-für-token anzeigen können, während er generiert wird.

Details finden Sie unten.

Warten Sie, bis der Text übersetzt wurde (translate())

Übersetzt Text. Gibt eine Zusage zurück, die aufgelöst wird, nachdem der Text übersetzt wurde.

Verwenden Sie die asynchrone Methode, um zu warten, bis der Text vollständig übersetzt wurde, bevor Sie mit der translate() Codeausführung fortfahren. Diese Methode gibt eine Zusage zurück, die aufgelöst wird, nachdem die API die Textgenerierung abgeschlossen hat:

// Create a Translator session.
const translatorSession = await Translator.create({
  sourceLanguage: "en",
  targetLanguage: "es"
});

// Translate the text and wait for the translation to be done.
const translatedText = await translatorSession.translate(sourceText);

// Use the translation.
console.log(translatedText);

Anzeigen von Token während der Generierung (translateStreaming())

Übersetzt Text. Gibt sofort ein Streamobjekt zurück, mit dem Sie den übersetzten Text token-by-token anzeigen können, während er generiert wird.

Verwenden Sie diese Streamingmethode, um die Token anzuzeigen, während sie generiert werden. Die translateStreaming() Methode gibt sofort ein Streamobjekt zurück. Verwenden Sie das zurückgegebene Streamobjekt, um die Antworttoken anzuzeigen, während sie generiert werden:

// Create a Translator session.
const translatorSession = await Translator.create({
  sourceLanguage: "en",
  targetLanguage: "es"
});

// Ask the model to translate text.
const stream = translatorSession.translateStreaming(sourceText);

// Use the stream object to display tokens that are generated by the model, as
// they are being generated.
for await (const chunk of stream) {
  console.log(chunk);
}

Textübersetzung beenden (abortController.signal)

Verwenden Sie ein AbortController Signal, um die Übersetzung von Text zu beenden, bevor die von den obigen Methoden zurückgegebene Zusage oder der Stream aufgelöst oder beendet wurde:

// Create a Translator session.
const translatorSession = await Translator.create({
  sourceLanguage: "en",
  targetLanguage: "es"
});

// Create an AbortController object.
const abortController = new AbortController();

// Use the model session to translate some text and pass the AbortController
// object by using the signal option.
const stream = translatorSession.translateStreaming(sourceText, {
    signal: abortController.signal
});

// Later, perhaps when the user presses a "Stop" button, call the abort()
// method on the AbortController object to stop translating text.
abortController.abort();

Zerstören einer Sitzung (destroy())

Löschen Sie nach dem Übersetzen von Text die Sitzung, um dem Browser mitzuteilen, dass Sie das Sprachmodell nicht mehr benötigen, damit das Modell aus dem Arbeitsspeicher entladen werden kann.

Sie können eine Sitzung auf zwei verschiedene Arten zerstören:

  • Mithilfe der destroy() -Methode.
  • Mithilfe von AbortController.

Details finden Sie unten.

Zerstören einer Sitzung durch Aufrufen von destroy()

So zerstören Sie eine Sitzung, indem Sie mit einer Sitzung aufrufen destroy()Translator :

const session = await Translator.create({
  sourceLanguage: "en",
  targetLanguage: "es"
});

// Later, destroy the session by using the destroy method.
session.destroy();

Zerstören einer Sitzung mithilfe von AbortController

Um eine Sitzung durch Erstellen eines -Objekts zu AbortController zerstören, erstellen Sie eine Translator Sitzung, und rufen Sie dann auf abort():

// Create an AbortController object.
const controller = new AbortController();

// Create a Translator session and pass the 
// AbortController object by using the signal option.
const session = await Translator.create({
  sourceLanguage: "en",
  targetLanguage: "es",
  signal: controller.signal
});

// Later, perhaps when the user interacts with the UI, destroy the session by
// calling the abort() function of the AbortController object.
controller.abort();

Feedback senden

Wir sind sehr daran interessiert, mehr über die Vielzahl von Szenarien zu erfahren, für die Sie die Übersetzer-API verwenden möchten, über Probleme mit der API oder das Expertenmodell und darüber, ob andere aufgabenspezifische integrierte APIs nützlich sind.

Um Feedback zu Ihren Szenarien und den Aufgaben zu senden, die Sie ausführen möchten, fügen Sie bitte einen Kommentar zum Feedbackproblem der Übersetzer-API hinzu.

Wenn Sie probleme bei der Verwendung der API feststellen, melden Sie dies im Repository.

Sie können auch an der Diskussion über den Entwurf der Übersetzer-API im W3C Web Machine Learning Working Group-Repository mitwirken.

Siehe auch

Microsoft Edge abrufen:

GitHub:

Azure-Dokumentation:

Demosrepository: