MoonshotAI: Kimi K3 (batch)
Kimi K3 je izvorno večmodalni model podjetja Moonshot AI za sklepanje pri dolgih programskih nalogah in delu z znanjem. Bere besedilo, slike in video, ustvarja besedilo ter podpira postopke z orodji s kontekstom 1.048.576 žetonov in ohranjeno zgodovino razmišljanja med koraki.
O modelu
Ta opis zajema zmožnosti modela. Vhodi, izhodi in možnosti, ki so na voljo v Ailoot, so spodaj navedeni za izbrano metodo.
Kimi K3 je večmodalni agentski model z odprtimi utežmi podjetja Moonshot AI za dolgotrajno programiranje, delo z znanjem in sklepanje. Združuje besedilo z izvornim vizualnim razumevanjem slik in videa ter ustvari besedilni odgovor ali zahtevo za orodje. Proizvajalec poudarja dolge inženirske seje, velike repozitorije in naloge, ki ob kodi uporabljajo posnetke zaslona ali vizualne povratne informacije. Uporaben opis opredeli želeni izdelek, dokaze za uporabo in pogoj, ki označuje dokončanje dela.
Arhitektura in dolg kontekst
Kartica modela opisuje redko mešanico ekspertov s skupno 2,8 bilijona parametrov in 104 milijardami aktiviranih parametrov. Zasnova Stable LatentMoE za vsak žeton izbere 16 od 896 ekspertov ter uporablja Kimi Delta Attention in Attention Residuals skupaj s pozornostjo z vrati. Konkretna dolžina konteksta je 1.048.576 žetonov. To je prostor za obsežen kontekst naloge, ne razlog za opustitev meja virov ali prostora, potrebnega za rezultat.
Objavljeni izvorni izdelek uporablja učenje z upoštevanjem kvantizacije z utežmi MXFP4 in aktivacijami MXFP8. To je proizvajalčeva oblika izdaje, ločena od posebej podane kvantizirane različice ali trditve o načinu streženja modela na konkretni poti. Odprte uteži in veliko število parametrov ne spreminjajo števila aktivnih parametrov v skupno zahtevo po hrambi ali strojni opremi.
Pripravite obsežno programsko nalogo
Podajte ustrezno gradivo repozitorija, obstoječe vedenje, zahtevano spremembo in omejitve združljivosti. Določite datoteke ali vmesnik, na katere mora rezultat vplivati, preverjanja, ki določajo uspeh, in morebitno podano napako ali vhod, ki razkrije problem. Uporaben rezultat je lahko osredotočena sprememba kode z razlago in dokazi iz dejansko izvedenih preverjanj, ne opis dejanj, ki nikoli niso bila opravljena.
Pri vizualni razvojni nalogi vključite posnetek zaslona ali jasen prikaz predvidenega rezultata z ustrezno kodo in konkretnim odstopanjem. Proizvajalec opisuje postopke za delo z uporabniškimi vmesniki, igrami in CAD, ki uporabljajo vizualne povratne informacije. Zahtevajte spremembo, ki povezuje kodo z opaženim rezultatom, in ohranite referenco, da je dostavljeni izdelek mogoče preveriti ob njej.
Priprava slik, videa in dela z znanjem
Proizvajalčev hitri začetek za vizualna sporočila uporablja tipizirane objekte vsebine; content je polje, ne serializirana predstavitev tega polja. Njegov slikovni postopek uporablja kodirane slikovne podatke ali podprt sklic na datoteko, ne javnega naslova slike. Video primer naloži video datoteko in poda nastali sklic z vprašanjem o njeni vsebini. Podajte razločen vir in določite pomembno opažanje, interval ali razmerje. Proizvajalčev vizualni postopek sprejema slike JPEG, PNG, GIF, WebP, BMP, HEIC in HEIF ter video MP4, MPEG, MOV, AVI, FLV, MPG, WebM, WMV in 3GPP. Animirani GIF ali WebP je mogoče dekodirati kot video. Izvorno kodo SVG podajte kot besedilo. Proizvajalec priporoča slike do 4.096 × 2.160 in video do 1.920 × 1.080; to so priporočila ločljivosti, ne pragovi zavrnitve. Telo zahteve ohranite znotraj dokumentirane omejitve velikosti 100M, velike ali večkrat uporabljene medije pa naložite kot datoteke.
Pri raziskovanju z veliko dokumenti označite vire in navedite vprašanja, na katera naj končno poročilo odgovori. Pri razlagi videa določite dogodke ali zaporedje za analizo, namesto da zahtevate neomejeno komentiranje. K3 vizualno vsebino uporablja kot dokaze za sklepanje ter vrača besedilo ali zahteve za orodja. Aplikacija lahko te zahteve posreduje medijskim orodjem za ustvarjanje ločenih slikovnih ali video izdelkov.
Razmišljanje je vedno vključeno
Proizvajalčev vmesnik K3 ima razmišljanje vedno vključeno. Nastavitev reasoning_effort na najvišji ravni sprejema low, high in max, pri čemer je max privzet. Te izbire so specifične za model; ne predpostavljajte nastavitve brez razmišljanja ali vrednosti intenzivnosti iz druge družine. Proizvajalčeve smernice prehoda razlikujejo K3 od K2.x z uporabo reasoning_effort, namesto prenosa starejše konfiguracije thinking.
Proizvajalec v pretočnih rezultatih dokumentira ločeni reasoning_content in vsebino končnega odgovora. Pri večizmenjavnem pogovoru ali postopku z orodji zahteva, da se celotno vrnjeno sporočilo pomočnika posreduje nazaj nespremenjeno, vključno z reasoning_content in tool_calls. Ohranitev samo vidnega končnega odgovora izgubi podatke, ki jih postopek modela z ohranjenim razmišljanjem pričakuje v naslednjem koraku.
Strukturirani končni odgovori in delno nadaljevanje
Hitri začetek dokumentira strog izhod po shemi JSON za vsebino končnega sporočila. Polja in njihove pomene opredelite glede na izdelek, ki ga potrebuje aplikacija, ter razčlenite to končno vsebino, namesto da jo združite s poljem sklepanja. Strukturiran rezultat lahko predstavlja izluščene podatke iz podanega gradiva ali opredeljeno obliko poročila; shema omejuje obliko, izvorni dokazi pa določajo pravilnost vrednosti.
Delni način lahko nadaljuje podano besedilno predpono. Proizvajalčev primer postavi delno sporočilo pomočnika na konec zgodovine in za prikaz združi to predpono z vrnjenim nadaljevanjem. To uporabite, kadar ima zahtevani izdelek smiseln fiksen začetek, pri tem pa predpono ohranite ločeno od ustvarjenega preostanka.
Orodja in kontinuiteta njihovih rezultatov
K3 podpira funkcijska orodja po meri. Proizvajalčev primer v prvi izmenjavi zahteva orodje, ohrani celotno sporočilo pomočnika, izvede vsak vrnjeni klic in doda ustrezen rezultat orodja, preden zahteva končni odgovor. Predlagani klic ni dokaz, da je operacija uspela; dejansko vrnjeni rezultat postane dokaz za naslednji korak.
Njegov postopek dinamičnega nalaganja uvede celotno definicijo orodja na določenem mestu v zgodovini sporočil. Definicija potrebuje ime, namen in parametre ter mora ostati v nadaljnji zgodovini, ker strežnik te deklaracije ne ohranja neodvisno. Zmogljivosti orodij, podane argumente in resnična opažanja ohranite povezane, da se dolga naloga lahko nadaljuje iz že opravljenega dela.
Kontrole izhoda in ponavljajoči se kontekst
Proizvajalec dokumentira privzeto dovoljeno dopolnitev 131.072 žetonov, nastavljivo do 1.048.576 znotraj skupnih omejitev konteksta modela. Njegov trenutni K3 API določa temperaturo 1.0, top_p 0.95, en rezultat ter ničelni kazni za prisotnost in pogostost, klicateljem pa naroča, naj te kontrole vzorčenja izpustijo. To so nastavitve konkretne proizvajalčeve različice, ne prenosljiv seznam nastavljivih kontrol.
Predpomnjenje konteksta je samodejno za upravičene ponavljajoče se predpone, z dokumentiranima možnostma TTL 5 minut in 1 ura ter privzetimi 5 minutami. Delni bloki predpomnilnika ostanejo zgrešitve. Ponovno uporabni kontekst ohranite stabilen in preverite dejansko porabo, namesto da bi zadetek predpomnilnika trdili samo zaradi ponovljenega besedila. Za končni izdelek ohranite podane vire, dejanske dokaze orodij in zahtevano izhodno strukturo ter preverite, da dolg odgovor ali inženirski rezultat izpolnjuje navedena merila dokončanja.
Ailoot Ultra · Paketna obdelava POST /v1/batches moonshotai/kimi-k3:batch
moonshotai/kimi-k3:batchZačetek
Kimi K3 je izvorno večmodalni model podjetja Moonshot AI za sklepanje pri dolgih programskih nalogah in delu z znanjem. Bere besedilo, slike in video, ustvarja besedilo ter podpira postopke z orodji s kontekstom 1.048.576 žetonov in ohranjeno zgodovino razmišljanja med koraki.
- Dovoljeni vhodi
- Besedilo
- Rezultati
- Besedilo
Na voljo v Ailoot · vhodi in metode
Ailoot Ultra · Paketna obdelava POST /v1/batches
- Vhod
text- Izhod
text- Izhodni format
- Neposredno vključeni podatki JSON v results[].response.body
| Polje | Vrsta | Zahteva | Vrednosti in omejitve | Privzeto |
|---|---|---|---|---|
Poljeendpoint | Vrstastring | ZahtevaObvezno | Vrednosti in omejitve /v1/chat/completions | Privzeto— |
Poljemodel | Vrstastring | ZahtevaObvezno | Vrednosti in omejitve moonshotai/kimi-k3:batch | Privzeto— |
Poljerequests | Vrstabatch_item[] | ZahtevaObvezno | Vrednosti in omejitve Najmanjše število elementov: 1 | Privzeto— |
Poljerequests[].custom_id | Vrstastring | ZahtevaObvezno | Vrednosti in omejitve | Privzeto— |
Poljerequests[].body.messages | Vrstamessage[] | ZahtevaObvezno | Vrednosti in omejitve | Privzeto— |
Poljecompletion_window | Vrstastring | ZahtevaIzbirno | Vrednosti in omejitve 24h | Privzeto— |
Poljeprovider | Vrstaobject|null | ZahtevaIzbirno | Vrednosti in omejitve | Privzeto— |
Poljerequests[].body.model | Vrstastring | ZahtevaIzbirno | Vrednosti in omejitve moonshotai/kimi-k3:batch, moonshotai/kimi-k3 | Privzeto— |
Poljeprovider.only | Vrstastring[] | ZahtevaIzbirno | Vrednosti in omejitve deepinfra/bf16 | Privzeto— |
Poljeprovider.allow_fallbacks | Vrstaboolean|null | ZahtevaIzbirno | Vrednosti in omejitve false, null | Privzeto— |
Parametri in življenjski cikel metode
| Parameter | Specifikacija |
|---|---|
Parametercontent_type | Specifikacijaapplication/json |
Parameterrequired | Specifikacijaendpoint, model, requests |
Parametermaterial_types | Specifikacijatext |
Parameterrepresentation | SpecifikacijaNeposredno vključene zahteve v requests[]; vsak element ima custom_id in body |
Parameterrequest_endpoint_profile | Specifikacija/v1/chat/completions |
Parameterfile_material | SpecifikacijaKlicatelj lahko dejansko datoteko JSONL v kodiranju UTF-8 lokalno prebere v requests[]. Namen nalaganja, input_file_id ali sklic na datoteko se ne uporablja. Če gradivo stranke manjka ali je prazno, se priprava ustavi pred POST. |
Parameterserialization_order | Specifikacijaendpoint, model, provider (če je podan), completion_window (če je podan), requests na koncu |
Parameteroptional_controls | Specifikacijaprovider.only, provider.allow_fallbacks, completion_window |
Parameterschema_scope | SpecifikacijaTelesa besedilnih zahtev Chat Completions v dokumentiranem ovoju za paketno obdelavo, ki zahteve vsebuje neposredno. |
Življenjski cikel: asynchronous
GET /v1/batches/{operation_id} · Dejanski response.id iz izvirnega odgovora na zahtevo za ustvarjanje; isti uporabnik, isti ključ in ista skupina
Cenik
Tarifni podatki ne dodajajo možnosti zahteve. Podprti parametri so navedeni pri izbrani metodi.
- Hitri način
- Ni navedeno Ko je izbran hitri način
- Način flex
- Ni navedeno Ko je izbran način flex
- Najvišja raven razmišljanja
- Ni navedeno Ko najvišja raven razmišljanja uporablja privzeto prilagoditev (default)
- Cene izrecnega predpomnjenja
- Ni omogočeno Ko je zahtevano eksplicitno predpomnjenje
Cene Ailoot
Cene po nastavitvah
Vsak strošek povežite s prikazanimi pogoji. Za vsak nabor alternativnih nastavitev uporabite eno ceno.
| Nastavitev | Cenovna lestvica | Žetonov konteksta več kot | Žetonov konteksta do vključno | Strošek |
|---|---|---|---|---|
| NastavitevOsnovne cene za žetone | Cenovna lestvicaOsnovna cena | Žetonov konteksta več kot— | Žetonov konteksta do vključnoBrez zgornje meje | Strošek Vhod · Vhodni žetoni $0.00456 / 1K žetonov Izhod · Izhodni žetoni $0.0228 / 1K žetonov Vhod · Branje predpomnilnika $0.000456 / 1K žetonov Vhod · Zapis v predpomnilnik — / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura — / 1K žetonov |
| NastavitevRazred 1 glede na dolžino zahteve | Cenovna lestvica— | Žetonov konteksta več kot0 | Žetonov konteksta do vključnoBrez zgornje meje | Strošek Vhod · Vhodni žetoni $0.00456 / 1K žetonov Izhod · Izhodni žetoni $0.0228 / 1K žetonov Vhod · Branje predpomnilnika $0.000456 / 1K žetonov Vhod · Zapis v predpomnilnik — / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura — / 1K žetonov |
Ailoot pred zahtevo rezervira ocenjeni znesek. Po rezultatu obračuna končni strošek na podlagi izmerjene porabe. Obračun pretakanja uporablja končni zapis porabe. Kako delujeta rezervacija in obračun →
Primeri zahtev
Ailoot Ultra · Paketna obdelava
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.
Prejmi in shrani rezultate
Ailoot Ultra · Paketna obdelava
Neposredno vključeni podatki JSON v results[].response.body
GET /v1/batches/{operation_id}
Preveri stanje opravila
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
Ohrani vse dokončane rezultate
Shranite vsak v celoti vrnjen odgovor, datoteko in del vsebine.
Shranite celoten izvirni JSON s stanjem, vsak rezultat/custom_id in celotno telo odgovora ali napake. Dokončane rezultate iz results[] shranite kot JSONL brez filtriranja.
Če je treba preveriti izvirni odgovor
Shranite izvirni ID operacije. Odgovor 503 result_pending_check vsebuje X-Should-Retry:false; izvirnega paketa z neznanim izidom nikoli ne pošiljajte znova.
Polja odgovora
| Polje | Vrsta |
|---|---|
Poljeresults[].custom_id | Vrstastring |
Poljeresults[].response.body.choices[].message.content | Vrstastring|null |
Poljeresults[].error | Vrstaobject|null |
Poljeusage | Vrstaobject|null |
Poljeid | Vrstastring |
Poljemodel | Vrstastring |
Poljeendpoint | Vrstastring |
Poljestatus | Vrstastring |
Poljerequest_counts | Vrstaobject |
Poljeresults[].id | Vrstastring |
Poljeresults[].response.status_code | Vrstainteger |
Poljeresults[].response.request_id | Vrstastring |
Napake in naslednji koraki
| Odgovor | Pogoj | Naslednji korak |
|---|---|---|
Odgovor400 · invalid_request_error | PogojNeveljaven dokumentirani ovoj z neposredno vključenimi zahtevami, podvojeni ključi, neveljavna identiteta elementa ali neskladje z nastavljenimi zmogljivostmi modela. | Naslednji korakPred vsakim novim pošiljanjem popravite navedena polja. |
Odgovor401 · authentication_error | PogojNeveljaven ključ API. | Naslednji korakUporabite odobreni ključ Ailoot. |
Odgovor403 · permission_error | PogojSkupina za paketno obdelavo ni na voljo. | Naslednji korakPreverite pravice ključa/skupine. |
Odgovor422 · invalid_request_error | PogojPaketna obdelava uporablja obračunavanje iz dobroimetja; ustvarjanje v okviru naročnine se zavrne. | Naslednji korakUporabite odobreno skupino z obračunavanjem iz dobroimetja. |
Odgovor422 · price_unavailable | PogojZa vhodne podatke paketa ni mogoče izračunati predračuna. | Naslednji korakShranite odgovor; uporabite dokumentirani vhod za to družino metod. |
Odgovor402 · billing_error | PogojRezervacija sredstev za paketno obdelavo ni na voljo. | Naslednji korakPred novo zahtevo uredite pogoje za njen sprejem. |
Odgovor503 · price_unavailable | PogojCena metode paketne obdelave oziroma izvorne tarife niso na voljo. | Naslednji korakShranite odgovor; cen ne nadomeščajte z drugimi. |
Odgovor503 · api_error | PogojTočno določena pot do dobavitelja ni na voljo. | Naslednji korakShranite odgovor za odpravo napake v usmerjanju. |
Odgovor503 · result_pending_check | PogojIzvirni rezultat je treba preveriti; X-Should-Retry:false. | Naslednji korakShranite izvirni operation_id/id in preberite njegovo stanje; izvirnega POST nikoli ne ponovite. |
Odgovor404 · not_found | PogojOperacija za preverjanje stanja paketa ne obstaja ali pripada drugi identiteti. | Naslednji korakUporabite natančen izvirni id ter istega uporabnika, isti ključ in isto skupino. |
Druga imena
Druga imena modelov
Ailoot Ultra moonshotai/kimi-k3:batch
Druga imena poti metod
Uporabite zgoraj navedene poti metod.
Povezani ID-ji za klic
FAQ · MoonshotAI: Kimi K3 (batch)
- Kateri vhodi in rezultati so na voljo?
POST /v1/batches·moonshotai/kimi-k3:batch:text→text- Katera polja uporablja zahteva?
POST /v1/batches·moonshotai/kimi-k3:batch:endpoint,model,requests,completion_window,provider- Katere omejitve veljajo?
POST /v1/batches·moonshotai/kimi-k3:batch:requests.min_items:1