Mistral: Codestral 2508 (batch)
Codestral 2508 — Mistral AI kompaniyasining kod yaratish va kontekstga mos to‘ldirish uchun matn modeli. U tez-tez bajariladigan muharrir vazifalari, jumladan kod o‘rtasidagi bo‘shliqni to‘ldirish va ko‘p qatorli tahrirlar uchun optimallashtirilgan; ishlab chiqaruvchi ko‘rsatgan konteksti 128k, suhbat, tuzilmali natija va vosita imkoniyatlari hujjatlashtirilgan.
Model haqida
Bu tavsif model imkoniyatlarini yoritadi. Ailoot da tanlangan usul uchun mavjud kirish, chiqish va parametrlar quyida keltirilgan.
Codestral 2508 — Mistral AI kompaniyasining tez-tez takrorlanadigan, kechikishga sezgir to‘ldirish va yaratish vazifalari uchun kod modeli. U manba kodi va matnli talablarni qabul qilib, amalga oshirilgan yechim, to‘ldirish, tuzatish yoki tushuntirishni o‘z ichiga olishi mumkin bo‘lgan matn qaytaradi. Nomlangan 2508 nashri embedding modeli yoki mustaqil to‘liq repozitoriy agenti bo‘lishdan ko‘ra dasturchining joriy tahrir kontekstiga yo‘naltirilgan.
Kodni to‘ldirish va 2508 yangilanishi
Ishlab chiqaruvchi Codestralni kod o‘rtasidagi bo‘shliqni to‘ldirish va ko‘p qatorli tahrirlash uchun tavsiya qiladi. Relizda to‘ldirish xatti-harakatidagi yaxshilanishlar, jumladan nazoratsiz davom etuvchi yaratishni kamaytirish, shuningdek suhbat rejimida ko‘rsatmalarga rioya qilish va kod vazifalaridagi yaxshilanishlar ta’riflanadi. Bular Codestralning ushbu nashridagi o‘zgarishlar; uni o‘rab turgan dasturlash tizimining qidiruv va avtonom agent imkoniyatlari alohida nomlangan komponentlarga tegishli.
To‘ldirish vazifasida tegishli funksiya imzosi, e’lonlar va chaqiruv kontekstini kursor joylashuvi bilan birga saqlang. Kerakli natija faqat yetishmayotgan kodmi yoki to‘liq qayta ko‘rilgan funksiyami, aniqlang. Muharrir uslubidagi so‘rov mavjud qaytarish turini saqlaydigan, takroriy qiymatlarni qoldiradigan va chaqiruvchi bergan kirish ma’lumotini o‘zgartirmaydigan sikl tanasini talab qilishi mumkin. Shunda natijaning aniq kiritish joyi va belgilangan xatti-harakati bo‘ladi.
O‘rtadagi bo‘shliqni to‘ldirishga tayyorlash
Ishlab chiqaruvchining FIM interfeysida prompt to‘ldiriladigan matn yoki kodni, ixtiyoriy suffiks esa bo‘shliqdan keyingi materialni beradi. Ikkalasi ham berilganda model ular orasidagi bo‘shliqni to‘ldiradi. Suffikssiz u promptdan boshlab davom ettiradi. Bu kod o‘zgarishi va izoh so‘raladigan odatiy suhbat so‘rovidan farq qiladi; tayyorlashning har bir usuli natija uchun boshqacha talablarni belgilaydi.
Bo‘shliqni to‘ldirish uchun foydali kirish ma’lumoti funksiya boshlanishi, kiritilgan parchadan keyin kelishi shart bo‘lgan kod va tegishli tur yoki yordamchi ta’riflarni o‘z ichiga oladi. Qaytgan matn mavjud parchaga mos tushishi uchun chekinishlar va ajratgichlarni saqlang. Vazifaga faqat yetishmayotgan tana kerak bo‘lsa, butun faylni qayta yozish o‘rniga shu tanani so‘rang. Alohida suhbat savoli to‘ldirilgan parcha nega talabga mos kelishini tushuntirishi mumkin.
Rasmiy FIM hujjatlari chiqish tokenlari budjetini belgilashga ruxsat beradi va prompt bilan ushbu budjet yig‘indisi model konteksti ichida qolishini talab qiladi. Shuningdek, to‘xtatish ketma-ketliklari va yaratilayotgan mazmunni oqim orqali uzatishni hujjatlashtiradi. Natija koddagi bo‘shliqqa mos tushishi shart bo‘lsa, to‘ldirish jarayonini; vazifa kod bilan birga izoh talab qilsa, suhbat jarayonini tanlang.
Kontekst va yordamchi imkoniyatlar
Model sahifasida 128k kontekst oynasi berilgan. Amaldagi tahrir vazifasini aniq saqlagan holda, ko‘zlangan o‘zgarishni belgilaydigan manba va e’lonlarni kontekstda qoldiring. Xato tuzatish so‘rovi uchun ta’sirlangan funksiya, aniq muvaffaqiyatsiz kirish, kutilgan natija va xato yoki kuzatilgan xatti-harakatni bering. Taklif etilgan tuzatishni uning izohi va misollaridan alohida so‘rang.
Sahifada suhbat va FIM imkoniyatlari bilan bir qatorda tuzilmali natijalar, funksiya chaqirish, oldindan ma’lum natijalar, hujjat bo‘yicha savol-javob, javob prefikslari va paketli ishlov berish ham sanaladi. Tuzilmali kod tahlili natijasi uchun ta’sirlangan belgi, kuzatilgan nomuvofiqlik, taklif etilgan o‘zgarish va hali aniqlashtirilishi kerak bo‘lgan taxmin kabi maydonlarni belgilang. Mistralning tuzilmali natija yo‘riqnomasi JSON rejimini maxsus sxemadan farqlaydi; kerakli JSON shakli promptda aytiladi.
Oldindan ma’lum natijalar javobning katta qismlari avvaldan ma’lum bo‘lgan mazmun uchun mo‘ljallangan. Ulardan hujjat yoki kod faylini cheklangan tahrir bilan qayta yaratishda, qolgan mazmunni saqlagan holda foydalanish mumkin. Aniq o‘zgarish va saqlanishi kerak bo‘lgan materialni ko‘rsating. Javob prefiksi esa yaratish davom etadigan ma’lum boshlanishni beradi; u to‘liq ma’lum tanadan ham, FIM suffiksidan ham farq qiladi.
Hujjatga oid savolda til modeli tahlilidan oldin OCR yordamida matn va tuzilmani tayyorlash uchun ishlab chiqaruvchining hujjatga ishlov berish jarayonidan foydalanish mumkin. Dasturlash materiali allaqachon matn ko‘rinishida bo‘lsa, hujjatning tegishli parchalarini bering va amalga oshirishni qaysi shart belgilashini so‘rang. Yaratilgan kod yoki izoh berilgan spetsifikatsiyaga bog‘liq qolishi uchun har bir ajratilgan talabni uning manba bo‘limi bilan bog‘lang.
Vositalar va amaliy natijalar
Funksiya chaqirish ilovaga tavsiflangan amallar va ularning parametrlarini berish imkonini beradi. Model chaqiruvni tayyorlaydi, ilova uni bajaradi va qaytgan natija keyingi javob kontekstiga aylanadi. Kod yordamchisi ushbu sikl orqali qidiruv yoki hisoblash natijasini olishi mumkin, ammo taklif etilgan o‘zgarishni kompilyatsiya qilish, sinash yoki qo‘llash uchun hamon tashqi ishlab chiqish muhiti kerak.
Amaliy tuzatishda mosligi saqlanishi shart bo‘lgan ochiq interfeysni belgilang va qayta ko‘rilgan parcha, qisqa tushuntirish hamda kutilgan natijali kirish misollarini so‘rang. Yaratiladigan funksiya uchun qabul qilinadigan turlar va chegaraviy shartlarni ayting. Tushuntirish uchun kuzatib chiqiladigan kirish ma’lumotini bering, shunda javob aniq bajarilish yo‘lini qaytarilgan qiymat bilan bog‘laydi.
Codestral matn yaratadi. U Codestral Embedning kod qidirish vektorlarini, Devstralning repozitoriy avtomatizatsiyasini yoki vizual modelning tasvir yaratishini meros qilib olmaydi. Aynan 2508 model sahifasida parametrlar soni yoki boshqa relizdan olinadigan mustaqil maksimal javob uzunligi e’lon qilinmagan. Takrorlanadigan muharrir yoki suhbat jarayonini tayyorlashda nomlangan nashr, kod konteksti va zarur materialni saqlang.
Ailoot Ultra · Paketli ishlov berish POST /v1/batches mistralai/codestral-2508:batch
mistralai/codestral-2508:batch
mistralai/codestral-2508:batchBoshlash
Codestral 2508 — Mistral AI kompaniyasining kod yaratish va kontekstga mos to‘ldirish uchun matn modeli. U tez-tez bajariladigan muharrir vazifalari, jumladan kod o‘rtasidagi bo‘shliqni to‘ldirish va ko‘p qatorli tahrirlar uchun optimallashtirilgan; ishlab chiqaruvchi ko‘rsatgan konteksti 128k, suhbat, tuzilmali natija va vosita imkoniyatlari hujjatlashtirilgan.
- Qabul qilinadigan kirish ma’lumotlari
- Matn
- Natijalar
- Matn
Ailoot da mavjud · kirish ma’lumotlari va usullar
Ailoot Ultra · Paketli ishlov berish POST /v1/batches
- Kirish
text- Chiqish
text- Chiqish formati
- Javobga bevosita kiritilgan results[].response.body JSON ma’lumotlari
| Maydon | Tur | Talab | Qiymatlar va cheklovlar | Standart |
|---|---|---|---|---|
Maydonendpoint | Turstring | TalabMajburiy | Qiymatlar va cheklovlar /v1/chat/completions | Standart— |
Maydonmodel | Turstring | TalabMajburiy | Qiymatlar va cheklovlar mistralai/codestral-2508:batch | Standart— |
Maydonrequests | Turbatch_item[] | TalabMajburiy | Qiymatlar va cheklovlar Elementlarning eng kam soni: 1 | Standart— |
Maydonrequests[].custom_id | Turstring | TalabMajburiy | Qiymatlar va cheklovlar | Standart— |
Maydonrequests[].body.messages | Turmessage[] | TalabMajburiy | Qiymatlar va cheklovlar | Standart— |
Maydoncompletion_window | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar 24h | Standart— |
Maydonprovider | Turobject|null | TalabIxtiyoriy | Qiymatlar va cheklovlar | Standart— |
Maydonrequests[].body.model | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar mistralai/codestral-2508:batch, mistralai/codestral-2508 | Standart— |
Maydonprovider.only | Turstring[] | TalabIxtiyoriy | Qiymatlar va cheklovlar mistral | Standart— |
Maydonprovider.allow_fallbacks | Turboolean|null | TalabIxtiyoriy | Qiymatlar va cheklovlar false, null | Standart— |
Usul parametrlari va hayot sikli
| Parametr | Parametr talablari |
|---|---|
Parametrcontent_type | Parametr talablariapplication/json |
Parametrrequired | Parametr talablariendpoint, model, requests |
Parametrmaterial_types | Parametr talablaritext |
Parametrrepresentation | Parametr talablariSo‘rovga bevosita kiritilgan requests[] massivi; har bir elementda custom_id va body mavjud. |
Parametrrequest_endpoint_profile | Parametr talablari/v1/chat/completions |
Parametrfile_material | Parametr talablariChaqiruvchi haqiqiy UTF-8 JSONL ma’lumotlarini mahalliy tarzda requests[] ichiga o‘qishi mumkin. Yuklash maqsadi, input_file_id yoki faylga havola ishlatilmaydi. Mijoz materiali yo‘q yoki bo‘sh bo‘lsa, tayyorlash POST dan oldin to‘xtaydi. |
Parametrserialization_order | Parametr talablariendpoint, model, provider (agar berilgan bo‘lsa), completion_window (agar berilgan bo‘lsa), requests eng oxirida |
Parametroptional_controls | Parametr talablariprovider.only, provider.allow_fallbacks, completion_window |
Parametrschema_scope | Parametr talablariHujjatlarda ko‘rsatilgan Batch tuzilmasiga bevosita kiritilgan matnli Chat Completions so‘rovlarining tanalari. |
Hayot sikli: asynchronous
GET /v1/batches/{operation_id} · Dastlabki yaratish javobida amalda qaytarilgan response.id; aynan o‘sha foydalanuvchi/kalit/guruh
Tariflar
Tarif ma’lumotlari so‘rov imkoniyatlarini qo‘shmaydi. Qo‘llab-quvvatlanadigan parametrlar tanlangan usulda ko‘rsatilgan.
- Tezkor rejim
- Ko‘rsatilmagan Tezkor rejim tanlanganda
- Flex rejimi
- Ko‘rsatilmagan flex rejimi tanlanganda
- Maksimal fikrlash darajasi
- Ko‘rsatilmagan Maksimal fikrlash darajasi uchun standart (default) tuzatish qo‘llanganda
- Ochiq ko‘rsatilgan keshlash narxlari
- Yoqilmagan Ochiq ko‘rsatilgan keshlash so‘ralganda
Ailoot tariflari
Sozlamalar bo‘yicha narxlar
Har bir to‘lovni ko‘rsatilgan shartlarga moslang. Har bir muqobil sozlamalar to‘plami uchun bitta tarifdan foydalaning.
| Sozlama | Tariflar jadvali | Kontekst tokenlari soni bundan ko‘p | Kontekst tokenlari soni bundan oshmaydi, chegara kiradi | To‘lov |
|---|---|---|---|---|
| SozlamaTokenlar uchun bazaviy tariflar | Tariflar jadvaliAsosiy tarif | Kontekst tokenlari soni bundan ko‘p— | Kontekst tokenlari soni bundan oshmaydi, chegara kiradiYuqori chegara yo‘q | To‘lov Kirish · Kirish tokenlari $0.0003 / 1K token Chiqish · Chiqish tokenlari $0.0009 / 1K token Kirish · Keshdan o‘qish $0.00003 / 1K token Kirish · Keshga yozish — / 1K token Kirish · Keshga yozish, 1 soat — / 1K token |
| SozlamaSo‘rov uzunligi bo‘yicha 1-daraja | Tariflar jadvali— | Kontekst tokenlari soni bundan ko‘p0 | Kontekst tokenlari soni bundan oshmaydi, chegara kiradiYuqori chegara yo‘q | To‘lov Kirish · Kirish tokenlari $0.0003 / 1K token Chiqish · Chiqish tokenlari $0.0009 / 1K token Kirish · Keshdan o‘qish $0.00003 / 1K token Kirish · Keshga yozish — / 1K token Kirish · Keshga yozish, 1 soat — / 1K token |
Ailoot so‘rovdan oldin taxminiy summani band qiladi. Natijadan keyin o‘lchangan sarf asosidagi yakuniy to‘lovni yechadi. Oqimli javob bo‘yicha yakuniy hisob-kitob yakuniy sarf yozuviga asoslanadi. Summani band qilish va to‘lovni hisoblash tartibi →
So‘rov namunalari
Ailoot Ultra · Paketli ishlov berish
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json
from pathlib import Path
body=json.loads('{"endpoint":"/v1/chat/completions","model":"mistralai/codestral-2508:batch","requests":[{"custom_id":"req-0001","body":{"messages":[{"role":"user","content":"Hello!"}],"max_tokens":16}}]}')
Path("batch-request.json").write_text(json.dumps(body,ensure_ascii=False),encoding="utf-8")
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/batches \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @batch-request.json -D batch-response-headers.txt -o batch-create-response.json
import json, os
from pathlib import Path
from urllib.request import Request, urlopen
def prepare_requests(customer_path):
path = Path(customer_path)
if not path.is_file(): raise ValueError("Customer JSONL file is missing")
items = [json.loads(line) for line in path.read_text(encoding="utf-8").splitlines() if line.strip()]
if not items: raise ValueError("Customer JSONL contains no requests")
ids = set()
for item in items:
if set(item) != {"custom_id", "body"}: raise ValueError("Each item needs custom_id and body")
cid = item["custom_id"]
if not isinstance(cid, str) or not cid.strip() or cid in ids: raise ValueError("custom_id must be nonempty and unique")
ids.add(cid)
if not isinstance(item["body"], dict) or not item["body"].get("messages"): raise ValueError("Supply actual text messages")
supplied_model = item["body"].get("model")
if supplied_model is not None and supplied_model not in ['mistralai/codestral-2508:batch', 'mistralai/codestral-2508']: raise ValueError("body.model must be an exact documented caller or wire ID")
return {"endpoint":"/v1/chat/completions", "model":"mistralai/codestral-2508:batch", "requests":items}
if __name__ == "__main__":
material = os.environ.get("AILOOT_BATCH_REQUESTS_JSONL", "")
if not material: raise SystemExit("Set AILOOT_BATCH_REQUESTS_JSONL to your actual customer file")
body = prepare_requests(material)
key = os.environ.get("AILOOT_API_KEY", "")
if not key: raise SystemExit("Set AILOOT_API_KEY")
request = Request("https://api.ailoot.ai/v1/batches", data=json.dumps(body, ensure_ascii=False).encode("utf-8"), headers={"Authorization":"Bearer " + key, "Content-Type":"application/json"}, method="POST")
with urlopen(request) as response:
raw = response.read()
Path("batch-create-response.json").write_bytes(raw)
print(raw.decode("utf-8"))
import json
from pathlib import Path
raw = Path("batch-status-response.json").read_bytes()
response = json.loads(raw)
if response.get("status") != "completed":
raise SystemExit("Keep the original operation; read its status without resubmitting")
results = response.get("results")
if not isinstance(results, list) or not results:
raise SystemExit("Preserve the original response; completed results are missing")
Path("batch-results.jsonl").write_text("".join(json.dumps(item, ensure_ascii=False) + "\n" for item in results), encoding="utf-8")
# Preserve batch-status-response.json with aggregate usage and every result/error.
Natijalarni olish va saqlash
Ailoot Ultra · Paketli ishlov berish
Javobga bevosita kiritilgan results[].response.body JSON ma’lumotlari
GET /v1/batches/{operation_id}
Vazifa holatini tekshirish
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
BATCH_OPERATION_ID="$(python3 - <<'PY_ID'
import json
from pathlib import Path
from urllib.parse import quote
response = json.loads(Path("batch-create-response.json").read_text(encoding="utf-8"))
operation = response.get("id")
if not isinstance(operation, str) or not operation: raise SystemExit("No actual original operation ID; preserve the response and do not resubmit")
print(quote(operation, safe=""))
PY_ID
)"
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/batches/$BATCH_OPERATION_ID" \
-H "Authorization: Bearer $AILOOT_API_KEY" -o batch-status-response.json
Barcha tayyor natijalarni saqlash
Qaytarilgan har bir to‘liq javob, fayl va kontent qismini saqlang.
Dastlabki holat haqidagi to‘liq JSON ni, har bir natija/custom_id ni va to‘liq javob yoki xato tanasini saqlang. Tugallangan results[] ni hech narsani filtrlab tashlamasdan JSONL sifatida saqlang.
Asl javobni tekshirish kerak bo‘lsa
Dastlabki operatsiya ID sini saqlang. 503 result_pending_check javobida X-Should-Retry:false mavjud; natijasi noma’lum bo‘lgan dastlabki paketni hech qachon qayta yubormang.
Javob maydonlari
| Maydon | Tur |
|---|---|
Maydonresults[].custom_id | Turstring |
Maydonresults[].response.body.choices[].message.content | Turstring|null |
Maydonresults[].error | Turobject|null |
Maydonusage | Turobject|null |
Maydonid | Turstring |
Maydonmodel | Turstring |
Maydonendpoint | Turstring |
Maydonstatus | Turstring |
Maydonrequest_counts | Turobject |
Maydonresults[].id | Turstring |
Maydonresults[].response.status_code | Turinteger |
Maydonresults[].response.request_id | Turstring |
Xatolar va keyingi qadamlar
| Javob | Shart | Keyingi qadam |
|---|---|---|
Javob400 · invalid_request_error | ShartHujjatlarda ko‘rsatilgan, so‘rovga bevosita kiritiladigan tuzilma yaroqsiz, kalitlar takrorlangan, element identifikatori noto‘g‘ri yoki so‘rov modelning sozlangan imkoniyatlariga zid. | Keyingi qadamHar qanday yangi yuborishdan oldin ko‘rsatilgan maydonlarni tuzating. |
Javob401 · authentication_error | ShartAPI kaliti yaroqsiz. | Keyingi qadamFoydalanishga ruxsat berilgan Ailoot kalitidan foydalaning. |
Javob403 · permission_error | ShartPaketli ishlov berish guruhi mavjud emas. | Keyingi qadamKalit/guruhning foydalanish huquqini tekshiring. |
Javob422 · invalid_request_error | ShartPaketli ishlov berish to‘lovi balansdan yechiladi; obuna orqali yaratish rad etiladi. | Keyingi qadamFoydalanishga ruxsat berilgan, to‘lovi balansdan yechiladigan guruhdan foydalaning. |
Javob422 · price_unavailable | ShartPaket kirish ma’lumotlari uchun narx hisoblab bo‘lmaydi. | Keyingi qadamJavobni saqlang; tegishli API oilasi uchun hujjatlarda belgilangan kirish ma’lumotlaridan foydalaning. |
Javob402 · billing_error | ShartPaketli ishlov berish uchun zaxira mavjud emas. | Keyingi qadamYangi so‘rovdan oldin so‘rovni qabul qilishga ruxsat masalasini hal qiling. |
Javob503 · price_unavailable | ShartPaketli ishlov berish usulining narxi yoki tizimning ichki tariflari mavjud emas. | Keyingi qadamJavobni saqlang; narxlarni almashtirmang. |
Javob503 · api_error | ShartTa’minotchining aynan shu yo‘nalishi mavjud emas. | Keyingi qadamYo‘nalishni tuzatish uchun javobni saqlang. |
Javob503 · result_pending_check | ShartDastlabki natijani tekshirish kerak; X-Should-Retry:false. | Keyingi qadamDastlabki operation_id/id ni saqlang va uning holatini o‘qing; dastlabki POST ni hech qachon takrorlamang. |
Javob404 · not_found | ShartPaket holatini tekshirish operatsiyasi mavjud emas yoki boshqa foydalanuvchi/kalit/guruhga tegishli. | Keyingi qadamAynan dastlabki id va o‘sha foydalanuvchi/kalit/guruhdan foydalaning. |
Taxalluslar
Model taxalluslari
Ailoot Ultra mistralai/codestral-2508:batch
Usul yo‘llari taxalluslari
Yuqorida ko‘rsatilgan usul yo‘llaridan foydalaning.
Chaqirish uchun tegishli ID lar
FAQ · Mistral: Codestral 2508 (batch)
- Qanday kirish ma’lumotlari va natijalar mavjud?
POST /v1/batches·mistralai/codestral-2508:batch:text→text- So‘rov qaysi maydonlardan foydalanadi?
POST /v1/batches·mistralai/codestral-2508:batch:endpoint,model,requests,completion_window,provider- Qanday cheklovlar amal qiladi?
POST /v1/batches·mistralai/codestral-2508:batch:requests.min_items:1