BAAI: bge-m3
BAAI BGE-M3 unterstützt dichte, lexikalisch dünnbesetzte und Mehrvektor-Suche über mehr als 100 Sprachen hinweg. Seine dichte Ausgabe hat 1024 Dimensionen; sein Fenster von 8192 Token umfasst Sätze bis hin zu längeren Dokumenten, ohne eine vorgeschriebene Anfrageanweisung zu benötigen.
Über das Modell
Diese Beschreibung erläutert die Fähigkeiten des Modells. Die über Ailoot verfügbaren Eingaben, Ausgaben und Optionen sind unten für die ausgewählte Methode aufgeführt.
BGE-M3 ist das mehrsprachige Retrieval-Modell von BAAI, das auf drei Arten von Vielseitigkeit ausgelegt ist: mehrere Suchfunktionen, mehrere Sprachen und unterschiedliche Eingabelängen. Der Hersteller dokumentiert die Unterstützung von mehr als hundert Sprachen und Eingaben bis zu 8192 Tokens. Das einheitliche Modell kann dichte Vektoren, dünn besetzte lexikalische Gewichte und Multi-Vektor-Repräsentationen liefern, sodass eine Suchlösung mehrere Arten von Hinweisen auswählen oder kombinieren kann.
Drei Repräsentationen für die Informationssuche
Der dichte Modus bildet einen Text auf einen einzelnen 1024-dimensionalen Vektor ab. Er unterstützt den Vergleich der Bedeutung, die durch eine Anfrage und eine Passage repräsentiert wird. Der dünn besetzte Modus weist den im Text vorkommenden Tokens Gewichte für lexikalischen Abgleich zu. Der Multi-Vektor-Modus repräsentiert einen Text mit mehreren Vektoren und verwendet eine Interaktion nach ColBERT-Art, um Anfrage und Dokument auf einer feineren Ebene zu vergleichen.
Diese Ausgaben erfüllen unterschiedliche Rollen in einem Suchindex. Ein dichter Vektor liefert eine Repräsentation für eine Passage; eine dünn besetzte Zuordnung von Tokens zu Gewichten bewahrt lexikalische Signale; mehrere Vektoren liefern eine andere Vergleichsstruktur. Die Herstellerbeispiele zeigen die Rückgabe der ausgewählten Repräsentationen und die Berechnung von Werten für Textpaare. Behandeln Sie die gewählte Repräsentation und das Bewertungsverfahren als bewussten Bestandteil der Suchaufgabe.
Mehrsprachiger Text und Eingabevorbereitung
BGE-M3 erfordert nicht das Hinzufügen der Suchinstruktion, die frühere BGE-Modelle verwenden. Bereiten Sie die Anfrage und die tatsächlichen Quellpassagen direkt vor. Eine mehrsprachige Wissenssammlung kann jede Passage in ihrer Originalsprache zusammen mit Dokumentkennung und Locale speichern. Verwenden Sie echte Nutzerfragen aus der vorgesehenen Sprachmischung, wenn Sie die Ergebnisse prüfen.
Eine praktische Aufgabe ist die Suche in Richtlinienerklärungen, Produkthilfen oder technischer Dokumentation in mehreren Sprachen. Bewahren Sie Namen, Modellnummern und Begriffe, die für die Frage wichtig sind. Eine lexikalische Repräsentation kann helfen, Übereinstimmungen bei diesen Begriffen zu erhalten, während eine dichte Repräsentation semantische Hinweise liefert. Die abgerufene Passage sollte den Text und die Fundstelle enthalten, die Leser prüfen können.
Längere Dokumente und Granularität
Das Eingabefenster von 8192 Tokens ermöglicht dem Modell die Repräsentation von Material von kurzen Sätzen bis zu längeren Dokumenten. Wählen Sie die Granularität danach, welche Antwort die Suche liefern soll. Ein vollständiger Abschnitt kann eine Definition und ihre Ausnahmen bewahren; eine kleinere Passage kann das Auffinden einer konkreten Anweisung erleichtern. Ein langes Fenster ermöglicht diese Entscheidungen, aber der Vektor bleibt dem tatsächlich kodierten Material zugeordnet.
Verknüpfen Sie jede Passage mit ihrem übergeordneten Dokument und dessen Version. Bewahren Sie bei einem umfangreichen Bericht die Überschrift und die umgebende Erklärung zur relevanten Zahl oder Schlussfolgerung. Verlassen Sie sich nicht allein auf den Titel eines Suchtreffers, wenn die Belege im Haupttext stehen. Erhalten Sie bei Änderungen der Quelle ausreichend Metadaten, um die zugehörigen Suchrepräsentationen zu aktualisieren.
Hybride Bewertungen und nachgelagerte Nutzung
Der Hersteller empfiehlt hybride Informationssuche mit einem anschliessenden separaten Reranking-Schritt. Seine Beispiele berechnen dichte, dünn besetzte und Multi-Vektor-Werte und bilden gewichtete Kombinationen. Wählen Sie die Kombination anhand der Fragen und des Vokabulars der Sammlung; ein im Beispiel gezeigtes Gewicht ist keine universelle Einstellung für jeden Korpus.
Ein nützliches Ergebnis ist eine Kandidatenmenge, deren Quellpassagen verfügbar bleiben und deren Repräsentations- und Rankingverfahren dokumentiert sind. Ein separater Reranker kann diese Menge verfeinern, und eine separate Textgenerierungsstufe kann den Inhalt der Passagen verwenden. Die dünn besetzten und Multi-Vektor-Fähigkeiten von BGE-M3 sind Modi des Herstellermodells; dichtes Embedding, lexikalische Ausgabe und Paarbewertung sind unterschiedliche Artefakte und keine austauschbaren Arrays.
Ailoot Ultra · Embeddings POST /v1/embeddings baai/bge-m3
baai/bge-m3Einstieg
BAAI BGE-M3 unterstützt dichte, lexikalisch dünnbesetzte und Mehrvektor-Suche über mehr als 100 Sprachen hinweg. Seine dichte Ausgabe hat 1024 Dimensionen; sein Fenster von 8192 Token umfasst Sätze bis hin zu längeren Dokumenten, ohne eine vorgeschriebene Anfrageanweisung zu benötigen.
- Zulässige Eingaben
- Text · token_ids
- Ergebnisse
- embedding
In Ailoot verfügbar · Eingaben und Methoden
Ailoot Ultra · Embeddings POST /v1/embeddings
- Eingabe
text,token_ids- Ausgabe
embedding- Kontext
- 8'194 tokens
- Ausgabeformat
- json
| Feld | Typ | Anforderung | Werte und Limits | Standard |
|---|---|---|---|---|
Feldmodel | Typstring | AnforderungErforderlich | Werte und Limits baai/bge-m3 | Standard— |
Feldinput | Typstring|string[]|integer[]|integer[][] | AnforderungErforderlich | Werte und Limits Mindestanzahl Elemente: 1 Bedingungen: Nicht leerer, homogener Batch. Token-IDs sind nichtnegative Ganzzahlen. Eingabebudget: Maximum: 8'194 · Texteinheit: UTF8-Bytes · Tokeneinheit: Elemente des Token-Arrays | Standard— |
Feldencoding_format | Typstring | AnforderungOptional | Werte und Limits float | Standardfloat |
Felddimensions | Typinteger | AnforderungNicht unterstützt | Werte und Limits Minimum: 1 | Standard— |
Felduser | Typjson_value | AnforderungOptional | Werte und Limits Bedingungen: Der Quellcode erlaubt dieses JSON-Metadatenfeld; die genaue Semantik beim vorgelagerten Anbieter ist modellspezifisch. | Standard— |
Feldsession_id | Typjson_value | AnforderungOptional | Werte und Limits Bedingungen: Der Quellcode erlaubt dieses JSON-Metadatenfeld; die genaue Semantik beim vorgelagerten Anbieter ist modellspezifisch. | Standard— |
Feldtrace | Typjson_value | AnforderungOptional | Werte und Limits Bedingungen: Der Quellcode erlaubt dieses JSON-Metadatenfeld; die genaue Semantik beim vorgelagerten Anbieter ist modellspezifisch. | Standard— |
Feldprovider | Typobject | AnforderungOptional | Werte und Limits Bedingungen: provider.options abgelehnt | Standard— |
Kombinationen von Eingabematerialien
text_to_embedding
Methodenparameter und Lebenszyklus
| Parameter | Vertrag |
|---|---|
Parametercontent_type | Vertragapplication/json |
Parameterrequired | Vertragmodel, input |
Parameterinput_shapes | Vertragstring, string[], nonnegative_integer_token_array, nonnegative_integer_token_array[] |
Parameterencoding_format | Vertragfloat |
Parameterdimensions_override | Vertragfalse |
Parametermax_input_budget_units | Vertrag8194 |
Parametermultimodal_objects | Vertragfalse |
Parametermaterial_types | Vertragtext, token_ids |
Lebenszyklus: synchronous_json
Jeden Vektorindex und jede Dimension beibehalten.
Ein multimodaler Modellname erlaubt auf genau diesem Pfad keine Bildobjekte.
Tarife
Tarifangaben erweitern die Anfrageoptionen nicht. Unterstützte Parameter stehen bei der ausgewählten Methode.
- Schnellmodus
- Standardtarif Wenn der Schnellmodus ausgewählt ist
- Flex-Modus
- Standardtarif Wenn der Modus flex ausgewählt ist
- Maximaler Denkaufwand
- Standardtarif Wenn beim maximalen Denkaufwand die Standardanpassung (default) verwendet wird
Ailoot-Tarife
Preise nach Konfiguration
| Konfiguration | Tarifstaffel | Gebühr |
|---|---|---|
| KonfigurationBasistarife für Token | TarifstaffelGrundtarif | Gebühr Eingabe · Eingabetoken $0.00004 / 1K Tokens Ausgabe · Ausgabetoken $0 / 1K Tokens Eingabe · Cache lesen — / 1K Tokens Eingabe · Cache schreiben — / 1K Tokens Eingabe · Cache schreiben, 1 Stunde — / 1K Tokens |
Ailoot reserviert vor einer Anfrage einen geschätzten Betrag. Nach dem Ergebnis rechnet Ailoot die endgültige Gebühr anhand des gemessenen Verbrauchs ab. Bei Streaming erfolgt die Abrechnung anhand des abschliessenden Verbrauchsdatensatzes. So funktionieren Reservierung und Abrechnung →
Beispielanfragen
Ailoot Ultra · Embeddings
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "baai/bge-m3", "input": ["First document", "Second document"]}')
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("data",[]): print(json.dumps({"index":x.get("index"),"embedding":x.get("embedding")}))
PY_RESULT
from openai import OpenAI
import os
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.embeddings.create(model='baai/bge-m3',input=["First document","Second document"])
print(result)
for item in result.data:print(item.index,item.embedding)
Ergebnisse abrufen und speichern
Ailoot Ultra · Embeddings
json
Alle fertiggestellten Ergebnisse aufbewahren
Bewahren Sie jede vollständig zurückgegebene Antwort, Datei und jeden Inhaltsteil auf.
Jeden Vektor mit seinem Index beibehalten. Die Anzahl der Vektoren muss der Anzahl der Eingaben entsprechen; die Dimensionen müssen konsistent sein.
Wenn die ursprüngliche Antwort geprüft werden muss
Es wird kein Endpunkt für Embedding-Aufträge eingeführt.
Antwortfelder
| Feld | Typ |
|---|---|
Feldobject | Typstring |
Feldmodel | Typstring |
Felddata[].index | Typinteger |
Felddata[].embedding | Typfinite float[] |
Feldusage | Typobject |
Fehler und nächste Schritte
| Antwort | Bedingung | Nächster Schritt |
|---|---|---|
Antwort400 · invalid_request_error | BedingungPflichtfelder, Darstellung des Eingabematerials oder Parameterwert ungültig | Nächster SchrittDie angegebenen Felder vor einer neuen Erstellungsanfrage korrigieren. |
Aliasnamen
Modellaliasnamen
Ailoot Ultra baai/bge-m3
Aliasnamen für Methodenpfade
Verwenden Sie die oben angezeigten Methodenpfade.
Zugehörige Aufrufer-IDs
FAQ · BAAI: bge-m3
- Welche Eingaben und Ergebnisse sind verfügbar?
POST /v1/embeddings·baai/bge-m3:text,token_ids→embedding- Welche Felder verwendet die Anfrage?
POST /v1/embeddings·baai/bge-m3:model,input,encoding_format,provider- Welche Grenzen gelten?
POST /v1/embeddings·baai/bge-m3:ctx:8194;input.budget.maximum:8194(UTF8-Bytes);input.min_items:1