Mistral: Codestral Embed 2505
Codestral Embed 2505 kodą ir natūraliosios kalbos užklausas atvaizduoja vektoriais, skirtais paieškai saugyklose ir programavimo asistentų informacijos paieškai. Gamintojas dokumentuoja 8192 žetonų kontekstą, konfigūruojamą matmenų skaičių iki 3072 ir slankiojo kablelio, sveikųjų skaičių arba bitiniu būdu supakuotų reikšmių išvesties formatus.
Apie modelį
Šis aprašas apima modelio galimybes. Pasirinktam metodui Ailoot prieinamos įvestys, išvestys ir parinktys nurodytos toliau.
Codestral Embed 2505 yra Mistral AI įterpinių modelis, specializuotas kodo paieškai. Jis gauna tekstą su šaltinio kodu arba natūraliosios kalbos užklausą apie kodą ir grąžina skaitinius vektorius. Gamintojas jį pristato kaip skirtą paieškai saugyklose, konteksto paieškai programavimo asistentams, panašumo ir dublikatų analizei bei kodo grupavimui pagal funkcionalumą ar struktūrą. Jo nekintamas leidimo identifikatorius yra codestral-embed-2505.
Įvestis ir reprezentacija
Kodo įvestis gali būti funkcija, susijęs šaltinio fragmentas arba kitas prasmingas saugyklos vienetas. Natūraliosios kalbos užklausa gali aprašyti ieškomą elgseną, užuot įvardijusi tikslų simbolį. Įterpinys šią įvestį atvaizduoja palyginimui; modelis negeneruoja naujos realizacijos ir nevykdo gaunamo kodo.
Oficialiame leidime dokumentuotas visas 8192 žetonų įvesties kontekstas. Paieškai gamintojas rekomenduoja maždaug 3000 ženklų ilgio fragmentus su 1000 ženklų persidengimu ir pažymi, kad didesni fragmentai gali pabloginti paiešką. Tai yra paruošimo paieškai rekomendacijos, o ne 3000 ženklų žetonų riba. Kiekvieną paruoštą poziciją išlaikykite susietą su failu, simboliu ir vieta šaltinyje, kad po paieškos programa galėtų grąžinti aktualų kodą.
Išvesties tikslumas ir matmenys
Kodo įterpinių vadove dokumentuoti išvesties tipai float, int8, uint8, binary ir ubinary. Float naudoja 32 bitų viengubo tikslumo reikšmes. Int8 naudoja 8 bitų sveikuosius skaičius su ženklu nuo -128 iki 127, o uint8 – 8 bitų reikšmes be ženklo nuo 0 iki 255. Binary ir ubinary saugo kvantuotas vieno bito reikšmes, supakuotas į 8 bitų elementus, atitinkamai naudodami talpyklas su ženklu arba be jo.
Bitiniu būdu supakuotų reikšmių reprezentacija pakeičia grąžinamo sąrašo ilgį: vadove aprašomas vienas supakuotas elementas kiekvieniems aštuoniems loginiams įterpinio matmenims. Todėl į formatą atsižvelgiantis palyginimas skiriasi nuo supakuotų baitų traktavimo kaip įprastų slankiojo kablelio koordinačių. Pasirinktą tipą išsaugokite kartu su vektoriumi ir indeksuojamam kodui bei jo užklausai naudokite tą pačią reprezentaciją.
Parametrų dokumentacijoje pateiktas numatytasis 1536 matmenų skaičius ir didžiausias – 3072. Matmenys surikiuoti pagal svarbą, o gamintojas aprašo pasirinkto skaičiaus pirmųjų matmenų išsaugojimą kaip būdą reprezentacijos dydžiui pasirinkti. Saugomai kolekcijai ir naujoms užklausoms matmenų skaičių rinkitės nuosekliai. Trumpesnė arba kvantuota reprezentacija pakeičia saugojimo ir palyginimo elgseną; ji nepadidina įvesties konteksto ir nepaverčia modelio kodo generatoriumi.
Programavimas pasitelkiant paiešką
Pirmasis leidime nurodytas naudojimo atvejis yra konteksto paieška kodo užbaigimui, redagavimui ar paaiškinimui. Paruoškite prasmingus kodo vienetus ir išsaugokite saugyklos versiją bei šaltinio identifikatorius. Klausimas apie konkrečios klaidos apdorojimą gali padėti rasti susijusias funkcijas, kurias programa tada pateikia programavimo modeliui kartu su tikruoju pakeitimo prašymu.
Praktinis rezultatas yra surikiuotas šaltinio kodo ištraukų rinkinys su failų keliais, simboliais ir turiniu, reikalingu jų elgsenai suprasti. Rastas ištraukas gali atverti programuotojas arba jas galima perduoti asistentui. Codestral Embed atlieka atvaizdavimo veiksmą; atskiras komponentas parenka rezultatus, o generavimo modelis, jei naudojamas, parašo paaiškinimą arba siūlomą kodą.
Semantinė paieška ir panašumas
Gamintojas aprašo kodo paiešką natūraliosios kalbos arba kodo užklausomis. Programuotojas gali prašyti tam tikros elgsenos realizacijos net tada, kai funkcijos pavadinimas skiriasi nuo prašymo formuluotės. Įtraukite elgseną ir sąlygas, išskiriančias numatytą realizaciją; bendra užklausa apie visą posistemį gali rasti susijusios medžiagos, bet neišspręsti konkretaus klausimo.
Leidime taip pat aprašoma beveik dubliuojamo ar funkciškai panašaus kodo paieška nepaisant leksinių skirtumų. Tokie rezultatai gali padėti rasti pakartotinai panaudojamą realizaciją arba nustatyti kodą, kurį reikia toliau peržiūrėti. Panašumas įterpinių erdvėje yra signalas patikrinti šaltinį; jis neįrodo, kad du fragmentai vienodai elgiasi su kiekviena įvestimi.
Grupavimas į klasterius, analitika ir palyginimas
Kodo įterpinius galima naudoti kodui grupuoti pagal funkcionalumą ar struktūrą ir saugyklos sudėčiai nagrinėti. Išlaikykite prieinamas originalias ištraukas ir identifikatorius, kad grupę galėtų interpretuoti žmogus arba vėlesnis programos veiksmas. Klasteris yra reprezentacija pagrįsta grupė, o ne automatiškai patikrintas architektūros aprašymas.
Gamintojo slankiojo kablelio vektorių pavyzdžiuose naudojami iki vienetinės normos normalizuoti įterpiniai, kuriems kosinuso panašumas, skaliarinė sandauga ir Euklido atstumas duoda suderintą rikiavimą. Kvantuotai ir bitiniu būdu supakuotai išvesčiai reikia išlaikyti jos formato apdorojimą, o ne perimti prielaidą apie paprastas slankiojo kablelio koordinates. Paskelbtas galinis taškas taip pat išsaugo įvesties indeksus ir taip padeda išlaikyti kiekvieno vektoriaus ryšį su jo šaltinio pozicija.
Versija ir praktinės ribos
Konkretaus modelio puslapyje nurodyti įterpinių ir paketinio apdorojimo procesai su 8k konteksto žyma, o leidime pateikta 8192 žetonų reikšmė. Visoje kolekcijos ir užklausų eigoje išsaugokite įvardytą 2505 versiją, pasirinktą išvesties matmenų skaičių ir tipą. Tai į kodą orientuota vektorinė išvestis, kuri skiriasi nuo Codestral teksto užbaigimo ir nuo fiksuoto matmenų skaičiaus Mistral Embed teksto modelio.
Paruoškite kodo vienetus, kuriuose yra aktuali elgsena, išsaugokite jų vietas šaltinyje ir suformuluokite klausimą paieškai. Naudingas rezultatas yra randamas atvaizdas, susietas su tikruoju kodu, padedantis atlikti kitą paaiškinimo, redagavimo ar programuotojo peržiūros veiksmą, bet pats jo neatliekantis.
Ailoot Ultra · Įterpiniai POST /v1/embeddings mistralai/codestral-embed-2505
mistralai/codestral-embed-2505
mistralai/codestral-embed-2505Pradžia
Codestral Embed 2505 kodą ir natūraliosios kalbos užklausas atvaizduoja vektoriais, skirtais paieškai saugyklose ir programavimo asistentų informacijos paieškai. Gamintojas dokumentuoja 8192 žetonų kontekstą, konfigūruojamą matmenų skaičių iki 3072 ir slankiojo kablelio, sveikųjų skaičių arba bitiniu būdu supakuotų reikšmių išvesties formatus.
- Leidžiamos įvestys
- Tekstas · token_ids
- Rezultatai
- embedding
Prieinama Ailoot · įvestys ir metodai
Ailoot Ultra · Įterpiniai POST /v1/embeddings
- Įvestis
text,token_ids- Išvestis
embedding- Kontekstas
- 8 192 tokens
- Išvesties formatas
- json
| Laukas | Tipas | Reikalavimas | Reikšmės ir ribos | Numatyta |
|---|---|---|---|---|
Laukasmodel | Tipasstring | ReikalavimasPrivaloma | Reikšmės ir ribos mistralai/codestral-embed-2505 | Numatyta— |
Laukasinput | Tipasstring|string[]|integer[]|integer[][] | ReikalavimasPrivaloma | Reikšmės ir ribos Mažiausias elementų skaičius: 1 Sąlygos: Netuščias vienalyčių įvesčių paketas. Žetonų ID yra neneigiami sveikieji skaičiai. Įvesties biudžetas: Didžiausia reikšmė: 8 192 · Teksto vienetas: UTF8 baitai · Tokenų vienetas: žetonų masyvo elementai | Numatyta— |
Laukasencoding_format | Tipasstring | ReikalavimasNeprivaloma | Reikšmės ir ribos float | Numatytafloat |
Laukasdimensions | Tipasinteger | ReikalavimasNepalaikoma | Reikšmės ir ribos Mažiausia reikšmė: 1 | Numatyta— |
Laukasuser | Tipasjson_value | ReikalavimasNeprivaloma | Reikšmės ir ribos Sąlygos: Šaltinis leidžia šį JSON metaduomenų lauką; tiksli jo reikšmė tiekėjo sistemoje priklauso nuo modelio. | Numatyta— |
Laukassession_id | Tipasjson_value | ReikalavimasNeprivaloma | Reikšmės ir ribos Sąlygos: Šaltinis leidžia šį JSON metaduomenų lauką; tiksli jo reikšmė tiekėjo sistemoje priklauso nuo modelio. | Numatyta— |
Laukastrace | Tipasjson_value | ReikalavimasNeprivaloma | Reikšmės ir ribos Sąlygos: Šaltinis leidžia šį JSON metaduomenų lauką; tiksli jo reikšmė tiekėjo sistemoje priklauso nuo modelio. | Numatyta— |
Laukasprovider | Tipasobject | ReikalavimasNeprivaloma | Reikšmės ir ribos Sąlygos: provider.options atmetamas | Numatyta— |
Įvesties medžiagos deriniai
text_to_embedding
Metodo parametrai ir gyvavimo ciklas
| Parametras | Specifikacija |
|---|---|
Parametrascontent_type | Specifikacijaapplication/json |
Parametrasrequired | Specifikacijamodel, input |
Parametrasinput_shapes | Specifikacijastring, string[], nonnegative_integer_token_array, nonnegative_integer_token_array[] |
Parametrasencoding_format | Specifikacijafloat |
Parametrasdimensions_override | Specifikacijafalse |
Parametrasmax_input_budget_units | Specifikacija8192 |
Parametrasmultimodal_objects | Specifikacijafalse |
Parametrasmaterial_types | Specifikacijatext, token_ids |
Gyvavimo ciklas: synchronous_json
Išsaugokite kiekvieną vektoriaus indeksą ir matmenį.
Tai, kad modelio pavadinimas nurodo multimodalumą, nereiškia, jog šiuo konkrečiu keliu priimami vaizdų objektai.
Planai
Tarifų informacija neprideda užklausos parinkčių. Palaikomi parametrai nurodyti prie pasirinkto metodo.
- Spartusis režimas
- Standartinis įkainis Pasirinkus spartųjį režimą
- Flex režimas
- Standartinis įkainis Pasirinkus flex režimą
- Didžiausios samprotavimo pastangos
- Standartinis įkainis Kai didžiausioms samprotavimo pastangoms taikomas numatytasis koregavimas (default)
Ailoot įkainiai
Kainos pagal konfigūraciją
| Konfigūracija | Įkainių lentelė | Mokestis |
|---|---|---|
| KonfigūracijaBaziniai žetonų įkainiai | Įkainių lentelėBazinis įkainis | Mokestis Įvestis · Įvesties tokenai $0.0003 / 1K tokenų Išvestis · Išvesties tokenai $0 / 1K tokenų Įvestis · Talpyklos skaitymas — / 1K tokenų Įvestis · Rašymas į talpyklą — / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val — / 1K tokenų |
Ailoot prieš užklausą rezervuoja numatomą sumą. Gavus rezultatą, galutinis mokestis nuskaitomas pagal išmatuotą naudojimą. Srautinio atsakymo atsiskaitymui naudojamas galutinis naudojimo įrašas. Kaip veikia rezervavimas ir atsiskaitymas →
Užklausų pavyzdžiai
Ailoot Ultra · Įterpiniai
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)
Gauti ir išsaugoti rezultatus
Ailoot Ultra · Įterpiniai
json
Išsaugoti visus baigtus rezultatus
Išsaugokite kiekvieną visą grąžintą atsakymą, failą ir turinio dalį.
Išsaugokite kiekvieną vektorių su jo indeksu. Vektorių skaičius turi sutapti su įvesčių skaičiumi; jų matmenų skaičius turi būti vienodas.
Jei reikia patikrinti pradinį atsakymą
Vektorių generavimo užduotims atskiras API galinis taškas neįvedamas.
Atsakymo laukai
| Laukas | Tipas |
|---|---|
Laukasobject | Tipasstring |
Laukasmodel | Tipasstring |
Laukasdata[].index | Tipasinteger |
Laukasdata[].embedding | Tipasfinite float[] |
Laukasusage | Tipasobject |
Klaidos ir tolesni veiksmai
| Atsakymas | Sąlyga | Kitas žingsnis |
|---|---|---|
Atsakymas400 · invalid_request_error | SąlygaNetinkami privalomi laukai, medžiagos pateikimo forma arba parametro reikšmė | Kitas žingsnisPrieš naują kūrimo užklausą pataisykite nurodytus laukus. |
Pseudonimai
Modelių pseudonimai
Ailoot Ultra mistralai/codestral-embed-2505
Metodų kelių pseudonimai
Naudokite aukščiau nurodytus metodų kelius.
Susiję ID iškvietimui
FAQ · Mistral: Codestral Embed 2505
- Kokios įvestys ir rezultatai prieinami?
POST /v1/embeddings·mistralai/codestral-embed-2505:text,token_ids→embedding- Kokius laukus naudoja užklausa?
POST /v1/embeddings·mistralai/codestral-embed-2505:model,input,encoding_format,provider- Kokie apribojimai taikomi?
POST /v1/embeddings·mistralai/codestral-embed-2505:ctx:8192;input.budget.maximum:8192(UTF8 baitai);input.min_items:1