model und messages mit zwei
GLiNER-spezifischen Details:
- Fügen Sie ein
schemaauf oberster Ebene hinzu, das Extraktion, Klassifikation, strukturierte Datensätze oder Relationen beschreibt. - Parsen Sie den JSON-String in
choices[0].message.content.
Fastino GLiNER Agent Skill
Installieren Sie das GLiNER-Skill in Cursor, Claude Code oder Codex.
API-Vertrag ansehen
Alle Anfrage- und Antwortfelder.
GLiNER-Rezepte
Getestete Anfragen für Entitäten, Klassifikation und Relationen.
Ihren API-Schlüssel einrichten
Setzen Sie Ihren Schlüssel als Umgebungsvariable, damit die folgenden Beispiele unverändert funktionieren:Anfrage
Eine inferenzfähige Basismodell-ID oder die UUID eines abgeschlossenen, bereitstellbaren
Fastino-Trainingsjobs.
Eine nicht leere Liste von Nachrichten. Für die GLiNER-Inferenz platzieren Sie den zu
analysierenden Text im
content einer Benutzernachricht.Definiert benutzerdefinierte Encoder-Aufgaben. Für klassische Extraktion und Klassifikation
geben Sie ein Dictionary an, das einen oder mehrere der Schlüssel
entities,
classifications, structures oder relations enthält. Für eingeschränkte Klassifikation
geben Sie die native Form aus version, tasks und constraints an, die unten dokumentiert
ist. Lassen Sie schema nur weg, wenn das ausgewählte Modell eine konfigurierte
Standardaufgabe hat. Jeder Eintrag in klassischen classifications benötigt mindestens zwei
Labels.Ein flaches Array von Entitätslabels ist veraltet. Verwenden Sie immer die Dictionary-Form.Konfidenzschwelle von
0 bis 1. Niedrigere Werte begünstigen Recall; höhere Werte
begünstigen Precision.Bei Encoder-Modellen Text, der die
max_input_tokens des Modells überschreitet,
abschneiden, statt input_too_long zurückzugeben. Verwenden Sie diese Option
nur, wenn der Verlust des Endes der Eingabe akzeptabel ist.x_fastino.truncated gleich true, und Entitäten nach
der Schnittstelle werden nicht zurückgegeben. Die Nutzung zählt weiterhin den
vollständigen übermittelten Text. Eingaben mit mehr als 50.000 Zeichen werden
vor dem Kürzen abgelehnt. Die Option gilt für Basis-, LoRA- und vollständig
feinabgestimmte Encoder-Modelle.
Entitäts-Schema
Verwenden Sie nach Möglichkeit beschreibende Entitätsdefinitionen:Klassifikations-Schema
task, labels, multi_label, cls_threshold und top_k. Bei GLiNER-2.5-Decide muss labels eine Liste von Strings sein, und top_k hat derzeit keine Wirkung; siehe Klassifikation.
Schema für eingeschränkte Klassifikation
GLiNER2.5 Multi kann zusammenhängende Klassifikationsaufgaben unter harten Constraints gemeinsam dekodieren. Prüfen Sie vor der Verwendung dieses Schemas, ob das ausgewählte Modell inGET /v1/base-models unter encoder_features den Eintrag constrained_classification meldet.
Aufgaben verwenden Felder für Kardinalität und Reihenfolge:
- Einzelne Antwort:
min_labels: 1undmax_labels: 1 - Mehrere Antworten: Verwenden Sie
min_labelsund optionalmax_labels - Ordinal: Kardinalität einer einzelnen Antwort plus
ordered: true; die Labels sind von niedrig nach hoch geordnet
labels kann ein String-Array oder ein Objekt sein, das jeder Antwort ihre Beschreibung zuordnet. Eine Aufgabe kann außerdem instruction und examples enthalten, wobei jedes Beispiel ein [text, answer]-Paar ist.
Zu den unterstützten Constraint-Ausdrücken gehören Implies, Excludes, Cardinality, AtLevel, MinLevel und MaxLevel. Bei den Namen der Constraint-Typen wird zwischen Groß- und Kleinschreibung unterschieden. Ordinale Constraints verwenden diese JSON-Formen:
exact_level, minimum_level, maximum_level und bounded_range oben sind erläuternde Bezeichnungen, keine Constraint-Felder. Fügen Sie das jeweilige Constraint-Objekt direkt in das constraints-Array des Schemas ein. Ein begrenzter Bereich ist ein And mit MinLevel und MaxLevel; einen Wire-Typ BetweenLevel gibt es nicht.
Die folgende Anfrage kombiniert Aufgaben mit einzelner Antwort, mit mehreren Antworten und ordinale Aufgaben:
choices[0].message.content hat das eingeschränkte Ergebnis diese Form (die Wahrscheinlichkeitswerte variieren je nach Eingabe und Checkpoint):
safe, doch die Auswahl von prompt_injection macht diese Antwort ungültig. Der eingeschränkte Decoder wählt daher die weniger wahrscheinliche Antwort unsafe und einen Schweregrad von mindestens high. Constraints erzwingen ein gültiges gemeinsames Ergebnis. Sie erhöhen oder rekalibrieren weder die zugrunde liegenden Wahrscheinlichkeiten noch die Konfidenz.
Prüfen Sie immer _meta.feasible. Ein Ergebnis kann ein Best-Effort-Ergebnis statt eines vollständig zulässigen Ergebnisses sein, wenn das Schema widersprüchlich ist oder keine beibehaltene Kandidatenzuweisung alle Regeln erfüllt.
Schema für strukturierte Extraktion
Strukturfelder verwendenfield::type::description-Spezifikationen:
Relations-Schema
Das einfachste Relations-Schema ist eine flache Liste von Relationsnamen:Kombiniertes Schema
Führen Sie mehrere Aufgaben über denselben Text aus, indem Sie die Schlüssel kombinieren:task noch task_type.
Beispiel
model muss aktuell gehostete Inferenz unterstützen. Verwenden Sie den
Live-Modellkatalog, statt anzunehmen, dass jedes Hugging-Face-Checkpoint verfügbar ist:
Antwort
Der Endpunkt gibt einen Chat-Completion-Umschlag zurück. Das GLiNER-Ergebnis wird als JSON-String inchoices[0].message.content serialisiert:
choices[0].message.content als JSON, bevor Sie die Aufgabenergebnisse lesen. Wenn
store=true, identifiziert x_fastino.inference_id die persistierte Inferenz.
x_fastino.default_schema_applied ist true, wenn eine Encoder-Anfrage sowohl schema als
auch response_format ausgelassen hat und Fastino den Katalogstandard des ausgewählten Modells verwendet hat. Prüfen Sie
x_fastino.truncated, bevor Sie eine Extraktion als vollständig behandeln.
Asynchrone Jobs für sehr große Eingaben
Verwenden Sie die asynchrone GLiNER-Schnittstelle, wenn eine Anfrage eine Million Token überschreitet und das synchrone Timeout überdauern könnte. Senden Sie die native GLiNER-Payload an:text und schema; außerdem werden threshold, include_confidence
und include_spans akzeptiert. Eine erfolgreiche Übermittlung gibt HTTP 202 mit job_id,
status, estimated_tokens und message zurück.
Fragen Sie die zurückgegebene Job-ID ab, bis status den Wert complete oder error hat:
result und token_usage. Jobs sind auf den authentifizierten
Benutzer beschränkt. Verwenden Sie daher denselben API-Schlüssel für Übermittlung und Abfrage.
Wiederholte Eingaben
Der Endpunkt akzeptiert eine Konversation pro Anfrage. Die Batch-Formtext: string[] des
entfernten nativen Endpunkts wird nicht unterstützt. Senden Sie bei mehreren Eingaben separate Anfragen
gleichzeitig.
Fehler
Das gemeinsame Wiederholungsmuster finden Sie unter Kaltstarts und Wiederholungsversuche.

