LanguageModel: availability() statische Methode
Eingeschränkt verfügbar
Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.
Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.
Die availability() statische Methode der LanguageModel-Schnittstelle gibt einen Statusanzeiger zurück, der angibt, ob das Sprachmodell des Browsers einen gegebenen Satz von Konfigurationsoptionen unterstützt, ohne eine Sitzung zu erstellen oder einen Download auszulösen.
Verwenden Sie availability(), bevor Sie LanguageModel.create() aufrufen, um festzustellen, ob die gewünschte Konfiguration unterstützt wird. Dies vermeidet, dass eine Sitzung nur gestartet wird, um dann zu scheitern, und ermöglicht es Ihnen, den Nutzern eine sinnvolle Alternative anzubieten, wenn die Konfiguration nicht unterstützt wird.
Syntax
LanguageModel.availability()
LanguageModel.availability(options)
Parameter
optionsOptional-
Ein Objekt, das den grundlegenden Satz von Optionen repräsentiert, der verwendet wird, um die Unterstützung des Sprachmodells zu überprüfen. Die Eigenschaften umfassen:
expectedInputsOptional-
Ein Array von Objekten, das die erforderlichen Eingabemodalitäten und -sprachen repräsentiert. Jedes Objekt kann die folgenden Eigenschaften enthalten:
type-
Ein enumerierter Wert, der den Inhaltstyp angibt. Muss einer der folgenden sein:
text-
Reiner Textinhalt.
image-
Bildinhalt.
audio-
Audioinhalt.
tool-call-
Ein vom Modell ausgegebener Werkzeugaufruf.
tool-response-
Das Ergebnis eines Werkzeugaufrufs.
languagesOptional-
Ein Array von Zeichenfolgen, das BCP 47-Sprachtags enthält (zum Beispiel
en,fr,ja), die Sprachen repräsentieren, die die Sitzung voraussichtlich behandelt. Der Benutzeragent verwendet diese Liste, um festzustellen, ob das Modell die angegebenen Sprachen unterstützt.
expectedOutputs-
Ein Array von Objekten, das die erforderlichen Ausgabemodalitäten und -sprachen repräsentiert. Jedes Objekt kann die folgenden Eigenschaften enthalten:
type-
Ein enumerierter Wert, der den Inhaltstyp angibt. Muss einer der folgenden sein:
text-
Textueller Inhalt.
image-
Bildinhalt.
audio-
Audioinhalt.
tool-call-
Ein vom Modell ausgegebener Werkzeugaufruf.
tool-response-
Das Ergebnis eines Werkzeugaufrufs.
languagesOptional-
Ein Array von Zeichenfolgen, das BCP 47-Sprachtags enthält (zum Beispiel
en,fr,ja), die die Sitzung ausgeben soll.
tools-
Ein Array von Objekten, das verfügbare Werkzeuge für die KI repräsentiert. Jedes Objekt kann die folgenden Eigenschaften enthalten:
name-
Eine Zeichenfolge, die dem Werkzeug einen eindeutigen Namen gibt, mit dem das Modell es bei der Ausgabe eines Werkzeugaufrufs referenziert.
description-
Eine Beschreibung, was das Werkzeug tut. Das Modell verwendet diese Beschreibung, um zu entscheiden, wann und ob das Werkzeug aufgerufen werden soll.
inputSchema-
Ein Objekt, das ein JSON Schema enthält, das die Eingabeparameter des Werkzeugs beschreibt. Das Modell verwendet dieses Schema, um die Argumente zu konstruieren, die es der
execute-Funktion des Werkzeugs übergibt. execute-
Eine Rückruffunktion, die der Benutzeragent aufruft, wenn das Modell dieses Werkzeug aufruft. Es kann alle vom Modell bereitgestellten Argumente wie erforderlich empfangen und gibt ein
Promisezurück, das mit einerStringaufgelöst wird, die das Ergebnis des Werkzeugs darstellt.
Rückgabewert
Ein Promise, das mit einem der unten aufgeführten Werte aufgelöst wird.
available-
Das Modell ist bereit zur Verwendung mit den angegebenen Optionen.
downloadable-
Das Modell kann die gegebenen Optionen unterstützen, benötigt jedoch zusätzliche Daten zum Herunterladen, um dies zu ermöglichen. Der Download hat noch nicht begonnen.
downloading-
Das Modell kann die gegebenen Optionen mit einem zusätzlichen Daten-Download unterstützen. Der Download ist derzeit im Gange.
-
Das Modell kann die angegebenen Optionen nicht unterstützen oder der Benutzeragent kann die Verfügbarkeit nicht bestimmen, beispielsweise aufgrund eines transienten Aktivierungsfehlers. In diesem Fall sollte der Anrufer erneut versuchen oder auf eine alternative Implementierung zurückgreifen.
Ausnahmen
InvalidStateErrorDOMException-
Ausgelöst, wenn das aufrufende Dokument nicht vollständig aktiv ist.
NotAllowedErrorDOMException-
Ausgelöst, wenn die Nutzung der Methode durch eine
language-modelPermissions-Policyblockiert wird.
Beispiele
Siehe auch Verwendung der Prompt API > Überprüfen der Konfigurationsunterstützung und das Vollständige Beispiel auf derselben Seite.
Anfordern von Unterstützung für Eingabe
Dieses Beispiel zeigt, wie man feststellt, ob Text- und Bildeingaben vom Modell unterstützt werden.
const status = await LanguageModel.availability({
expectedInputs: [{ type: "text" }, { type: "image" }],
});
Überprüfen der Verfügbarkeit für eine bestimmte Sprache
Dieses Beispiel prüft, ob das Modell Englisch unterstützt, bevor es darum gebeten wird, japanischen Text ins Englische zu übersetzen.
const status = await LanguageModel.availability({
expectedInputs: [{ type: "text", languages: ["ja"] }],
expectedOutputs: [{ type: "text", languages: ["en"] }],
});
if (status === "available") {
const session = await LanguageModel.create({
expectedInputs: [{ type: "text", languages: ["ja"] }],
expectedOutputs: [{ type: "text", languages: ["en"] }],
});
const translation = await session.prompt([
{
role: "user",
content: "Translate the following text into English",
},
{
role: "user",
content: "桜はきれいです",
},
]);
console.log(translation);
}
Überprüfen der Verfügbarkeit für multimodale Eingabe
Multimodale Eingaben beschreiben Sitzungen, die mehr als eine Eingabeart verwenden können, wie zum Beispiel Text und Bilder. Da die Verfügbarkeit von Eingabetypen je nach Sprachmodell variiert, sollte Ihr Code die Verfügbarkeit der gewünschten Modi prüfen, bevor eine Sitzung erstellt wird. Hier wird ein Beispiel gezeigt.
const availability = await LanguageModel.availability({
expectedInputs: [{ type: "text" }, { type: "image" }],
expectedOutputs: [{ type: "text", languages: ["en"] }],
});
if (availability === "unavailable") {
console.warn("This configuration is not supported.");
} else {
const session = await LanguageModel.create({
expectedInputs: [{ type: "text" }, { type: "image" }],
expectedOutputs: [{ type: "text", languages: ["en"] }],
});
}
Spezifikationen
| Spezifikation |
|---|
| Prompt API> # dom-languagemodel-availability> |