Mistral: Codestral Embed 2505
Codestral Embed 2505 stellt Code und natürlichsprachliche Anfragen als Vektoren für die Repository-Suche und den Abruf für Coding-Assistenten dar. Der Hersteller dokumentiert einen Kontext von 8’192 Token, konfigurierbare Dimensionen bis 3’072 sowie Ausgabeformate als Gleitkommazahl, Ganzzahl oder bitgepackt.
Ü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.
Codestral Embed 2505 ist das auf Code-Abruf spezialisierte Embedding-Modell von Mistral AI. Es erhält Text mit Quellcode oder einer natürlichsprachlichen Code-Anfrage und gibt numerische Vektoren zurück. Der Hersteller positioniert es für die Repository-Suche, den Kontextabruf für Coding-Assistenten, Ähnlichkeits- und Duplikatanalysen sowie die Gruppierung von Code nach Funktionalität oder Struktur. Die feste Release-Kennung lautet codestral-embed-2505.
Eingabe und Repräsentation
Eine Code-Eingabe kann eine Funktion, ein zusammengehöriges Quellfragment oder eine andere sinnvolle Einheit eines Repositorys sein. Eine natürlichsprachliche Anfrage kann das gesuchte Verhalten beschreiben, statt das genaue Symbol zu nennen. Das Embedding repräsentiert diese Eingabe für den Vergleich; das Modell erzeugt keine neue Implementierung und führt den erhaltenen Code nicht aus.
Das offizielle Release dokumentiert einen vollständigen Eingabekontext von 8’192 Token. Für den Abruf empfiehlt der Hersteller Chunks von etwa 3’000 Zeichen mit 1’000 Zeichen Überlappung und weist darauf hin, dass grössere Chunks den Abruf beeinträchtigen können. Dies sind Empfehlungen zur Vorbereitung des Abrufs, kein Token-Limit von 3’000 Zeichen. Halten Sie Datei, Symbol und Fundstelle im Quellcode mit jedem vorbereiteten Element verbunden, damit die Anwendung nach der Suche den relevanten Code zurückgeben kann.
Ausgabepräzision und Dimensionen
Der Leitfaden zu Code-Embeddings dokumentiert die Ausgabetypen float, int8, uint8, binary und ubinary. Der Typ float verwendet 32-Bit-Werte mit einfacher Genauigkeit. Der Typ int8 verwendet vorzeichenbehaftete 8-Bit-Ganzzahlen von -128 bis 127, uint8 dagegen vorzeichenlose 8-Bit-Werte von 0 bis 255. Die Typen binary und ubinary speichern quantisierte Einzelbit-Werte in gepackten 8-Bit-Elementen, jeweils in vorzeichenbehafteten bzw. vorzeichenlosen Containern.
Eine bitgepackte Repräsentation verändert die Länge der zurückgegebenen Liste: Der Leitfaden beschreibt ein gepacktes Element je acht logische Embedding-Dimensionen. Ein formatbewusster Vergleich unterscheidet sich daher davon, die gepackten Bytes als gewöhnliche Gleitkomma-Koordinaten zu behandeln. Bewahren Sie den gewählten Typ zusammen mit dem Vektor auf und verwenden Sie für indexierten Code und dessen Anfrage dieselbe Repräsentation.
Die Parameterdokumentation nennt eine Standarddimension von 1’536 und ein Maximum von 3’072. Die Dimensionen sind nach Relevanz geordnet, und der Hersteller beschreibt das Beibehalten der ersten gewählten Anzahl als Möglichkeit, die Grösse der Repräsentation festzulegen. Wählen Sie die Dimension für die gespeicherte Sammlung und neue Anfragen einheitlich. Eine kürzere oder quantisierte Repräsentation verändert Speicherbedarf und Vergleichsverhalten; sie vergrössert nicht den Eingabekontext und macht das Modell nicht zu einem Codegenerator.
Abrufgestütztes Programmieren
Der erste Anwendungsfall des Releases ist der Abruf von Kontext für Code-Vervollständigung, Bearbeitung oder Erklärung. Bereiten Sie sinnvolle Code-Einheiten vor und bewahren Sie die Repository-Revision und die Quellkennungen auf. Eine Frage dazu, wie ein bestimmter Fehler behandelt wird, kann zugehörige Funktionen abrufen, die die Anwendung dann zusammen mit der eigentlichen Änderungsanfrage an ein Coding-Modell übergibt.
Ein praktisches Ergebnis ist eine gerankte Menge von Quellcode-Snippets mit Dateipfaden, Symbolen und dem Inhalt, der zum Verständnis ihres Verhaltens nötig ist. Die abgerufenen Snippets können von einem Entwickler geöffnet oder an einen Assistenten übergeben werden. Codestral Embed übernimmt den Repräsentationsschritt; eine separate Komponente wählt die Ergebnisse aus, und ein gegebenenfalls eingesetztes Generierungsmodell verfasst die Erklärung oder den vorgeschlagenen Code.
Semantische Suche und Ähnlichkeit
Der Hersteller beschreibt die Codesuche mit natürlichsprachlichen oder Code-Anfragen. Ein Entwickler kann nach der Implementierung eines Verhaltens fragen, auch wenn der Funktionsname von der Formulierung der Anfrage abweicht. Nennen Sie das Verhalten und die Bedingungen, die die gesuchte Implementierung unterscheiden; eine allgemeine Anfrage zu einem ganzen Subsystem kann verwandtes Material abrufen, ohne die konkrete Frage zu klären.
Das Release beschreibt ausserdem das Auffinden von nahezu doppeltem oder funktional ähnlichem Code trotz lexikalischer Unterschiede. Solche Ergebnisse helfen, eine wiederverwendbare Implementierung zu finden oder Code zu erkennen, der weiter geprüft werden sollte. Ähnlichkeit im Embedding-Raum ist ein Signal, die Quelle zu prüfen; sie belegt nicht, dass sich zwei Fragmente bei jeder Eingabe identisch verhalten.
Clustering, Analysen und Vergleich
Code-Embeddings lassen sich nutzen, um Code nach Funktionalität oder Struktur zu gruppieren und die Zusammensetzung eines Repositorys zu untersuchen. Halten Sie die ursprünglichen Snippets und Kennungen verfügbar, damit eine Gruppe von einer Person oder einem späteren Anwendungsschritt interpretiert werden kann. Ein Cluster ist eine repräsentationsbasierte Gruppierung, keine automatisch verifizierte Architekturbeschreibung.
Die Gleitkomma-Beispiele des Herstellers verwenden auf Einheitslänge normalisierte Embeddings, für die Kosinus-Ähnlichkeit, Skalarprodukt und euklidischer Abstand übereinstimmende Rangfolgen ergeben. Quantisierte und bitgepackte Ausgaben sollten ihre eigene Formatbehandlung behalten, statt Annahmen über rohe Gleitkomma-Koordinaten zu übernehmen. Der veröffentlichte Endpoint behält ausserdem Eingabeindizes bei und hilft so, die Verbindung zwischen jedem Vektor und seinem Quellelement zu bewahren.
Edition und praktische Grenzen
Die Seite des genauen Modells führt Embedding- und Batch-Workflows mit einer Kontextangabe von 8k auf, während das Release den Wert von 8’192 Token nennt. Behalten Sie die benannte Edition 2505, die gewählte Ausgabedimension und den Typ im gesamten Workflow für Sammlung und Anfragen bei. Es handelt sich um codeorientierte Vektorausgabe, die sich von der Textvervollständigung von Codestral und vom Textmodell Mistral Embed mit fester Dimension unterscheidet.
Bereiten Sie Code-Einheiten vor, die das relevante Verhalten enthalten, bewahren Sie ihre Fundstellen im Quellcode und formulieren Sie die Frage, die die Suche beantworten soll. Das nützliche Artefakt ist eine abrufbare Repräsentation, die an tatsächlichen Code gebunden ist und den nächsten Schritt – Erklärung, Bearbeitung oder Prüfung durch einen Entwickler – unterstützt, ohne diesen Schritt selbst auszuführen.
Ailoot Ultra · Embeddings POST /v1/embeddings mistralai/codestral-embed-2505
mistralai/codestral-embed-2505
mistralai/codestral-embed-2505Einstieg
Codestral Embed 2505 stellt Code und natürlichsprachliche Anfragen als Vektoren für die Repository-Suche und den Abruf für Coding-Assistenten dar. Der Hersteller dokumentiert einen Kontext von 8’192 Token, konfigurierbare Dimensionen bis 3’072 sowie Ausgabeformate als Gleitkommazahl, Ganzzahl oder bitgepackt.
- 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'192 tokens
- Ausgabeformat
- json
| Feld | Typ | Anforderung | Werte und Limits | Standard |
|---|---|---|---|---|
Feldmodel | Typstring | AnforderungErforderlich | Werte und Limits mistralai/codestral-embed-2505 | 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'192 · 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 | Vertrag8192 |
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.0003 / 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": "mistralai/codestral-embed-2505", "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='mistralai/codestral-embed-2505',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 mistralai/codestral-embed-2505
Aliasnamen für Methodenpfade
Verwenden Sie die oben angezeigten Methodenpfade.
Zugehörige Aufrufer-IDs
FAQ · Mistral: Codestral Embed 2505
- Welche Eingaben und Ergebnisse sind verfügbar?
POST /v1/embeddings·mistralai/codestral-embed-2505:text,token_ids→embedding- Welche Felder verwendet die Anfrage?
POST /v1/embeddings·mistralai/codestral-embed-2505:model,input,encoding_format,provider- Welche Grenzen gelten?
POST /v1/embeddings·mistralai/codestral-embed-2505:ctx:8192;input.budget.maximum:8192(UTF8-Bytes);input.min_items:1