Mistral: Codestral 2508 (batch)
Codestral 2508 — Mistral AI компаниясының код жасауға және контексті ескеріп толықтыруға арналған мәтін моделі. Ол редактордағы жиі тапсырмаларға, соның ішінде код ортасындағы бос орынды толтыруға және бірнеше жолды өңдеуге оңтайландырылған; өндіруші көрсеткен 128 мың токендік контексті және құжатталған чат, құрылымдалған шығыс пен құрал мүмкіндіктерін ұсынады.
Модель туралы
Бұл сипаттама модель мүмкіндіктерін қамтиды. Ailoot жүйесінде таңдалған әдіс үшін қолжетімді кіріс, шығыс және параметрлер төменде берілген.
Codestral 2508 — Mistral AI компаниясының жиі орындалатын, кідіріске сезімтал толықтыру және код жасау тапсырмаларына арналған кодтау моделі. Ол бастапқы код пен мәтіндік талаптарды қабылдап, іске асыру, толықтыру, түзету немесе түсіндірме қамтитын мәтін қайтарады. Аталған 2508 шығарылымы ендірілім моделі немесе өздігінен толыққанды репозиторий агенті болудан гөрі әзірлеушінің ағымдағы өңдеу контекстіне бағытталған.
Кодты толықтыру және 2508 жаңартуы
Өндіруші Codestral моделін код ортасындағы бос орынды толтыруға және бірнеше жолды өңдеуге арнайды. Шығарылым сипаттамасында шамадан тыс генерацияны азайтуды қамтитын толықтыру әрекетінің жақсаруы, сондай-ақ чат режимінде нұсқауларды орындау мен код тапсырмаларының жақсаруы аталады. Бұлар осы Codestral шығарылымындағы өзгерістер; айналасындағы кодтау құралдары жүйесінің ақпарат іздеу және автономды агент мүмкіндіктері бөлек аталған компоненттерге тиесілі.
Толықтыру тапсырмасында қатысты функция сигнатурасын, жарияланымдарды және шақыру контекстін меңзер орнымен бірге сақтаңыз. Қажетті нәтиже тек жетіспейтін код па, әлде толық түзетілген функция ма — соны көрсетіңіз. Редакторға тән сұрау қолданыстағы қайтару түрін сақтайтын, қайталанатын мәндерді қалдыратын және шақырушының кірісін өзгертпейтін цикл денесін сұрауы мүмкін. Сонда нәтижені енгізетін нақты орын мен анықталған әрекет болады.
Код ортасындағы бос орынды толтыруға дайындау
Өндірушінің FIM интерфейсінде промпт толықтырылатын мәтінді немесе кодты береді, ал міндетті емес суффикс бос орыннан кейінгі материалды береді. Екеуі де берілсе, модель олардың арасын толтырады. Суффикс болмаса, промпттан әрі жалғастырады. Бұл код өзгерісі мен түсіндірмені сұрайтын қалыпты әңгімелесу сұрауынан өзгеше; әр дайындау тәсілі бөлек шығыс шартын анықтайды.
Бос орынды толтыруға пайдалы кіріс функцияның басын, енгізілетін бөліктен кейін тұруға тиіс кодты және қатысты түр не көмекші функция анықтамаларын қамтиды. Қайтарылған мәтін қолданыстағы үзіндіге үйлесуі үшін шегіністер мен бөлгіштерді сақтаңыз. Тапсырмаға тек жетіспейтін дене қажет болса, бүкіл файлды қайта жазуды емес, сол денені сұраңыз. Бөлек чат сұрағы толықтырылған үзінді талапқа неліктен сай екенін түсіндіре алады.
Ресми FIM құжаттамасы шығыс токендерінің бюджетін белгілеуге мүмкіндік береді және промпт пен осы бюджет модельдің контекст шегінде қалуын талап етеді. Онда тоқтату тізбектері мен жасалған мазмұнды ағынмен беру де құжатталған. Нәтиже кодтағы бос орынға дәл келуге тиіс болса, толықтыру үдерісін, ал тапсырма код пен түсіндірмені бірге сұраса, әңгімелесу үдерісін таңдаңыз.
Контекст және қосымша мүмкіндіктер
Модель бетінде 128 мың токендік контекст терезесі көрсетілген. Контексті көзделген өзгерісті анықтайтын бастапқы код пен жарияланымдарды сақтауға пайдаланып, нақты өңдеу тапсырмасын айқын қалдырыңыз. Қатені түзету сұрауы үшін қатысты функцияны, нақты сәтсіз кірісті, күтілетін нәтижені және қатені немесе байқалған әрекетті беріңіз. Ұсынылған түзетуді оның түсіндірмесі мен мысалдарынан бөлек сұраңыз.
Бетте чат пен FIM мүмкіндіктерімен қатар құрылымдалған шығыс, функция шақыруы, болжамды шығыс, құжат бойынша сұрақтарға жауап беру, жауап префикстері және пакеттік өңдеу де тізілген. Құрылымдалған код шолуы үшін қатысты символ, байқалған сәйкессіздік, ұсынылған өзгеріс және әлі нақтылауды қажет ететін жорамал сияқты өрістерді анықтаңыз. Mistral компаниясының құрылымдалған шығыс нұсқаулығы JSON режимін арнайы схемадан ажыратады; қажетті JSON пішімі промптта көрсетіледі.
Болжамды шығыс жауаптың елеулі бөлігі алдын ала белгілі мазмұнға арналған. Оны құжатты немесе код файлын шектеулі өзгеріспен қайта жасап, қалған мазмұнын сақтау кезінде пайдалануға болады. Нақты өзгерісті және сақталуға тиіс материалды көрсетіңіз. Ал жауап префиксі генерация жалғасатын белгілі бастауды береді; ол белгілі толық мәтіннен де, FIM суффиксінен де бөлек.
Құжаттама туралы сұрақта тіл моделі талдауына дейін мәтін мен құрылымды OCR арқылы дайындау үшін өндірушінің құжат өңдеу үдерісін пайдалануға болады. Мәтін түрінде бар бағдарламалау материалы үшін тиісті құжаттама үзінділерін беріп, іске асыруға қай шарт қолданылатынын сұраңыз. Жасалған код немесе түсіндірме берілген спецификациямен байланысын сақтауы үшін әр алынған талапты бастапқы бөлімімен байланыстырыңыз.
Құралдар және практикалық нәтижелер
Функция шақыруы қолданбаға сипатталған операциялар мен олардың параметрлерін беруге мүмкіндік береді. Модель шақыруды дайындайды, қолданба оны орындайды, ал қайтарылған нәтиже келесі жауапқа контекст болады. Код көмекшісі осы цикл арқылы іздеу немесе есептеу нәтижесін ала алады, бірақ ұсынылған өзгерісті құрастыру, тестілеу немесе қолдану үшін бәрібір сыртқы әзірлеу ортасы қажет.
Практикалық түзету үшін үйлесімді қалуға тиіс ашық интерфейсті анықтап, түзетілген үзіндіні, қысқа түсіндірмені және күтілетін шығыстары бар кіріс мысалдарын сұраңыз. Жасалатын функция үшін қабылданатын түрлер мен шеткі жағдайларды көрсетіңіз. Түсіндірме үшін орындалуын қадағалайтын кірісті беріңіз: сонда жауап нақты орындалу жолын қайтарылған мәнмен байланыстырады.
Codestral мәтін шығарады. Ол Codestral Embed моделінен код іздеу векторларын, Devstral моделінен репозиторийді автоматтандыруды немесе визуалды модельден сурет жасауды иеленбейді. Дәл 2508 модель бетінде басқа шығарылымнан алуға болатын параметр саны немесе тәуелсіз ең жоғары жауап ұзындығы жарияланбаған. Қайталанатын редактор не чат үдерісін дайындағанда аталған шығарылымды, кодтау контекстін және қажетті артефактіні сақтаңыз.
Ailoot Ultra · Пакеттік өңдеу POST /v1/batches mistralai/codestral-2508:batch
mistralai/codestral-2508:batch
mistralai/codestral-2508:batchБастау
Codestral 2508 — Mistral AI компаниясының код жасауға және контексті ескеріп толықтыруға арналған мәтін моделі. Ол редактордағы жиі тапсырмаларға, соның ішінде код ортасындағы бос орынды толтыруға және бірнеше жолды өңдеуге оңтайландырылған; өндіруші көрсеткен 128 мың токендік контексті және құжатталған чат, құрылымдалған шығыс пен құрал мүмкіндіктерін ұсынады.
- Қабылданатын кіріс деректері
- Мәтін
- Нәтижелер
- Мәтін
Ailoot жүйесінде қолжетімді · кіріс деректері мен әдістер
Ailoot Ultra · Пакеттік өңдеу POST /v1/batches
- Кіріс
text- Шығыс
text- Шығыс пішімі
- Жауаптың ішіндегі results[].response.body JSON деректері
| Өріс | Түрі | Талап | Мәндер мен шектеулер | Әдепкі |
|---|---|---|---|---|
Өрісendpoint | Түріstring | ТалапМіндетті | Мәндер мен шектеулер /v1/chat/completions | Әдепкі— |
Өрісmodel | Түріstring | ТалапМіндетті | Мәндер мен шектеулер mistralai/codestral-2508:batch | Әдепкі— |
Өрісrequests | Түріbatch_item[] | ТалапМіндетті | Мәндер мен шектеулер Элементтердің ең аз саны: 1 | Әдепкі— |
Өрісrequests[].custom_id | Түріstring | ТалапМіндетті | Мәндер мен шектеулер | Әдепкі— |
Өрісrequests[].body.messages | Түріmessage[] | ТалапМіндетті | Мәндер мен шектеулер | Әдепкі— |
Өрісcompletion_window | Түріstring | ТалапМіндетті емес | Мәндер мен шектеулер 24h | Әдепкі— |
Өрісprovider | Түріobject|null | ТалапМіндетті емес | Мәндер мен шектеулер | Әдепкі— |
Өрісrequests[].body.model | Түріstring | ТалапМіндетті емес | Мәндер мен шектеулер mistralai/codestral-2508:batch, mistralai/codestral-2508 | Әдепкі— |
Өрісprovider.only | Түріstring[] | ТалапМіндетті емес | Мәндер мен шектеулер mistral | Әдепкі— |
Өрісprovider.allow_fallbacks | Түріboolean|null | ТалапМіндетті емес | Мәндер мен шектеулер false, null | Әдепкі— |
Әдіс параметрлері мен өмірлік циклі
| Параметр | Параметр талаптары |
|---|---|
Параметрcontent_type | Параметр талаптарыapplication/json |
Параметрrequired | Параметр талаптарыendpoint, model, requests |
Параметрmaterial_types | Параметр талаптарыtext |
Параметрrepresentation | Параметр талаптарыСұрау ішіне енгізілген requests[]; әр элементте custom_id және body бар |
Параметрrequest_endpoint_profile | Параметр талаптары/v1/chat/completions |
Параметрfile_material | Параметр талаптарыСұрауды жіберуші нақты UTF-8 JSONL деректерін жергілікті ортада оқып, requests[] ішіне енгізе алады. Жүктеу мақсаты, input_file_id немесе файлға сілтеме қолданылмайды. Клиент материалы жоқ немесе бос болса, дайындық POST жіберілгенге дейін тоқтатылады. |
Параметрserialization_order | Параметр талаптарыendpoint, model, provider (берілген болса), completion_window (берілген болса), requests өрісін соңында орналастырыңыз |
Параметрoptional_controls | Параметр талаптарыprovider.only, provider.allow_fallbacks, completion_window |
Параметрschema_scope | Параметр талаптарыҚұжаттамада сипатталған, сұраудың ішіне енгізілетін Batch құрылымындағы мәтіндік Chat Completions сұрауларының денелері. |
Өмірлік цикл: asynchronous
GET /v1/batches/{operation_id} · Бастапқы жасау жауабындағы нақты response.id; сол пайдаланушы/кілт/топ
Тарифтер
Тариф анықтамасы сұрау мүмкіндіктерін қоспайды. Қолдау көрсетілетін параметрлер таңдалған әдісте берілген.
- Жылдам режим
- Көрсетілмеген Жылдам режим таңдалғанда
- Икемді режим
- Көрсетілмеген flex режимі таңдалғанда
- Ой қорытудың ең жоғары деңгейі
- Көрсетілмеген Ой қорыту деңгейі ең жоғары болып, default түзетуі қолданылғанда
- Айқын кэштеу бағасы
- Қосылмаған Айқын кэштеу сұралғанда
Ailoot мөлшерлемелері
Баптаулар бойынша бағалар
Әр төлемді көрсетілген шарттармен салыстырыңыз. Балама баптаулардың әр жиыны үшін бір мөлшерлемені қолданыңыз.
| Баптау | Мөлшерлемелер кестесі | Контекст токендерінің саны мынадан көп | Контекст токендерінің саны мынадан аспайды, шегі кіреді | Төлем |
|---|---|---|---|---|
| БаптауТокендердің базалық тарифтері | Мөлшерлемелер кестесіНегізгі мөлшерлеме | Контекст токендерінің саны мынадан көп— | Контекст токендерінің саны мынадан аспайды, шегі кіредіЖоғарғы шегі жоқ | Төлем Кіріс · Кіріс токендері $0.0003 / 1K токен Шығыс · Шығыс токендері $0.0009 / 1K токен Кіріс · Кэшті оқу $0.00003 / 1K токен Кіріс · Кэшке жазу — / 1K токен Кіріс · Кэшке жазу, 1 сағ — / 1K токен |
| БаптауСұрау ұзындығының 1-деңгейі | Мөлшерлемелер кестесі— | Контекст токендерінің саны мынадан көп0 | Контекст токендерінің саны мынадан аспайды, шегі кіредіЖоғарғы шегі жоқ | Төлем Кіріс · Кіріс токендері $0.0003 / 1K токен Шығыс · Шығыс токендері $0.0009 / 1K токен Кіріс · Кэшті оқу $0.00003 / 1K токен Кіріс · Кэшке жазу — / 1K токен Кіріс · Кэшке жазу, 1 сағ — / 1K токен |
Ailoot сұрау алдында болжамды соманы резервтейді. Нәтижеден кейін өлшенген пайдалану көлемі бойынша қорытынды төлемді шегереді. Ағындық жауап үшін төлем соңғы пайдалану жазбасы негізінде шегеріледі. Резервтеу мен төлемді есептеу тәртібі →
Сұрау мысалдары
Ailoot Ultra · Пакеттік өңдеу
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.
Нәтижелерді алу және сақтау
Ailoot Ultra · Пакеттік өңдеу
Жауаптың ішіндегі results[].response.body JSON деректері
GET /v1/batches/{operation_id}
Тапсырма күйін тексеру
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
Барлық дайын нәтижені сақтау
Қайтарылған әр толық жауапты, файлды және мазмұн бөлігін сақтаңыз.
Бастапқы күй туралы толық JSON деректерін, әрбір нәтижені/custom_id мәнін және жауаптың немесе қатенің толық денесін сақтаңыз. Аяқталған results[] деректерін сүзгілемей JSONL түрінде сақтаңыз.
Бастапқы жауапты тексеру қажет болса
Бастапқы операцияның ID мәнін сақтаңыз. 503 result_pending_check жауабында X-Should-Retry:false көрсетіледі; нәтижесі белгісіз бастапқы пакетті ешқашан қайта жібермеңіз.
Жауап өрістері
| Өріс | Түрі |
|---|---|
Өрісresults[].custom_id | Түріstring |
Өрісresults[].response.body.choices[].message.content | Түріstring|null |
Өрісresults[].error | Түріobject|null |
Өрісusage | Түріobject|null |
Өрісid | Түріstring |
Өрісmodel | Түріstring |
Өрісendpoint | Түріstring |
Өрісstatus | Түріstring |
Өрісrequest_counts | Түріobject |
Өрісresults[].id | Түріstring |
Өрісresults[].response.status_code | Түріinteger |
Өрісresults[].response.request_id | Түріstring |
Қателер және келесі қадамдар
| Жауап | Шарт | Келесі қадам |
|---|---|---|
Жауап400 · invalid_request_error | ШартҚұжаттамада сипатталған сұрау ішіндегі құрылым жарамсыз, кілттер қайталанады, элементтің сәйкестігі бұзылған немесе бапталған модель мүмкіндіктері арасында қайшылық бар. | Келесі қадамЖаңадан жібермес бұрын көрсетілген өрістерді түзетіңіз. |
Жауап401 · authentication_error | ШартЖарамсыз API кілті. | Келесі қадамПайдалануға рұқсат берілген Ailoot кілтін қолданыңыз. |
Жауап403 · permission_error | ШартПакеттік өңдеу тобы қолжетімсіз. | Келесі қадамКілттің/топтың қол жеткізу құқығын тексеріңіз. |
Жауап422 · invalid_request_error | ШартBatch төлемді баланстан алады; жазылыммен төленетін жасау сұрауы қабылданбайды. | Келесі қадамБаланстан төлем алынатын, пайдалануға рұқсат берілген топты қолданыңыз. |
Жауап422 · price_unavailable | ШартBatch кіріс деректерінің құнын алдын ала есептеу мүмкін емес. | Келесі қадамЖауапты сақтаңыз; осы әдістер тобы үшін құжаттамада сипатталған кіріс деректерін қолданыңыз. |
Жауап402 · billing_error | ШартПакеттік өңдеу үшін қаражатты резервтеу қолжетімсіз. | Келесі қадамЖаңа сұрау жібермес бұрын сұрауды қабылдау мәселесін шешіңіз. |
Жауап503 · price_unavailable | ШартBatch әдісінің бағасы/жүйенің төл тарифтері қолжетімсіз. | Келесі қадамЖауапты сақтаңыз; бағаларды басқа мәндермен алмастырмаңыз. |
Жауап503 · api_error | ШартПровайдердің осы нақты маршруты қолжетімсіз. | Келесі қадамМаршрутты түзету үшін жауапты сақтаңыз. |
Жауап503 · result_pending_check | ШартБастапқы нәтижені тексеру қажет; X-Should-Retry:false. | Келесі қадамБастапқы operation_id/id мәнін сақтап, оның күйін оқыңыз; бастапқы POST сұрауын ешқашан қайталамаңыз. |
Жауап404 · not_found | ШартBatch күйін тексеретін операция жоқ немесе басқа субъектіге тиесілі. | Келесі қадамБастапқы id мәнін дәл қолданыңыз және сол пайдаланушыны/кілтті/топты пайдаланыңыз. |
Балама атаулар
Модельдердің балама атаулары
Ailoot Ultra mistralai/codestral-2508:batch
Әдіс жолдарының балама атаулары
Жоғарыда көрсетілген әдіс жолдарын пайдаланыңыз.
Шақыруға арналған байланысты ID
FAQ · Mistral: Codestral 2508 (batch)
- Қандай кіріс деректері мен нәтижелер қолжетімді?
POST /v1/batches·mistralai/codestral-2508:batch:text→text- Сұрау қандай өрістерді пайдаланады?
POST /v1/batches·mistralai/codestral-2508:batch:endpoint,model,requests,completion_window,provider- Қандай шектеулер қолданылады?
POST /v1/batches·mistralai/codestral-2508:batch:requests.min_items:1