VoyageAI by MongoDB: voyage-4
voyage-4 bettet Text für allgemeine und mehrsprachige Informationssuche in einen gemeinsamen Vektorraum der Voyage-4-Familie ein. Es unterstützt Eingaben mit 32’000 Tokens, wählbare Ausgaben mit 256–2048 Dimensionen und query/document-Rollen für Suche und RAG.
Ü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.
voyage-4 ist das mittelgrosse Text-Embedding-Modell von Voyage AI in der Voyage-4-Familie. Es wandelt Anfrage- und Dokumenttext in numerische Vektoren für allgemeine und mehrsprachige Informationssuche um. Die prägende Fähigkeit der Familie ist ein gemeinsamer Embedding-Raum: voyage-4, voyage-4-large, voyage-4-lite und voyage-4-nano erzeugen kompatible Repräsentationen, sodass Anfrage- und Dokumentseite einer Suchaufgabe unterschiedliche Modelle dieser Familie verwenden können.
Gemeinsamer Raum und asymmetrische Informationssuche
Der Hersteller bezeichnet die Verwendung verschiedener Anfrage- und Korpusmodelle als asymmetrische Informationssuche. Ein dokumentiertes Muster besteht darin, den Korpus mit voyage-4-large vorzubereiten und ihn mit Anfrage-Embeddings von voyage-4 zu durchsuchen. Der Korpus wird einmal oder bei Änderungen seines Quellmaterials eingebettet, während Anfragevektoren beim Eintreffen von Suchen erzeugt werden. Der gemeinsame Raum erlaubt, das Modell auf der Anfrageseite innerhalb der Familie zu wechseln, ohne den Korpus allein aufgrund dieses Wechsels erneut einbetten zu müssen.
Halten Sie Ausgabedimension und Repräsentation der verglichenen Vektoren kompatibel. Die Aussage zum gemeinsamen Raum betrifft die benannten Voyage-4-Textmodelle; sie wird nicht dadurch belegt, dass zwei nicht verwandte Modelle Arrays derselben Länge zurückgeben. Eine praktische Aufgabe kann daher voyage-4 auf beiden Seiten der Suche verwenden oder seine Anfragevektoren mit einem vorhandenen voyage-4-large-Dokumentindex kombinieren, wenn die Repräsentationseinstellungen übereinstimmen.
Rollen von Anfrage und Dokument
Für die Informationssuche empfiehlt Voyage, Eingabetext als Anfrage oder Dokument zu kennzeichnen. Die Eingaberollenoption liefert vor der Vektorisierung die entsprechende Suchinstruktion. Bereiten Sie Korpuspassagen als Dokumente und die Suchformulierung des Nutzers als Anfrage vor und speichern Sie tatsächlichen Quelltext und Kennungen bei jedem gespeicherten Vektor.
Eine Wissenssuchsammlung kann beispielsweise technische Anweisungen und Produkterklärungen indizieren. Eine Frage dazu, was nach einem fehlgeschlagenen Import geschieht, sollte die Quellpassage zurückgeben, die dieses Verhalten beschreibt. Bewahren Sie Überschriften, relevante Bedingungen und die Quellposition bei der Passage, damit der resultierende Suchtreffer geprüft oder von einem späteren RAG-Antwortschritt verwendet werden kann. Das Embedding ist die numerische Suchrepräsentation; die zugrunde liegende Passage ist der Beleg, der in diesem späteren Schritt verwendet wird.
Dimensionen und Ausgabedatentypen
Das dokumentierte Kontextfenster pro Text beträgt 32’000 Tokens. Wählbare Dimensionen sind 256, 512, 1024 und 2048, mit 1024 als Standard. Matryoshka-Lernen ermöglicht diese ineinander verschachtelten Repräsentationsgrössen. Die Ausgabe kann 32-Bit-Gleitkommazahlen, vorzeichenbehaftete oder vorzeichenlose 8-Bit-Ganzzahlen oder gepackte Binärwerte verwenden, ermöglicht durch die quantisierungsbewusste Vorbereitung der Familie.
Bei gepackter Binärausgabe speichert jedes zurückgegebene Byte acht Embedding-Bits, sodass die Bytelistenlänge ein Achtel der gewählten Dimension beträgt. Byteanzahl und Embedding-Dimension haben unterschiedliche Bedeutungen. Wählen Sie eine Repräsentation, die Ihr Suchindex interpretieren kann, und prüfen Sie die Kandidatenrelevanz anhand der tatsächlich in der Sammlung verwendeten Fragen und Sprachen, bevor Sie eine komprimierte Konfiguration wählen.
Eingabelänge, Batches und Kürzung
Der aktuelle Text-Embedding-Leitfaden des Herstellers erlaubt bis zu 1’000 Zeichenfolgen und insgesamt 320’000 Tokens in einer voyage-4-Anfrage. Das Batch-Kontingent ist vom Fenster von 32’000 Tokens für jede Eingabe getrennt. Die Kürzung ist standardmässig aktiviert: Überlanger Text wird passend gekürzt. Ist die Kürzung deaktiviert, führt ein überlanges Element stattdessen zu einem Fehler.
Bereiten Sie bei einem langen Bericht oder Transkript antwortrelevante Passagen bewusst vor, statt sich auf einen Schnitt an der Eingabegrenze zu verlassen. Verknüpfen Sie jede Passage mit ihrem übergeordneten Dokument und der Quellversion. Gewöhnliche voyage-4-Embedding-Eingaben sind einzelne Texte; die kontextualisierte Verarbeitung von Abschnittsgruppen gehört zu den separat dokumentierten kontextuellen Embedding-Modellen.
Das Suchergebnis nutzen
Speichern Sie die Vektoren zusammen mit Passagentext und stabilen Quellkennungen, vergleichen Sie jeden Anfragevektor mit den kompatiblen Dokumentvektoren und geben Sie mögliche Passagen zurück. Die Familienveröffentlichung bewertet die Informationssuche unter anderem anhand technischer Dokumente, Gespräche, langer Dokumente, Code, Recht, Finanzen und Webtext. Ein separater Reranker kann Kandidaten verfeinern, und ein späterer Antwortschritt kann ihren Text verwenden. Bewerten Sie diese zurückgegebenen Passagen anhand der Aufgabe; die Kompatibilität im gemeinsamen Raum ermöglicht die Modellkombination, während der Nutzen eines Ergebnisses weiterhin vom Quellmaterial und der Frage abhängt.
Ailoot Ultra · Embeddings POST /v1/embeddings voyageai/voyage-4
voyageai/voyage-4Einstieg
voyage-4 bettet Text für allgemeine und mehrsprachige Informationssuche in einen gemeinsamen Vektorraum der Voyage-4-Familie ein. Es unterstützt Eingaben mit 32’000 Tokens, wählbare Ausgaben mit 256–2048 Dimensionen und query/document-Rollen für Suche und RAG.
- 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
- 32'000 tokens
- Ausgabeformat
- json
| Feld | Typ | Anforderung | Werte und Limits | Standard |
|---|---|---|---|---|
Feldmodel | Typstring | AnforderungErforderlich | Werte und Limits voyageai/voyage-4 | 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: 32'000 · 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 | Vertrag32000 |
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.00012 / 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": "voyageai/voyage-4", "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='voyageai/voyage-4',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 voyageai/voyage-4
Aliasnamen für Methodenpfade
Verwenden Sie die oben angezeigten Methodenpfade.
Zugehörige Aufrufer-IDs
FAQ · VoyageAI by MongoDB: voyage-4
- Welche Eingaben und Ergebnisse sind verfügbar?
POST /v1/embeddings·voyageai/voyage-4:text,token_ids→embedding- Welche Felder verwendet die Anfrage?
POST /v1/embeddings·voyageai/voyage-4:model,input,encoding_format,provider- Welche Grenzen gelten?
POST /v1/embeddings·voyageai/voyage-4:ctx:32000;input.budget.maximum:32000(UTF8-Bytes);input.min_items:1