MoonshotAI: Kimi K3 (batch)
Kimi K3 je natívny multimodálny model Moonshot AI na uvažovanie pri dlhých programovacích úlohách a znalostnej práci. Číta text, obrázky a video, vytvára text a podporuje postupy riadené nástrojmi s kontextom 1 048 576 tokenov a zachovanou históriou premýšľania medzi krokmi.
O modeli
Tento opis pokrýva možnosti modelu. Dostupné vstupy, výstupy a voľby v Ailoot sú uvedené nižšie pre vybranú metódu.
Kimi K3 je multimodálny agentový model Moonshot AI s otvorenými váhami na dlhodobé programovanie, znalostnú prácu a uvažovanie. Spája text s natívnym vizuálnym porozumením obrázkom a videu a vytvára textovú odpoveď alebo požiadavku na nástroj. Výrobca zdôrazňuje rozsiahle inžinierske relácie, veľké repozitáre a úlohy využívajúce snímky obrazovky alebo vizuálnu spätnú väzbu popri kóde. Užitočné zadanie definuje požadovaný artefakt, dôkazy na použitie a podmienku označujúcu dokončenie práce.
Architektúra a dlhý kontext
Karta modelu opisuje riedku zmes expertov s celkovo 2,8 bilióna parametrov a 104 miliardami aktivovaných parametrov. Návrh Stable LatentMoE vyberá 16 z 896 expertov na token a používa Kimi Delta Attention a Attention Residuals spolu s hradlovanou pozornosťou. Presná dĺžka kontextu je 1 048 576 tokenov. Ide o priestor na rozsiahly kontext úlohy, nie dôvod na odstránenie hraníc zdrojov alebo priestoru potrebného na výsledok.
Zverejnený natívny artefakt používa trénovanie zohľadňujúce kvantizáciu s váhami MXFP4 a aktiváciami MXFP8. Ide o formát vydania výrobcu, odlišný od samostatne dodanej kvantizovanej edície alebo tvrdenia o spôsobe poskytovania modelu konkrétnou trasou. Otvorené váhy a veľký počet parametrov nemenia údaj o aktívnych parametroch na celkovú požiadavku na úložisko alebo hardvér.
Pripravte rozsiahlu programovaciu úlohu
Poskytnite relevantné materiály repozitára, existujúce správanie, požadovanú zmenu a obmedzenia kompatibility. Identifikujte súbory alebo rozhranie, ktoré musí výsledok ovplyvniť, kontroly určujúce úspech a prípadnú dodanú chybu alebo vstup odhaľujúci problém. Užitočným výsledkom môže byť cielená zmena kódu s vysvetlením a dôkazmi zo skutočne vykonaných kontrol namiesto opisu akcií, ktoré sa nikdy nevykonali.
Pri vizuálnej vývojovej úlohe zahrňte snímku obrazovky alebo jasný pohľad na zamýšľaný výsledok s relevantným kódom a konkrétnym rozdielom. Výrobca opisuje postupy zahŕňajúce frontendovú prácu, hry a CAD, ktoré využívajú vizuálnu spätnú väzbu. Žiadajte zmenu prepájajúcu kód s pozorovaným výsledkom a zachovajte referenciu, aby bolo možné dodaný artefakt podľa nej skontrolovať.
Obrázky, video a príprava znalostnej práce
Rýchly úvod výrobcu používa pre vizuálne správy typované objekty obsahu; content je pole, nie serializovaná reprezentácia tohto poľa. Obrazový postup používa kódované obrazové údaje alebo podporovaný odkaz na súbor namiesto verejnej adresy obrázka. Video príklad nahrá video súbor a dodá výsledný odkaz s otázkou o jeho obsahu. Dodajte čitateľný zdroj a určite podstatné pozorovanie, interval alebo vzťah. Vizuálny postup výrobcu prijíma obrázky JPEG, PNG, GIF, WebP, BMP, HEIC a HEIF a videá MP4, MPEG, MOV, AVI, FLV, MPG, WebM, WMV a 3GPP. Animovaný GIF alebo WebP možno dekódovať ako video. Zdroj SVG dodajte ako text. Výrobca odporúča obrázky do 4 096 × 2 160 a video do 1 920 × 1 080; ide o odporúčania rozlíšenia, nie prahy odmietnutia. Telo požiadavky udržujte v zdokumentovanom limite veľkosti 100M a veľké alebo opakovane používané médiá nahrávajte ako súbory.
Pri výskume s veľkým množstvom dokumentov označte zdroje a uveďte otázky, na ktoré má konečná správa odpovedať. Pri vysvetlení videa určite udalosti alebo sled na analýzu namiesto žiadosti o neobmedzený komentár. K3 používa vizuálny obsah ako dôkaz pre uvažovanie a vracia text alebo požiadavky na nástroje. Aplikácia môže tieto požiadavky odovzdať mediálnym nástrojom na vytvorenie samostatných obrazových alebo video artefaktov.
Premýšľanie je vždy zapnuté
Rozhranie výrobcu K3 má premýšľanie vždy zapnuté. Nastavenie reasoning_effort na najvyššej úrovni prijíma low, high a max, pričom max je predvolené. Tieto voľby sú špecifické pre model; nemožno predpokladať nastavenie bez premýšľania ani hodnotu intenzity z inej rodiny. Usmernenia výrobcu k migrácii odlišujú K3 od K2.x použitím reasoning_effort namiesto prenášania staršej konfigurácie thinking.
Výrobca dokumentuje samostatný reasoning_content a obsah konečnej odpovede v streamovaných výsledkoch. Pri konverzácii vo viacerých kolách alebo postupe s nástrojmi vyžaduje nezmenené spätné odovzdanie celej vrátenej správy asistenta vrátane reasoning_content a tool_calls. Zachovanie iba viditeľnej konečnej odpovede stráca informácie, ktoré postup zachovaného premýšľania modelu očakáva v ďalšom kroku.
Štruktúrované konečné odpovede a čiastočné pokračovanie
Rýchly úvod dokumentuje prísny výstup podľa schémy JSON pre obsah konečnej správy. Polia a ich významy definujte podľa artefaktu potrebného pre aplikáciu a spracúvajte tento konečný obsah namiesto jeho spájania s poľom uvažovania. Štruktúrovaný výsledok môže predstavovať informácie extrahované z dodaného materiálu alebo definovaný formát správy; schéma obmedzuje jeho podobu, zatiaľ čo zdrojové dôkazy určujú správnosť hodnôt.
Režim partial môže pokračovať z dodaného textového prefixu. Príklad výrobcu umiestni čiastočnú správu asistenta na koniec histórie a na zobrazenie spojí tento prefix s vráteným pokračovaním. Použite ho, keď má požadovaný artefakt zmysluplný pevný začiatok, a prefix držte oddelene od generovaného zvyšku.
Nástroje a kontinuita ich výsledkov
K3 podporuje vlastné nástroje na volanie funkcií. Príklad výrobcu vyžaduje nástroj v prvom kole, zachová celú správu asistenta, vykoná každé vrátené volanie a pred žiadosťou o konečnú odpoveď pripojí zodpovedajúci výsledok nástroja. Navrhované volanie nie je dôkazom úspechu operácie; skutočne vrátený výsledok sa stáva dôkazom pre ďalší krok.
Jeho postup dynamického načítania zavádza úplnú definíciu nástroja v konkrétnom bode histórie správ. Definícia potrebuje názov, účel a parametre a musí zostať v následnej histórii, pretože server toto vyhlásenie nezachováva nezávisle. Schopnosti nástroja, dodané argumenty a skutočné pozorovania zachovajte prepojené, aby dlhá úloha mohla pokračovať z už dokončenej práce.
Riadenie výstupu a opakovaný kontext
Výrobca dokumentuje predvolený limit dokončenia 131 072 tokenov, konfigurovateľný do 1 048 576 v rámci celkových obmedzení kontextu modelu. Jeho aktuálne K3 API pevne nastavuje temperature na 1.0, top_p na 0.95, jeden výsledok a nulové penalizácie prítomnosti a frekvencie a volajúcich usmerňuje, aby tieto ovládacie prvky vzorkovania vynechali. Ide o nastavenia presného profilu výrobcu, nie prenosný zoznam nastaviteľných ovládacích prvkov.
Ukladanie kontextu do vyrovnávacej pamäte je automatické pre oprávnené opakované prefixy so zdokumentovanými voľbami TTL 5 minút a 1 hodina, pričom 5 minút je predvolené. Čiastočné bloky vyrovnávacej pamäte zostávajú neúspešnými zásahmi. Opakovane použiteľný kontext udržiavajte stabilný a kontrolujte skutočné využitie namiesto tvrdenia o zásahu vyrovnávacej pamäte iba na základe opakovaného textu. Pri konečnom artefakte zachovajte dodané zdroje, skutočné dôkazy nástrojov a požadovanú štruktúru výstupu a skontrolujte, či dlhá odpoveď alebo inžiniersky výsledok spĺňa uvedené kritériá dokončenia.
Ailoot Ultra · Dávkové spracovanie POST /v1/batches moonshotai/kimi-k3:batch
moonshotai/kimi-k3:batchÚvod
Kimi K3 je natívny multimodálny model Moonshot AI na uvažovanie pri dlhých programovacích úlohách a znalostnej práci. Číta text, obrázky a video, vytvára text a podporuje postupy riadené nástrojmi s kontextom 1 048 576 tokenov a zachovanou históriou premýšľania medzi krokmi.
- Povolené vstupy
- Text
- Výsledky
- Text
Dostupné v Ailoot · vstupy a metódy
Ailoot Ultra · Dávkové spracovanie POST /v1/batches
- Vstup
text- Výstup
text- Výstupný formát
- JSON priamo vložený v results[].response.body
| Pole | Typ | Požiadavka | Hodnoty a limity | Predvolené |
|---|---|---|---|---|
Poleendpoint | Typstring | PožiadavkaPovinné | Hodnoty a limity /v1/chat/completions | Predvolené— |
Polemodel | Typstring | PožiadavkaPovinné | Hodnoty a limity moonshotai/kimi-k3:batch | Predvolené— |
Polerequests | Typbatch_item[] | PožiadavkaPovinné | Hodnoty a limity Minimálny počet položiek: 1 | Predvolené— |
Polerequests[].custom_id | Typstring | PožiadavkaPovinné | Hodnoty a limity | Predvolené— |
Polerequests[].body.messages | Typmessage[] | PožiadavkaPovinné | Hodnoty a limity | Predvolené— |
Polecompletion_window | Typstring | PožiadavkaVoliteľné | Hodnoty a limity 24h | Predvolené— |
Poleprovider | Typobject|null | PožiadavkaVoliteľné | Hodnoty a limity | Predvolené— |
Polerequests[].body.model | Typstring | PožiadavkaVoliteľné | Hodnoty a limity moonshotai/kimi-k3:batch, moonshotai/kimi-k3 | Predvolené— |
Poleprovider.only | Typstring[] | PožiadavkaVoliteľné | Hodnoty a limity deepinfra/bf16 | Predvolené— |
Poleprovider.allow_fallbacks | Typboolean|null | PožiadavkaVoliteľné | Hodnoty a limity false, null | Predvolené— |
Parametre a životný cyklus metódy
| Parameter | Špecifikácia |
|---|---|
Parametercontent_type | Špecifikáciaapplication/json |
Parameterrequired | Špecifikáciaendpoint, model, requests |
Parametermaterial_types | Špecifikáciatext |
Parameterrepresentation | Špecifikáciapriamo vložené requests[]; každá položka obsahuje custom_id a body |
Parameterrequest_endpoint_profile | Špecifikácia/v1/chat/completions |
Parameterfile_material | ŠpecifikáciaVolajúci môže lokálne načítať skutočný súbor UTF-8 JSONL do requests[]. Nepoužíva sa účel nahrávania, input_file_id ani odkaz na súbor. Chýbajúce alebo prázdne podklady zákazníka zastavia prípravu pred POST. |
Parameterserialization_order | Špecifikáciaendpoint, model, provider (ak je zadaný), completion_window (ak je zadaný), requests na konci |
Parameteroptional_controls | Špecifikáciaprovider.only, provider.allow_fallbacks, completion_window |
Parameterschema_scope | ŠpecifikáciaTelá textových požiadaviek Chat Completions v zdokumentovanom obale dávky s priamo vloženými požiadavkami. |
Životný cyklus: asynchronous
GET /v1/batches/{operation_id} · skutočná hodnota response.id z pôvodnej odpovede na vytvorenie; rovnaký používateľ/kľúč/skupina
Cenník
Tarifné údaje nepridávajú možnosti požiadavky. Podporované parametre sú uvedené pri vybranej metóde.
- Rýchly režim
- Neuvedené Keď je zvolený rýchly režim
- Režim Flex
- Neuvedené Keď je zvolený režim flex
- Maximálna úroveň uvažovania
- Neuvedené Keď sa pri maximálnej úrovni uvažovania používa predvolená úprava (default)
- Ceny explicitnej cache
- Nie je zapnuté Keď sa požaduje explicitná cache
Sadzby Ailoot
Ceny podľa konfigurácie
Každý poplatok priraďte k zobrazeným podmienkam. Pre každú skupinu alternatívnych konfigurácií použite jednu sadzbu.
| Konfigurácia | Sadzobník | Počet tokenov kontextu väčší než | Tokeny kontextu, najviac (vrátane hranice) | Poplatok |
|---|---|---|---|---|
| KonfiguráciaZákladné sadzby za tokeny | SadzobníkZákladná sadzba | Počet tokenov kontextu väčší než— | Tokeny kontextu, najviac (vrátane hranice)Bez hornej hranice | Poplatok Vstup · Vstupné tokeny $0.00456 / 1K tokenov Výstup · Výstupné tokeny $0.0228 / 1K tokenov Vstup · Čítanie cache $0.000456 / 1K tokenov Vstup · Zápis do cache — / 1K tokenov Vstup · Zápis do cache, 1 hod — / 1K tokenov |
| KonfiguráciaPásmo dĺžky požiadavky 1 | Sadzobník— | Počet tokenov kontextu väčší než0 | Tokeny kontextu, najviac (vrátane hranice)Bez hornej hranice | Poplatok Vstup · Vstupné tokeny $0.00456 / 1K tokenov Výstup · Výstupné tokeny $0.0228 / 1K tokenov Vstup · Čítanie cache $0.000456 / 1K tokenov Vstup · Zápis do cache — / 1K tokenov Vstup · Zápis do cache, 1 hod — / 1K tokenov |
Ailoot pred požiadavkou rezervuje odhadovanú sumu. Po získaní výsledku vyúčtuje konečný poplatok podľa nameraného využitia. Pri streamovaní sa vyúčtovanie riadi konečným záznamom využitia. Ako funguje rezervácia a vyúčtovanie →
Príklady požiadaviek
Ailoot Ultra · Dávkové spracovanie
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":"moonshotai/kimi-k3: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 ['moonshotai/kimi-k3:batch', 'moonshotai/kimi-k3']: raise ValueError("body.model must be an exact documented caller or wire ID")
return {"endpoint":"/v1/chat/completions", "model":"moonshotai/kimi-k3: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.
Prijať a uložiť výsledky
Ailoot Ultra · Dávkové spracovanie
JSON priamo vložený v results[].response.body
GET /v1/batches/{operation_id}
Skontrolovať stav úlohy
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
Uchovať všetky dokončené výsledky
Uložte každú úplnú vrátenú odpoveď, súbor a časť obsahu.
Uchovajte úplný pôvodný stav vo formáte JSON, každý výsledok/custom_id a úplné telo odpovede alebo chyby. Dokončené results[] uložte ako JSONL bez filtrovania.
Ak treba overiť pôvodnú odpoveď
Uchovajte pôvodné ID operácie. Odpoveď 503 result_pending_check obsahuje X-Should-Retry:false; pôvodnú dávku s neznámym výsledkom nikdy znova neodosielajte.
Polia odpovede
| Pole | Typ |
|---|---|
Poleresults[].custom_id | Typstring |
Poleresults[].response.body.choices[].message.content | Typstring|null |
Poleresults[].error | Typobject|null |
Poleusage | Typobject|null |
Poleid | Typstring |
Polemodel | Typstring |
Poleendpoint | Typstring |
Polestatus | Typstring |
Polerequest_counts | Typobject |
Poleresults[].id | Typstring |
Poleresults[].response.status_code | Typinteger |
Poleresults[].response.request_id | Typstring |
Chyby a ďalšie kroky
| Odpoveď | Podmienka | Ďalší krok |
|---|---|---|
Odpoveď400 · invalid_request_error | PodmienkaNeplatný zdokumentovaný obal s priamo vloženými požiadavkami, duplicitné kľúče alebo konflikt identity položky či nastavených schopností modelu. | Ďalší krokPred akýmkoľvek novým odoslaním opravte označené polia. |
Odpoveď401 · authentication_error | PodmienkaNeplatný kľúč API. | Ďalší krokPoužite kľúč Ailoot, ktorý ste oprávnení používať. |
Odpoveď403 · permission_error | PodmienkaSkupina pre dávkové spracovanie nie je dostupná. | Ďalší krokSkontrolujte oprávnenie kľúča/skupiny. |
Odpoveď422 · invalid_request_error | PodmienkaDávkové spracovanie sa účtuje zo zostatku; vytvorenie cez predplatné sa odmieta. | Ďalší krokPoužite skupinu s účtovaním zo zostatku, ktorú ste oprávnení používať. |
Odpoveď422 · price_unavailable | PodmienkaPre vstup dávky nemožno vypočítať cenovú ponuku. | Ďalší krokUchovajte odpoveď; použite zdokumentovaný vstup pre danú rodinu metód. |
Odpoveď402 · billing_error | PodmienkaRezerva pre dávkové spracovanie nie je dostupná. | Ďalší krokPred novou požiadavkou vyriešte podmienky prijatia. |
Odpoveď503 · price_unavailable | PodmienkaCena metódy dávkového spracovania alebo natívne sadzby nie sú dostupné. | Ďalší krokUchovajte odpoveď; nenahrádzajte ceny inými. |
Odpoveď503 · api_error | PodmienkaPresná trasa k dodávateľovi nie je dostupná. | Ďalší krokUchovajte odpoveď na účely opravy smerovania. |
Odpoveď503 · result_pending_check | PodmienkaPôvodný výsledok je potrebné skontrolovať; X-Should-Retry:false. | Ďalší krokUchovajte pôvodné operation_id/id a čítajte jeho stav; pôvodný POST nikdy neopakujte. |
Odpoveď404 · not_found | PodmienkaOperácia na zisťovanie stavu dávky neexistuje alebo patrí inej identite. | Ďalší krokPoužite presné pôvodné id a rovnakého používateľa/kľúč/skupinu. |
Aliasy
Aliasy modelov
Ailoot Ultra moonshotai/kimi-k3:batch
Aliasy ciest metód
Použite cesty metód uvedené vyššie.
Súvisiace ID na volanie
FAQ · MoonshotAI: Kimi K3 (batch)
- Aké vstupy a výsledky sú dostupné?
POST /v1/batches·moonshotai/kimi-k3:batch:text→text- Aké polia používa požiadavka?
POST /v1/batches·moonshotai/kimi-k3:batch:endpoint,model,requests,completion_window,provider- Aké limity platia?
POST /v1/batches·moonshotai/kimi-k3:batch:requests.min_items:1