Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Verwenden Sie die Übersetzer-API, um Text aus JavaScript-Code in Ihrer Website oder Browsererweiterung zwischen verschiedenen Sprachen zu übersetzen. Die Übersetzer-API basiert auf einem aufgabenspezifischen Modell, das in Microsoft Edge integriert ist.
Ausführlicher Inhalt:
- Einführung
- Verwenden der Spracherkennungs-API mit der Übersetzer-API
- Verfügbarkeit der Übersetzer-API
- Vorteile der Übersetzer-API
- Alternativen zur Übersetzer-API
- Haftungsausschluss
- Modellverfügbarkeit
- Sehen Sie sich ein funktionierendes Beispiel an
- Verwenden der Übersetzer-API
- Überprüfen, ob die Übersetzer-API aktiviert ist
- Überprüfen, ob das Modell verwendet werden kann (availability())
- Erstellen einer neuen Sitzung (create())
- Überwachen des Fortschritts des Modelldownloads (Monitor)
- Ausführen der Übersetzer-API
- Textübersetzung beenden (abortController.signal)
- Zerstören einer Sitzung (destroy())
- Senden von Feedback
- Siehe auch
Einführung
Einführungsinformationen zur Übersetzer-API finden Sie unter:
Verwenden der Spracherkennungs-API mit der Übersetzer-API
Um die Übersetzung von benutzerseitig bereitgestelltem Text in eine andere Sprache zu erleichtern, verwenden Sie die Übersetzer-API in Verbindung mit der Spracherkennungs-API.
Weitere Informationen zur Spracherkennungs-API finden Sie unter Erkennen von Sprachen mit der Spracherkennungs-API.
Verfügbarkeit der Übersetzer-API
Die Übersetzer-API ist in Microsoft Edge 148 oder höher verfügbar.
Vorteile der Übersetzer-API
Die Übersetzer-API verwendet ein aufgabenspezifisches Modell für die maschinelle Übersetzung, das auf demselben Gerät ausgeführt wird, auf dem die Eingaben und Ausgaben des Modells verwendet werden (d. b. 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 KI Übersetzer.
Als Alternative auf dem Gerät kann die Eingabeaufforderungs-API auch mehr benutzerdefinierte, mehrsprachige Eingabeaufforderungsszenarien mit einem kleinen Sprachmodell bedienen, 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 die maschinelle Übersetzung können die aufgabenspezifischen Modelle in Microsoft 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 Übersetzungsmodells auf dem Gerät ist erforderlich, wenn eine Website die Übersetzer-API zum ersten Mal aufruft. Sie können den Modelldownload überwachen, indem Sie die Option monitor verwenden, wenn Sie eine neue Translator-API-Sitzung erstellen. Siehe Überwachen des Status des Modelldownloads (Monitor) weiter unten.
Sehen Sie sich ein funktionierendes Beispiel an
So sehen Sie die Übersetzer-API in Aktion und überprüfen vorhandenen Code, der die API verwendet:
Wechseln Sie in Microsoft Edge 148 oder höher in einem neuen Fenster oder einer neuen Registerkarte zum Translator-API-Playground .
Ü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.
Geben Sie im Feld Zu übersetzende Text den zu übersetzenden Text ein, und ändern Sie optional die Werte für Quellsprache und Zielsprache .
Klicken Sie auf die Schaltfläche Übersetzen .
Wenn das Modell für das angegebene Sprachpaar noch nicht heruntergeladen wurde, wird der Download gestartet.
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:
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 verfügbar 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 Translator.availability()Sie auf, um zu überprüfen, ob die Translator-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 Translator.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.
// Use 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
Nachdem Sie eine Modellsitzung erstellt haben, können Sie Text übersetzen. Die Übersetzungs-API bietet zwei Methoden zum Übersetzen von Text:
-
session.translate()gibt eine Zusage zurück, die aufgelöst wird, nachdem der Text übersetzt wurde. -
session.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 beim Generieren (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 token of stream) {
console.log(token);
}
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 daran interessiert, mehr über Folgendes zu erfahren:
- Der Bereich der Szenarien, für die Sie die Übersetzer-API verwenden.
- Alle Probleme mit der Übersetzer-API.
- Alle Probleme mit den Übersetzungsmodellen auf dem Gerät.
- Gibt an, ob andere aufgabenspezifische, integrierte APIs nützlich wären.
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
- Auffordern eines integrierten Sprachmodells mit der Eingabeaufforderungs-API
- Zusammenfassen, Schreiben und Erneutes Schreiben von Text mit den Schreibunterstützungs-APIs
Github:
- webmachinelearning / translation-api repository.
-
Übersetzungs- und Spracherkennungs-APIs
-
Tags zum Identifizieren von Sprachen : für
sourceLanguageundtargetLanguage.
-
Tags zum Identifizieren von Sprachen : für
Azure-Dokumentation:
- Azure KI Übersetzer-Dokumentation
- Einschränkungen in Azure Hinweis zur Transparenz des KI-Übersetzers.
Demosrepository:
- Translator-API-Playground
- /built-in-ai/ – Quellcode und Infodatei für die Demo zu integrierten KI-Playgrounds.