Mistral: Codestral Embed 2505
Codestral Embed 2505 reprezentuje kod i zapytania w języku naturalnym jako wektory do wyszukiwania w repozytoriach i pozyskiwania kontekstu dla asystentów programowania. Producent dokumentuje kontekst 8 192 tokenów, konfigurowalne wymiary do 3 072 i formaty wyjścia zmiennoprzecinkowe, całkowitoliczbowe lub pakowane bitowo.
O modelu
Ten opis przedstawia możliwości modelu. Dane wejściowe, wyniki i opcje dostępne w Ailoot podano poniżej dla wybranej metody.
Codestral Embed 2505 to model osadzeń Mistral AI wyspecjalizowany w wyszukiwaniu kodu. Otrzymuje tekst zawierający kod źródłowy lub zapytanie o kod w języku naturalnym i zwraca wektory liczbowe. Producent pozycjonuje go do wyszukiwania w repozytoriach, pozyskiwania kontekstu dla asystentów programowania, analizy podobieństwa i powtórzeń oraz grupowania kodu według funkcjonalności lub struktury. Stały identyfikator wydania to codestral-embed-2505.
Wejście i reprezentacja
Wejściem kodowym może być funkcja, powiązany fragment źródła lub inna znacząca jednostka repozytorium. Zapytanie w języku naturalnym może opisywać szukane zachowanie zamiast nazywać dokładny symbol. Osadzenie reprezentuje to wejście do porównania; model nie generuje nowej implementacji ani nie wykonuje otrzymanego kodu.
Oficjalne wydanie dokumentuje pełny kontekst wejścia 8 192 tokenów. Do wyszukiwania producent zaleca fragmenty o długości około 3 000 znaków z częścią wspólną o długości 1 000 znaków, zaznaczając, że większe fragmenty mogą pogarszać wyszukiwanie. To zalecenia przygotowania materiału, a nie limit tokenów określony jako 3 000 znaków. Zachowaj plik, symbol i lokalizację źródła powiązane z każdym przygotowanym elementem, aby aplikacja mogła zwrócić istotny kod po wyszukaniu.
Precyzja i wymiary wyjścia
Przewodnik osadzeń kodu dokumentuje typy wyjścia float, int8, uint8, binary i ubinary. Float używa 32-bitowych wartości pojedynczej precyzji. Int8 używa 8-bitowych liczb całkowitych ze znakiem od -128 do 127, a uint8 — 8-bitowych wartości bez znaku od 0 do 255. Binary i ubinary zapisują skwantyzowane wartości jednobitowe w spakowanych elementach 8-bitowych, używając odpowiednio kontenerów ze znakiem lub bez znaku.
Reprezentacja pakowana bitowo zmienia długość zwracanej listy: przewodnik opisuje jeden spakowany element na każde osiem logicznych wymiarów osadzenia. Porównanie uwzględniające format różni się więc od traktowania spakowanych bajtów jako zwykłych współrzędnych zmiennoprzecinkowych. Zachowaj wybrany typ z wektorem i używaj tej samej reprezentacji dla indeksowanego kodu i jego zapytania.
Dokumentacja parametrów podaje domyślny wymiar 1 536 i maksimum 3 072. Wymiary są uporządkowane według istotności, a producent opisuje zachowanie wybranej liczby pierwszych wymiarów jako sposób doboru rozmiaru reprezentacji. Wybieraj wymiar konsekwentnie dla przechowywanego zbioru i nowych zapytań. Krótsza lub skwantyzowana reprezentacja zmienia przechowywanie i porównanie; nie zwiększa kontekstu wejścia ani nie zamienia modelu w generator kodu.
Programowanie wspomagane wyszukiwaniem
Pierwszy przypadek użycia wydania to pozyskiwanie kontekstu do uzupełniania, edytowania lub wyjaśniania kodu. Przygotuj znaczące jednostki kodu i zachowaj rewizję repozytorium oraz identyfikatory źródła. Pytanie o obsługę konkretnego błędu może wyszukać powiązane funkcje, które aplikacja następnie dostarczy modelowi programistycznemu z rzeczywistym żądaniem zmiany.
Praktyczny wynik to uporządkowany zbiór fragmentów źródła ze ścieżkami plików, symbolami i treścią potrzebną do zrozumienia ich zachowania. Deweloper może otworzyć wyszukane fragmenty lub przekazać je asystentowi. Codestral Embed wykonuje etap reprezentacji; osobny komponent wybiera wyniki, a model generatywny pisze wyjaśnienie lub proponowany kod.
Wyszukiwanie semantyczne i podobieństwo
Producent opisuje wyszukiwanie kodu za pomocą zapytań w języku naturalnym lub w kodzie. Deweloper może pytać o implementację zachowania, nawet gdy nazwa funkcji różni się od sformułowania żądania. Uwzględnij zachowanie i warunki odróżniające zamierzoną implementację; ogólne zapytanie o cały podsystem może wyszukać powiązany materiał bez rozstrzygnięcia konkretnego pytania.
Wydanie opisuje również znajdowanie niemal powtórzonego lub funkcjonalnie podobnego kodu mimo różnic leksykalnych. Wyniki takie mogą pomóc znaleźć implementację do ponownego użycia lub kod wymagający dalszego przeglądu. Podobieństwo w przestrzeni osadzeń jest sygnałem do sprawdzenia źródła; nie dowodzi identycznego zachowania dwóch fragmentów dla każdego wejścia.
Grupowanie, analityka i porównanie
Osadzenia kodu można wykorzystywać do grupowania według funkcjonalności lub struktury i analizowania składu repozytorium. Zachowaj oryginalne fragmenty i identyfikatory dostępne, aby grupa mogła być zinterpretowana przez osobę lub późniejszy krok aplikacji. Grupa jest wynikiem podziału opartego na reprezentacji, a nie automatycznie zweryfikowanym opisem architektury.
Przykłady wektorów zmiennoprzecinkowych producenta używają osadzeń znormalizowanych do długości jednostkowej, dla których podobieństwo cosinusowe, iloczyn skalarny i odległość euklidesowa dają spójne rankingi. Wyjście skwantyzowane i pakowane bitowo powinno zachować obsługę własnego formatu, zamiast dziedziczyć założenie o surowych współrzędnych zmiennoprzecinkowych. Opublikowany endpoint zachowuje też indeksy wejść, pomagając utrzymać połączenie każdego wektora z elementem źródłowym.
Wydanie i praktyczne granice
Strona konkretnego modelu wymienia procesy osadzeń i przetwarzania partiami z oznaczeniem kontekstu 8k, a wydanie podaje wartość 8 192 tokenów. Zachowaj nazwane wydanie 2505, wybrany wymiar i typ wyjścia w całym procesie zbioru i zapytań. To wyjście wektorowe ukierunkowane na kod, odrębne od uzupełniania tekstu Codestral i od modelu osadzeń tekstowych Mistral Embed o stałym wymiarze.
Przygotuj jednostki kodu zawierające istotne zachowanie, zachowaj lokalizacje źródłowe i określ pytanie do wyszukania. Użyteczny artefakt to możliwa do wyszukania reprezentacja powiązana z rzeczywistym kodem, wspierająca następny krok wyjaśnienia, edycji lub przeglądu deweloperskiego bez wykonywania go samodzielnie.
Ailoot Ultra · Reprezentacje wektorowe POST /v1/embeddings mistralai/codestral-embed-2505
mistralai/codestral-embed-2505
mistralai/codestral-embed-2505Start
Codestral Embed 2505 reprezentuje kod i zapytania w języku naturalnym jako wektory do wyszukiwania w repozytoriach i pozyskiwania kontekstu dla asystentów programowania. Producent dokumentuje kontekst 8 192 tokenów, konfigurowalne wymiary do 3 072 i formaty wyjścia zmiennoprzecinkowe, całkowitoliczbowe lub pakowane bitowo.
- Akceptowane dane wejściowe
- Tekst · token_ids
- Wyniki
- embedding
Dostępne w Ailoot · dane wejściowe i metody
Ailoot Ultra · Reprezentacje wektorowe POST /v1/embeddings
- Wejście
text,token_ids- Wyjście
embedding- Kontekst
- 8192 tokens
- Format wyjściowy
- json
| Pole | Typ | Wymaganie | Wartości i limity | Domyślnie |
|---|---|---|---|---|
Polemodel | Typstring | WymaganieWymagane | Wartości i limity mistralai/codestral-embed-2505 | Domyślnie— |
Poleinput | Typstring|string[]|integer[]|integer[][] | WymaganieWymagane | Wartości i limity Minimalna liczba elementów: 1 Warunki: Niepusta, jednorodna partia danych. Identyfikatory tokenów są nieujemnymi liczbami całkowitymi. Budżet wejścia: Maksimum: 8192 · Jednostka tekstu: bajty UTF8 · Jednostka tokenów: elementy tablicy tokenów | Domyślnie— |
Poleencoding_format | Typstring | WymaganieOpcjonalne | Wartości i limity float | Domyślniefloat |
Poledimensions | Typinteger | WymaganieNieobsługiwane | Wartości i limity Minimum: 1 | Domyślnie— |
Poleuser | Typjson_value | WymaganieOpcjonalne | Wartości i limity Warunki: Źródło dopuszcza to pole metadanych JSON; dokładna semantyka po stronie dostawcy zależy od modelu. | Domyślnie— |
Polesession_id | Typjson_value | WymaganieOpcjonalne | Wartości i limity Warunki: Źródło dopuszcza to pole metadanych JSON; dokładna semantyka po stronie dostawcy zależy od modelu. | Domyślnie— |
Poletrace | Typjson_value | WymaganieOpcjonalne | Wartości i limity Warunki: Źródło dopuszcza to pole metadanych JSON; dokładna semantyka po stronie dostawcy zależy od modelu. | Domyślnie— |
Poleprovider | Typobject | WymaganieOpcjonalne | Wartości i limity Warunki: Odrzucono provider.options | Domyślnie— |
Kombinacje materiałów wejściowych
text_to_embedding
Parametry i cykl życia metody
| Parametr | Kontrakt |
|---|---|
Parametrcontent_type | Kontraktapplication/json |
Parametrrequired | Kontraktmodel, input |
Parametrinput_shapes | Kontraktstring, string[], nonnegative_integer_token_array, nonnegative_integer_token_array[] |
Parametrencoding_format | Kontraktfloat |
Parametrdimensions_override | Kontraktfalse |
Parametrmax_input_budget_units | Kontrakt8192 |
Parametrmultimodal_objects | Kontraktfalse |
Parametrmaterial_types | Kontrakttext, token_ids |
Cykl życia: synchronous_json
Zachowaj indeks i liczbę wymiarów każdego wektora.
Nawet jeśli nazwa modelu wskazuje na multimodalność, ta konkretna ścieżka nie obsługuje obiektów obrazów.
Cennik
Informacje taryfowe nie dodają opcji żądania. Obsługiwane parametry podano przy wybranej metodzie.
- Tryb szybki
- Stawka standardowa Gdy wybrany jest tryb szybki
- Tryb flex
- Stawka standardowa Gdy wybrany jest tryb flex
- Maksymalna intensywność rozumowania
- Stawka standardowa Gdy dla maksymalnej intensywności rozumowania stosowana jest domyślna korekta (default)
Stawki Ailoot
Ceny według konfiguracji
| Konfiguracja | Tabela stawek | Opłata |
|---|---|---|
| KonfiguracjaPodstawowe stawki za tokeny | Tabela stawekStawka podstawowa | Opłata Wejście · Tokeny wejściowe $0.0003 / 1K tokenów Wyjście · Tokeny wyjściowe $0 / 1K tokenów Wejście · Odczyt cache — / 1K tokenów Wejście · Zapis do cache — / 1K tokenów Wejście · Zapis do cache, 1 godz. — / 1K tokenów |
Ailoot rezerwuje szacowaną kwotę przed żądaniem. Po otrzymaniu wyniku rozlicza ostateczną opłatę według zmierzonego użycia. Rozliczenie strumieniowania korzysta z końcowego rekordu użycia. Jak działają rezerwacja i rozliczenie →
Przykładowe żądania
Ailoot Ultra · Reprezentacje wektorowe
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)
Odbieranie i zapisywanie wyników
Ailoot Ultra · Reprezentacje wektorowe
json
Zachowaj wszystkie ukończone wyniki
Zachowaj każdą kompletną zwróconą odpowiedź, plik i część treści.
Zachowaj każdy wektor wraz z jego indeksem. Liczba wektorów musi być równa liczbie elementów wejściowych; wszystkie wektory muszą mieć tę samą liczbę wymiarów.
Jeśli trzeba sprawdzić pierwotną odpowiedź
Nie wprowadzono endpointu zadań generowania osadzeń.
Pola odpowiedzi
| Pole | Typ |
|---|---|
Poleobject | Typstring |
Polemodel | Typstring |
Poledata[].index | Typinteger |
Poledata[].embedding | Typfinite float[] |
Poleusage | Typobject |
Błędy i dalsze kroki
| Odpowiedź | Warunek | Następny krok |
|---|---|---|
Odpowiedź400 · invalid_request_error | WarunekNieprawidłowe wymagane pola, sposób reprezentacji materiału lub wartość parametru | Następny krokPopraw wskazane pola przed nowym żądaniem utworzenia. |
Aliasy
Aliasy modelu
Ailoot Ultra mistralai/codestral-embed-2505
Aliasy ścieżek metod
Użyj ścieżek metod podanych powyżej.
Powiązane ID modeli
FAQ · Mistral: Codestral Embed 2505
- Jakie dane wejściowe i wyniki są dostępne?
POST /v1/embeddings·mistralai/codestral-embed-2505:text,token_ids→embedding- Jakich pól używa żądanie?
POST /v1/embeddings·mistralai/codestral-embed-2505:model,input,encoding_format,provider- Jakie limity obowiązują?
POST /v1/embeddings·mistralai/codestral-embed-2505:ctx:8192;input.budget.maximum:8192(bajty UTF8);input.min_items:1