kat-coder-pro-v1
KAT-Coder je Kuaishoujeva družina programerskih modelov za razvojne naloge z upoštevanjem repozitorija. Proizvajalčev potek združuje pregled z orodji, generiranje popravkov, pregled na podlagi izvedbe in refleksijo ter ustvarja kodo ali razlage, povezane z dejanskim vedenjem projekta.
- Ailoot Ultra · OpenAI Chat
POST /v1/chat/completionsKAT-Coder-Pro-V1 - Ailoot Ultra · Anthropic Messages
POST /v1/messagesKAT-Coder-Pro-V1
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.
KAT-Coder je Kuaishoujeva družina programerskih modelov za naloge inženirstva programske opreme v okolju z orodji. Izvirna proizvajalčeva izdaja se osredotoča na sledenje razvojni zahtevi skozi pregled repozitorija, izdelavo popravka in pregled. Njeno učenje zajema izvedbo in izboljševanje funkcij, odpravljanje napak, preoblikovanje kode, delo z zmogljivostjo, izdelavo preizkusov, razumevanje kode in naloge, povezane s konfiguracijo. Uporabni izdelki so koda in besedilo, povezana z dejanskim vedenjem projekta.
Predložite težavo in ustrezni kontekst projekta
Navedite želeno vedenje, trenutno izvedbo in pogoje, ki določajo dokončanje. Vključite izvorne datoteke ali odlomke, potrebne za razumevanje problema, ter ukaze ali opažanja, ki so že na voljo iz okolja. Izvirna navodila za odpravo napake lahko določijo vhod, ki odpove, pričakovani rezultat in funkcijo, katere vedenje odstopa. Zahteva za funkcijo lahko navede uporabniku vidni izid in vmesnike, ki morajo ostati skladni.
Proizvajalčevo agentsko učenje uporablja opise težav, kodo vej, izvršljiva okolja in preverljive pogoje nalog. Te dele pri nalogi s podporo aplikacije ohranite usklajene. Predlog modela naj naslavlja dejansko delovno kopijo in predložene dokaze, aplikacija pa izvaja datotečne operacije ali zagone in vrne rezultate. Rezultat vsake pomembne operacije ohranite ob nadaljevanju.
Orodja in večkrožni razvoj
Proizvajalec dokumentira sledenje navodilom, uporabo orodij in daljšo interakcijo kot osrednje dele razvoja družine. Objavljeni postopek za programerskega agenta zagotavlja operacije branja in urejanja datotek ter dejanje dokončanja. Model lahko pregleda podatke, zahteva spremembo in nadaljuje iz vrnjenega opažanja. Njegova vloga je izbira in opis naslednjega koraka; okoliško okolje ugotovi, kaj se je dejansko zgodilo.
Izvirna objava opisuje tudi vzporedne zahteve za orodja kot opaženo zmožnost po agentskem učenju. Neodvisne operacije uporabite le, kadar je njihove rezultate mogoče ohraniti povezane s pravimi zahtevami. Razlaga repozitorija lahko poveže podatke iz več datotek, popravek pa potrebuje trenutno vsebino in vedenje prizadete kode. Verjeten rezultat okolja ne sme nadomestiti manjkajočega opažanja.
Predlagane spremembe preglejte premišljeno
Proizvajalčev objavljeni agentski postopek loči generiranje popravkov, filtriranje, izbiro in refleksijo. Filtriranje združuje semantično odstranjevanje podvojitev s preverjanji na podlagi izvedbe; izbira vrednoti preostale kandidate; refleksija pa uporabi prejšnje rezultate za usmerjanje poznejšega kroga. Te faze pripadajo dokumentiranemu programerskemu poteku in niso samodejno zagotovilo vsakega običajnega besedilnega odgovora.
Pri praktični programerski nalogi hranite skupaj predlagani popravek, dejansko izvedena preverjanja in njihove izide. Primerjava predlaganih rešitev naj razloži pogoj, ki jih razlikuje, zlasti kadar se vsaka že iz razlike v kodi zdi verjetna. Neuspešno preverjanje lahko naslednjemu krogu poda konkretno težavo, namesto da sproži nepovezano prepisovanje.
Razlike med družino in izdajami
Izvirna proizvajalčeva objava loči KAT-Coder od ločenega odprtega modela KAT-Dev-32B. Razprave o učenju in prikazi poteka ne pomenijo, da je vsaka poimenovana različica družine ista kontrolna točka. Izbrano različico in predložena projektna navodila hranite ob rezultatu ter za njene operacije uporabite konkretni proizvajalčev vmesnik ali postopek okolja.
Uporabna predaja lahko vsebuje usmerjeno izvedbo, razlago napake ali preoblikovanje kode z dokazi, ki podpirajo njegovo vedenje. Spremenjeno logiko in dejanske izhode okolja preglejte, preden nalogo štejete za končano. Namen KAT-Coder pri inženirstvu programske opreme je najbolj uporaben, kadar ostaja povezan s konkretno razvojno zahtevo, ustrezno kodo in preverljivim končnim izdelkom.
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions KAT-Coder-Pro-V1
KAT-Coder-Pro-V1Začetek
KAT-Coder je Kuaishoujeva družina programerskih modelov za razvojne naloge z upoštevanjem repozitorija. Proizvajalčev potek združuje pregled z orodji, generiranje popravkov, pregled na podlagi izvedbe in refleksijo ter ustvarja kodo ali razlage, povezane z dejanskim vedenjem projekta.
- Dovoljeni vhodi
- Besedilo
- Rezultati
- Besedilo
Na voljo v Ailoot · vhodi in metode
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
- Vhod
text- Izhod
text- Izhodni format
- json ali SSE
| Polje | Vrsta | Zahteva | Vrednosti in omejitve | Privzeto |
|---|---|---|---|---|
Poljemodel | Vrstastring | ZahtevaObvezno | Vrednosti in omejitve KAT-Coder-Pro-V1 | Privzeto— |
Poljemessages | Vrstamessage[] | ZahtevaObvezno | Vrednosti in omejitve Najmanjše število elementov: 1 | Privzeto— |
Poljemessages[].role | Vrstastring | ZahtevaObvezno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
Poljemessages[].content | Vrstastring | ZahtevaIzbirno | Vrednosti in omejitve Velja, ko: Besedilni pogovor | Privzeto— |
Poljestream | Vrstaboolean | ZahtevaIzbirno | Vrednosti in omejitve | Privzetofalse |
Kombinacije vhodnih gradiv
Besedilo · Besedilo UTF8
messages[].content
Parametri in življenjski cikel metode
| Parameter | Specifikacija |
|---|---|
Parametercontent_type | Specifikacijaapplication/json |
Parameterrequired | Specifikacijamodel, messages |
Parametermaterial_types | Specifikacijatext |
Parametermessages | Specifikacijapolje sporočil s strukturo role/content |
Parameterfile_material | Specifikacijadejanski dokument UTF-8 je vstavljen kot dobesedno besedilo; ID datoteke se ne izpeljuje |
Parameteroptional_controls | Specifikacijastream |
Parametercontrol_scope | SpecifikacijaBesedilni pogovor; stream je logična vrednost in je privzeto false. |
Parameteroutput_modalities | Specifikacijatext |
Parameterhosted_operations | Specifikacijafalse |
Parametermultimodal_input_binding | Specifikacijanull |
Druga imena metode: /chat/completions
Življenjski cikel: synchronous_or_streamed
Pošljite natančen ID modela skupaj z messages.
Dolžina konteksta ni zgornja meja izhoda.
Besedilna datoteka lahko poda dobesedno besedilo; slikovni, zvočni vhodi in vhodi z datotečnimi objekti potrebujejo natančno vezavo.
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 Ailoot
Cene po nastavitvah
| Nastavitev | Cenovna lestvica | Strošek |
|---|---|---|
| NastavitevOsnovne cene za žetone | Cenovna lestvicaOsnovna cena | Strošek Vhod · Vhodni žetoni $0.00114 / 1K žetonov Izhod · Izhodni žetoni $0.00456 / 1K žetonov Vhod · Branje predpomnilnika $0 / 1K žetonov Vhod · Zapis v predpomnilnik $0 / 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 · 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"))
Prejmi in shrani rezultate
Ailoot Ultra · OpenAI Chat
json ali SSE
Ohrani vse dokončane rezultate
Shranite vsak v celoti vrnjen odgovor, datoteko in del vsebine.
Ohranite vsako možnost odgovora ter njeno vsebino, klice orodij in sklepanje. V SSE sestavite delne spremembe po indeksu možnosti/orodja ter ohranite končni razlog zaključka in podatke o porabi.
Če je treba preveriti izvirni odgovor
Ohranite ID zahtev/odgovorov in glave. Splošni URL za pridobivanje besedilne naloge ni podan.
Polja odgovora
| Polje | Vrsta |
|---|---|
Poljechoices[].index | Vrstainteger |
Poljechoices[].message.content | Vrstastring|null |
Poljechoices[].message.tool_calls | Vrstatool_call[] |
Poljechoices[].message.reasoning_content | Vrstastring |
Poljechoices[].message.reasoning_details | Vrstaobject|array |
Poljechoices[].finish_reason | Vrstastring|null |
Poljeusage | Vrstaobject |
Napake in naslednji koraki
| Odgovor | Pogoj | Naslednji korak |
|---|---|---|
Odgovor400 · invalid_request_error | PogojNeveljavna obvezna polja, predstavitev gradiva ali vrednost parametra | Naslednji korakPred novo zahtevo za ustvarjanje popravite navedena polja. |
Druga imena
Druga imena modelov
Ailoot Ultra KAT-Coder-Pro-V1
Druga imena poti metod
/chat/completions
Povezani ID-ji za klic
Ailoot Ultra · Anthropic Messages POST /v1/messages KAT-Coder-Pro-V1
KAT-Coder-Pro-V1Začetek
KAT-Coder je Kuaishoujeva družina programerskih modelov za razvojne naloge z upoštevanjem repozitorija. Proizvajalčev potek združuje pregled z orodji, generiranje popravkov, pregled na podlagi izvedbe in refleksijo ter ustvarja kodo ali razlage, povezane z dejanskim vedenjem projekta.
- Dovoljeni vhodi
- Besedilo
- Rezultati
- json · sse
Na voljo v Ailoot · vhodi in metode
Ailoot Ultra · Anthropic Messages POST /v1/messages
- Vhod
text- Izhod
json,sse- Izhodni format
- JSON ali SSE
| Polje | Vrsta | Zahteva | Vrednosti in omejitve | Privzeto |
|---|---|---|---|---|
Poljemodel | Vrstastring | ZahtevaObvezno | Vrednosti in omejitve KAT-Coder-Pro-V1 | Privzeto— |
Poljemessages | Vrstamessage[] | ZahtevaObvezno | Vrednosti in omejitve | Privzeto— |
Poljemessages[].role | Vrstastring | ZahtevaObvezno | Vrednosti in omejitve user, assistant | Privzeto— |
Poljemessages[].content | Vrstastring | ZahtevaObvezno | Vrednosti in omejitve | Privzeto— |
Poljemax_tokens | Vrstainteger | ZahtevaObvezno | Vrednosti in omejitve | Privzeto— |
Poljestream | Vrstaboolean | ZahtevaIzbirno | Vrednosti in omejitve | Privzetofalse |
Kombinacije vhodnih gradiv
Besedilo · Besedilo UTF-8
niz messages[].content
Parametri in življenjski cikel metode
| Parameter | Specifikacija |
|---|---|
Parametercontent_type | Specifikacijaapplication/json |
Parameterrequired | Specifikacijamodel, messages, max_tokens |
Parameteroptional_controls | Specifikacijastream |
Parametermaterial_types | Specifikacijatext |
Parametertext_file_material | SpecifikacijaPreberite dejanski dokument UTF-8 in njegovo besedilo vstavite v navedeni vhodni niz ali niz vsebine sporočila. |
Življenjski cikel: synchronous_or_streamed
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 Ailoot
Cene po nastavitvah
| Nastavitev | Cenovna lestvica | Strošek |
|---|---|---|
| NastavitevOsnovne cene za žetone | Cenovna lestvicaOsnovna cena | Strošek Vhod · Vhodni žetoni $0.00114 / 1K žetonov Izhod · Izhodni žetoni $0.00456 / 1K žetonov Vhod · Branje predpomnilnika $0 / 1K žetonov Vhod · Zapis v predpomnilnik $0 / 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 · 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))
Prejmi in shrani rezultate
Ailoot Ultra · Anthropic Messages
JSON ali SSE
Ohrani vse dokončane rezultate
Shranite vsak v celoti vrnjen odgovor, datoteko in del vsebine.
Ohranite vse vsebinske bloke, podpise sklepanja in dejanske ID uporabe orodij. Sestavite vse delne spremembe blokov SSE; prvi besedilni blok ni celoten izhod.
Če je treba preveriti izvirni odgovor
Ohranite ID zahtev/odgovorov in glave. Splošni URL za pridobivanje besedilne naloge ni podan.
Polja odgovora
| Polje | Vrsta |
|---|---|
Poljeid | Vrstastring |
Poljemodel | Vrstastring |
Poljecontent[] | Vrstatext|thinking|tool_use|other content block |
Poljestop_reason | Vrstastring|null |
Poljeusage | Vrstaobject |
Napake in naslednji koraki
| Odgovor | Pogoj | Naslednji korak |
|---|---|---|
Odgovor400 · invalid_request_error | PogojNeveljavna obvezna polja, predstavitev gradiva ali vrednost parametra | Naslednji korakPred novo zahtevo za ustvarjanje popravite navedena polja. |
Druga imena
Druga imena modelov
Ailoot Ultra KAT-Coder-Pro-V1
Druga imena poti metod
/chat/completions
Povezani ID-ji za klic
FAQ · kat-coder-pro-v1
- Kateri vhodi in rezultati so na voljo?
POST /v1/chat/completions·KAT-Coder-Pro-V1:text→textPOST /v1/messages·KAT-Coder-Pro-V1:text→json,sse- Katera polja uporablja zahteva?
POST /v1/chat/completions·KAT-Coder-Pro-V1:model,messages,streamPOST /v1/messages·KAT-Coder-Pro-V1:model,messages,max_tokens,stream- Katere omejitve veljajo?
POST /v1/chat/completions·KAT-Coder-Pro-V1:messages.min_items:1