VoyageAI by MongoDB: voyage-code-4
Voyage AI voyage-code-4 yra kodo įterpinių modelis, skirtas aktualiam šaltinio kodui rasti pagal klausimus, problemų aprašymus ir programavimo agentų tikslus. Jis palaiko 32 000 žetonų įvestis ir 256, 512, 1024 arba 2048 matmenis, naudodamas slankiojo kablelio ir kvantuotas reprezentacijas.
Apie modelį
Šis aprašas apima modelio galimybes. Pasirinktam metodui Ailoot prieinamos įvestys, išvestys ir parinktys nurodytos toliau.
voyage-code-4 yra Voyage AI kodo įterpinių modelis, skirtas paieškai saugyklose ir programavimo agentų informacijos paieškai. Jis sukurtas padėti rasti aktualų šaltinio kodą, kai atspirties taškas yra klausimas, simptomas ar užduoties aprašymas, o ne žinomas identifikatorius. Kodą ir tekstinę informaciją jis atvaizduoja skaitiniais vektoriais paieškai; saugyklos neredaguoja ir pataisos negeneruoja.
Raskite kodą pagal tiriamą problemą
Gamintojas aprašo mokymo korpusą, atrinktą iš užbaigtų pull requestų, jungiantį natūraliosios kalbos užklausas su kodu. Tai reikšmingas skirtumas nuo mokymo pavyzdžių, daugiausia sudarytų iš šaltinio failų ir jų dokumentavimo eilučių: paieškos užduotis gali prasidėti nuo elgsenos, kurią reikia ištirti.
Paruoškite užklausą, pavyzdžiui, „Raskite vietą, kur tuščias rezultatas lemia, kad sėkminga operacija pranešama kaip nesėkmė“. Indeksuokite skaitomus šaltinio kodo skyrius su failų keliais ir aktualiais komentarais. Išsaugokite funkciją supančias sąlygas, kai jos paaiškina jos elgseną. Grąžintas kandidatas turėtų nuvesti skaitytoją ar agentą atgal į jo atvaizduojamą šaltinio skyrių.
Semantinė paieška gali papildyti tikslių identifikatorių ir viso teksto paiešką. Jei funkcijos pavadinimas jau žinomas, tiksli paieška išlieka naudinga. Jei žinomas tik simptomas, vektorinė paieška gali pateikti kandidatus, kuriuos galima patikrinti ir patikslinti kita užklausa.
Užklausos ir dokumento vaidmenys
Voyage paieškos gairės skiria užklausą nuo korpuso dokumento per query/document įvesties tipus. Ieškodami kodo problemos ar užduoties aprašymą naudokite kaip užklausą, o indeksuotą šaltinio kodą ar dokumentaciją – kaip dokumentą. Paskelbta procedūra kuriant įterpinius prideda vaidmeniui būdingas paieškos instrukcijas.
Originalų kodo formatavimą, pavadinimus ir aktualią dokumentaciją išlaikykite prieinamus už vektoriaus ribų. Šaltinio skyriui išsaugokite failo kelią ir vietą, o programavimo vadovui – antraštę. Po paieškos patikrinkite tikrąjį kodą ir jį iškviečiančias vietas prieš pasirinkdami redagavimą. Kandidato aktualumas neįrodo, kad jis yra vienintelė praneštos problemos priežastis.
Konteksto ir reprezentacijos pasirinkimai
Paskelbtas šio konkretaus modelio konteksto ilgis yra 32 000 žetonų. Jo numatytasis įterpinys turi 1024 matmenis, o Matryoshka mokymasis taip pat palaiko 256, 512 ir 2048 matmenis. Pranešime dokumentuojamos 32 bitų slankiojo kablelio, 8 bitų sveikųjų skaičių su ženklu ir be ženklo bei dvejetainės reprezentacijos.
Kolekcijai pasirinkite vieną matmenų skaičių ir reprezentaciją bei saugokite juos su jos metaduomenimis. Slankiojo kablelio vektoriams ir kvantuotoms reprezentacijoms reikia atitinkamo saugojimo ir palyginimo apdorojimo. Dvejetainė reprezentacija vektoriaus informaciją koduoja kitaip nei įprastų slankiojo kablelio koordinačių sąrašas; ruošdami rezultatus paieškai išsaugokite šį skirtumą.
Ilgame faile rinkitės rišlius skyrius, kurių vietas šaltinyje galima atkurti. Funkcijai gali reikėti gretimo tipo apibrėžimo ar komentaro sąlygai paaiškinti, o visas pernelyg didelis failas gali turėti nesusijusios medžiagos. Skyrių suderinkite su užduotimi, pagal kurią bus ieškoma, užuot didžiausią kontekstą laikę pageidaujamu fragmento dydžiu.
Rastą šaltinio kodą naudokite kaip pagrindimą
Praktinis programavimo agento procesas suranda kandidatinius šaltinio fragmentus, perskaito tuos failus, seka aktualias nuorodas ir siaurina paiešką tyrimui tęsiantis. Rastas tekstas tampa samprotavimo ar redagavimo etapo kontekstu. Išsaugokite jo ryšį su indeksuota saugyklos versija, kad kandidatas būtų tikrinamas pagal tinkamą šaltinį.
Konkrečios voyage-code-4 versijos indėlis yra dėmesys programavimo agentų naudojamam paieškos nuo problemos iki kodo etapui kartu su lanksčiais matmenimis ir reprezentacijomis. Jo išvestis yra paieškos vektorius, o diagnostika, redagavimas ir tikrinimas lieka atskiromis užduotimis, pagrįstomis tikrąja saugykla.
Ailoot Ultra · Įterpiniai POST /v1/embeddings voyageai/voyage-code-4
voyageai/voyage-code-4Pradžia
Voyage AI voyage-code-4 yra kodo įterpinių modelis, skirtas aktualiam šaltinio kodui rasti pagal klausimus, problemų aprašymus ir programavimo agentų tikslus. Jis palaiko 32 000 žetonų įvestis ir 256, 512, 1024 arba 2048 matmenis, naudodamas slankiojo kablelio ir kvantuotas reprezentacijas.
- 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
- 32 000 tokens
- Išvesties formatas
- json
| Laukas | Tipas | Reikalavimas | Reikšmės ir ribos | Numatyta |
|---|---|---|---|---|
Laukasmodel | Tipasstring | ReikalavimasPrivaloma | Reikšmės ir ribos voyageai/voyage-code-4 | 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ė: 32 000 · 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 | Specifikacija32000 |
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.00024 / 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": "voyageai/voyage-code-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-code-4',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 voyageai/voyage-code-4
Metodų kelių pseudonimai
Naudokite aukščiau nurodytus metodų kelius.
Susiję ID iškvietimui
FAQ · VoyageAI by MongoDB: voyage-code-4
- Kokios įvestys ir rezultatai prieinami?
POST /v1/embeddings·voyageai/voyage-code-4:text,token_ids→embedding- Kokius laukus naudoja užklausa?
POST /v1/embeddings·voyageai/voyage-code-4:model,input,encoding_format,provider- Kokie apribojimai taikomi?
POST /v1/embeddings·voyageai/voyage-code-4:ctx:32000;input.budget.maximum:32000(UTF8 baitai);input.min_items:1