kat-coder-pro-v1
KAT-Coder er Kuaishous kodemodelfamilie til udviklingsopgaver med forståelse af kodearkivet. Producentens arbejdsgang kombinerer værktøjsassisteret undersøgelse, generering af rettelser, udførelsesbaseret gennemgang og refleksion og producerer kode eller forklaringer knyttet til projektets faktiske adfærd.
- Ailoot Ultra · OpenAI Chat
POST /v1/chat/completionsKAT-Coder-Pro-V1 - Ailoot Ultra · Anthropic Messages
POST /v1/messagesKAT-Coder-Pro-V1
Om modellen
Denne beskrivelse dækker modellens funktioner. Tilgængelige input, output og indstillinger i Ailoot står nedenfor for den valgte metode.
KAT-Coder er Kuaishous kodemodelfamilie til softwareudviklingsopgaver i et miljø med værktøjer. Producentens oprindelige udgivelse fokuserer på at følge en udviklingsanmodning gennem undersøgelse af kodearkivet, oprettelse af rettelser og gennemgang. Træningen dækker implementering og forbedring af funktioner, fejlrettelse, refaktorering, arbejde med ydeevne, oprettelse af tests, kodeforståelse og konfigurationsopgaver. De nyttige resultater er kode og tekst knyttet til projektets faktiske adfærd.
Lever problemet og den relevante projektkontekst
Angiv den adfærd, der skal opnås, den aktuelle implementering og de betingelser, der definerer fuldførelse. Medtag de kildefiler eller passager, der er nødvendige for at forstå problemet, og de kommandoer eller observationer, der allerede er tilgængelige fra miljøet. En oprindelig fejlrettelsesbrief kan identificere det input, der fejler, det forventede resultat og den funktion, hvis adfærd afviger. En funktionsanmodning kan angive det resultat, brugeren skal kunne se, og de grænseflader, der skal forblive konsistente.
Producentens agenttræning bruger problembeskrivelser, kode fra grene, eksekverbare miljøer og verificerbare opgavebetingelser. Hold disse dele i overensstemmelse i en applikationsassisteret opgave. Modellens forslag bør rette sig mod det faktiske checkout og den leverede dokumentation, mens applikationen udfører fil- eller kørselshandlinger og returnerer resultaterne. Bevar resultatet af hver væsentlig handling sammen med fortsættelsen.
Værktøjer og udvikling over flere samtalerunder
Producenten dokumenterer instruktionsfølgning, værktøjsbrug og længere interaktion som centrale dele af familiens udvikling. Den udgivne kodeagentopskrift tilbyder handlinger til fillæsning og redigering samt en fuldførelseshandling. Modellen kan undersøge oplysninger, anmode om en ændring og fortsætte ud fra den returnerede observation. Dens rolle er at vælge og beskrive næste trin; det omgivende miljø fastslår, hvad der faktisk skete.
Den oprindelige udgivelse beskriver også parallelle værktøjsanmodninger som en observeret evne efter agenttræning. Brug kun uafhængige handlinger, når deres resultater kan holdes knyttet til den rigtige anmodning. En forklaring af kodearkivet kan kombinere oplysninger fra flere filer, mens en rettelse kræver det aktuelle indhold og den aktuelle adfærd i den berørte kode. Erstat ikke en manglende observation med et plausibelt miljøresultat.
Gennemgå kandidatændringer bevidst
Producentens offentliggjorte agentopskrift adskiller generering af rettelser, filtrering, udvælgelse og refleksion. Filtrering kombinerer semantisk deduplikering med udførelsesbaserede kontroller; udvælgelse vurderer de resterende kandidater; refleksion bruger de tidligere resultater til at styre en senere runde. Disse trin tilhører den dokumenterede programmeringsarbejdsgang frem for at være en automatisk garanti knyttet til ethvert almindeligt tekstsvar.
Ved en praktisk kodeopgave skal du holde den foreslåede rettelse, de faktisk udførte kontroller og deres udfald samlet. En sammenligning af kandidatrettelser bør forklare den betingelse, der adskiller dem, især når hver af dem virker plausibel ud fra forskellen i koden alene. En mislykket kontrol kan pege på et konkret problem, der skal løses i næste samtalerunde, i stedet for at udløse en uvedkommende omskrivning.
Forskelle mellem familie og udgaver
Producentens oprindelige udgivelse adskiller KAT-Coder fra den separate åbne KAT-Dev-32B-model. Drøftelser af træning og demonstrationer af arbejdsgange gør ikke alle navngivne familieprofiler til identiske checkpoints. Bevar den valgte profil og de leverede projektinstruktioner sammen med resultatet, og brug den konkrete producentgrænseflade eller miljøopskrift til dens handlinger.
En nyttig overdragelse kan indeholde en afgrænset implementering, en fejlforklaring eller en refaktorering med den dokumentation, der understøtter dens adfærd. Gennemgå den ændrede logik og miljøets faktiske output, før du betragter en opgave som afsluttet. KAT-Coders softwareudviklingsformål er mest nyttigt, når det forbliver knyttet til en konkret udviklingsanmodning, den relevante kode og et slutresultat, der kan gennemgås.
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions KAT-Coder-Pro-V1
KAT-Coder-Pro-V1Start
KAT-Coder er Kuaishous kodemodelfamilie til udviklingsopgaver med forståelse af kodearkivet. Producentens arbejdsgang kombinerer værktøjsassisteret undersøgelse, generering af rettelser, udførelsesbaseret gennemgang og refleksion og producerer kode eller forklaringer knyttet til projektets faktiske adfærd.
- Accepterede input
- Tekst
- Resultater
- Tekst
Tilgængelig i Ailoot · input og metoder
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
- Inputtyper
text- Outputtyper
text- Outputformat
- json eller SSE
| Felt | Type | Krav | Værdier og grænser | Standard |
|---|---|---|---|---|
Feltmodel | Typestring | KravPåkrævet | Værdier og grænser KAT-Coder-Pro-V1 | Standard— |
Feltmessages | Typemessage[] | KravPåkrævet | Værdier og grænser Minimumsantal elementer: 1 | Standard— |
Feltmessages[].role | Typestring | KravPåkrævet | Værdier og grænser Afhænger af modellen | Standard— |
Feltmessages[].content | Typestring | KravValgfrit | Værdier og grænser Gælder når: Tekstsamtale | Standard— |
Feltstream | Typeboolean | KravValgfrit | Værdier og grænser | Standardfalse |
Kombinationer af inputmaterialer
Tekst · UTF8-tekst
messages[].content
Metodeparametre og livscyklus
| Parameter | Kontrakt |
|---|---|
Parametercontent_type | Kontraktapplication/json |
Parameterrequired | Kontraktmodel, messages |
Parametermaterial_types | Kontrakttext |
Parametermessages | Kontraktbeskedarray med strukturen role/content |
Parameterfile_material | Kontraktfaktisk UTF-8-dokument indsat som bogstavelig tekst; intet fil-ID udledes |
Parameteroptional_controls | Kontraktstream |
Parametercontrol_scope | KontraktTekstsamtale; stream er en boolesk værdi og er som standard false. |
Parameteroutput_modalities | Kontrakttext |
Parameterhosted_operations | Kontraktfalse |
Parametermultimodal_input_binding | Kontraktnull |
Metodealiaser: /chat/completions
Livscyklus: synchronous_or_streamed
Send det præcise model-ID med messages.
Kontekstlængde er ikke et outputloft.
En tekstfil kan levere bogstavelig tekst; billed-, lyd- og filobjektinput kræver en præcis binding.
Priser
Tarifoplysninger tilføjer ikke anmodningsmuligheder. Understøttede parametre står ved den valgte metode.
- Hurtig tilstand
- Ikke angivet Når hurtig tilstand er valgt
- flex-tilstand
- Ikke angivet Når flex-tilstanden er valgt
- Maksimal ræsonneringsindsats
- Ikke angivet Når default-justeringen anvendes ved maksimal ræsonneringsindsats
Ailoot-takster
Priser efter konfiguration
| Konfiguration | Takstplan | Beløb |
|---|---|---|
| KonfigurationGrundtakster for tokens | TakstplanGrundtakst | Beløb Input · Inputtokens $0.00114 / 1K tokens Output · Outputtokens $0.00456 / 1K tokens Input · Cachelæsning $0 / 1K tokens Input · Cacheskrivning $0 / 1K tokens Input · Cacheskrivning, 1 time — / 1K tokens |
Ailoot reserverer et estimeret beløb før en anmodning. Efter resultatet afregnes det endelige beløb ud fra det målte forbrug. Ved streaming bruges den endelige forbrugsregistrering til afregningen. Sådan fungerer reservation og afregning →
Eksempelanmodninger
Ailoot Ultra · OpenAI Chat
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model":"KAT-Coder-Pro-V1","messages":[{"role":"user","content":"hello"}],"stream":false}')
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/chat/completions \
-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("choices",[]):
if x.get("message",{}).get("content"): print(x["message"]["content"])
PY_RESULT
from openai import OpenAI
import os
if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.chat.completions.create(model="KAT-Coder-Pro-V1", messages=[{"role":"user","content":"hello"}], stream=False)
import base64, json
from pathlib import Path
def save_result(data, stem="result"):
# Keep every field, including usage, IDs, reasoning and tool requests.
Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
print(json.dumps(data, ensure_ascii=False, indent=2))
def save_blob(encoded, suffix, label):
raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
file = Path(stem + "-" + label + "." + ext)
file.write_bytes(raw)
print("Saved", file)
for index, block in enumerate(data.get("content") or []):
print("Content", index, json.dumps(block, ensure_ascii=False))
for choice in data.get("choices") or []:
print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
for index, item in enumerate(data.get("output") or []):
print("Output", index, json.dumps(item, ensure_ascii=False))
if item.get("type") == "image_generation_call" and item.get("result"):
save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
for ci, candidate in enumerate(data.get("candidates") or []):
for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
blob = part.get("inlineData") or part.get("inline_data")
if blob and blob.get("data"):
mime = blob.get("mimeType") or blob.get("mime_type")
suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))
save_result(result.to_dict(mode="json"))
Hent og gem resultater
Ailoot Ultra · OpenAI Chat
json eller SSE
Behold alle færdige resultater
Gem hvert fuldstændigt returneret svar, hver fil og hver indholdsdel.
Bevar hvert valg og dets indhold, værktøjskald og ræsonnement. Saml i SSE deltaer efter valg-/værktøjsindeks, og bevar den endelige afslutningsårsag og forbrugsoplysningerne.
Hvis det oprindelige svar skal kontrolleres
Bevar anmodnings-/svar-ID’er og headere. Der leveres ingen generel URL til at hente tekstjob.
Svarfelter
| Felt | Type |
|---|---|
Feltchoices[].index | Typeinteger |
Feltchoices[].message.content | Typestring|null |
Feltchoices[].message.tool_calls | Typetool_call[] |
Feltchoices[].message.reasoning_content | Typestring |
Feltchoices[].message.reasoning_details | Typeobject|array |
Feltchoices[].finish_reason | Typestring|null |
Feltusage | Typeobject |
Fejl og næste trin
| Svar | Betingelse | Næste trin |
|---|---|---|
Svar400 · invalid_request_error | BetingelseUgyldige obligatoriske felter, materialerepræsentation eller parameterværdi | Næste trinRet de angivne felter før en ny oprettelsesanmodning. |
Aliaser
Modelaliaser
Ailoot Ultra KAT-Coder-Pro-V1
Aliaser for metodestier
/chat/completions
Relaterede kalder-ID’er
Ailoot Ultra · Anthropic Messages POST /v1/messages KAT-Coder-Pro-V1
KAT-Coder-Pro-V1Start
KAT-Coder er Kuaishous kodemodelfamilie til udviklingsopgaver med forståelse af kodearkivet. Producentens arbejdsgang kombinerer værktøjsassisteret undersøgelse, generering af rettelser, udførelsesbaseret gennemgang og refleksion og producerer kode eller forklaringer knyttet til projektets faktiske adfærd.
- Accepterede input
- Tekst
- Resultater
- json · sse
Tilgængelig i Ailoot · input og metoder
Ailoot Ultra · Anthropic Messages POST /v1/messages
- Inputtyper
text- Outputtyper
json,sse- Outputformat
- JSON eller SSE
| Felt | Type | Krav | Værdier og grænser | Standard |
|---|---|---|---|---|
Feltmodel | Typestring | KravPåkrævet | Værdier og grænser KAT-Coder-Pro-V1 | Standard— |
Feltmessages | Typemessage[] | KravPåkrævet | Værdier og grænser | Standard— |
Feltmessages[].role | Typestring | KravPåkrævet | Værdier og grænser user, assistant | Standard— |
Feltmessages[].content | Typestring | KravPåkrævet | Værdier og grænser | Standard— |
Feltmax_tokens | Typeinteger | KravPåkrævet | Værdier og grænser | Standard— |
Feltstream | Typeboolean | KravValgfrit | Værdier og grænser | Standardfalse |
Kombinationer af inputmaterialer
Tekst · UTF-8-tekst
messages[].content som streng
Metodeparametre og livscyklus
| Parameter | Kontrakt |
|---|---|
Parametercontent_type | Kontraktapplication/json |
Parameterrequired | Kontraktmodel, messages, max_tokens |
Parameteroptional_controls | Kontraktstream |
Parametermaterial_types | Kontrakttext |
Parametertext_file_material | KontraktLæs det faktiske UTF-8-dokument, og indsæt teksten i det angivne input eller beskedens indholdsstreng. |
Livscyklus: synchronous_or_streamed
Priser
Tarifoplysninger tilføjer ikke anmodningsmuligheder. Understøttede parametre står ved den valgte metode.
- Hurtig tilstand
- Ikke angivet Når hurtig tilstand er valgt
- flex-tilstand
- Ikke angivet Når flex-tilstanden er valgt
- Maksimal ræsonneringsindsats
- Ikke angivet Når default-justeringen anvendes ved maksimal ræsonneringsindsats
Ailoot-takster
Priser efter konfiguration
| Konfiguration | Takstplan | Beløb |
|---|---|---|
| KonfigurationGrundtakster for tokens | TakstplanGrundtakst | Beløb Input · Inputtokens $0.00114 / 1K tokens Output · Outputtokens $0.00456 / 1K tokens Input · Cachelæsning $0 / 1K tokens Input · Cacheskrivning $0 / 1K tokens Input · Cacheskrivning, 1 time — / 1K tokens |
Ailoot reserverer et estimeret beløb før en anmodning. Efter resultatet afregnes det endelige beløb ud fra det målte forbrug. Ved streaming bruges den endelige forbrugsregistrering til afregningen. Sådan fungerer reservation og afregning →
Eksempelanmodninger
Ailoot Ultra · Anthropic Messages
{
"model": "KAT-Coder-Pro-V1",
"max_tokens": 128,
"messages": [
{
"role": "user",
"content": "Summarize the incident report."
}
],
"stream": false
}set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json, os
from pathlib import Path
source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
raise SystemExit('Choose a document containing text')
payload = {'model': 'KAT-Coder-Pro-V1', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
Path('request.json').write_text(json.dumps(payload, ensure_ascii=False), encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/messages \
-H "x-api-key: $AILOOT_API_KEY" -H 'anthropic-version: 2023-06-01' -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
result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
PY_RESULT
import json, os
from pathlib import Path
source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
raise SystemExit('Choose a document containing text')
payload = {'model': 'KAT-Coder-Pro-V1', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
from urllib.request import Request, urlopen
from urllib.error import HTTPError
api_key = os.environ['AILOOT_API_KEY']
if not api_key.strip():
raise SystemExit('Set AILOOT_API_KEY before making a request')
headers = {'x-api-key': 'PLACEHOLDER_KEY', 'anthropic-version': '2023-06-01', 'Content-Type': 'application/json'}
headers['x-api-key'] = api_key
request = Request('https://api.ailoot.ai/v1/messages', data=json.dumps(payload, ensure_ascii=False).encode('utf-8'), headers=headers, method='POST')
try:
with urlopen(request, timeout=120) as response:
raw = response.read()
Path('response-headers.txt').write_text(str(response.headers), encoding='utf-8')
except HTTPError as error:
Path('result.json').write_bytes(error.read())
Path('response-headers.txt').write_text(str(error.headers), encoding='utf-8')
raise
Path('result.json').write_bytes(raw)
import json
from pathlib import Path
result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
Hent og gem resultater
Ailoot Ultra · Anthropic Messages
JSON eller SSE
Behold alle færdige resultater
Gem hvert fuldstændigt returneret svar, hver fil og hver indholdsdel.
Bevar alle indholdsblokke, ræsonnementssignaturer og faktiske værktøjsbrugs-ID’er. Saml alle SSE-blokdeltaer; den første tekstblok er ikke hele outputtet.
Hvis det oprindelige svar skal kontrolleres
Bevar anmodnings-/svar-ID’er og headere. Der leveres ingen generel URL til at hente tekstjob.
Svarfelter
| Felt | Type |
|---|---|
Feltid | Typestring |
Feltmodel | Typestring |
Feltcontent[] | Typetext|thinking|tool_use|other content block |
Feltstop_reason | Typestring|null |
Feltusage | Typeobject |
Fejl og næste trin
| Svar | Betingelse | Næste trin |
|---|---|---|
Svar400 · invalid_request_error | BetingelseUgyldige obligatoriske felter, materialerepræsentation eller parameterværdi | Næste trinRet de angivne felter før en ny oprettelsesanmodning. |
Aliaser
Modelaliaser
Ailoot Ultra KAT-Coder-Pro-V1
Aliaser for metodestier
/chat/completions
Relaterede kalder-ID’er
FAQ · kat-coder-pro-v1
- Hvilke input og resultater er tilgængelige?
POST /v1/chat/completions·KAT-Coder-Pro-V1:text→textPOST /v1/messages·KAT-Coder-Pro-V1:text→json,sse- Hvilke felter bruger anmodningen?
POST /v1/chat/completions·KAT-Coder-Pro-V1:model,messages,streamPOST /v1/messages·KAT-Coder-Pro-V1:model,messages,max_tokens,stream- Hvilke grænser gælder?
POST /v1/chat/completions·KAT-Coder-Pro-V1:messages.min_items:1