model

kat-coder-pro-v1

Markdown · JSON

kat-coder-pro-v1

KAT-Coder ialah keluarga model pengekodan Kuaishou untuk tugas pembangunan yang memahami repositori. Aliran kerja pembuat menggabungkan pemeriksaan berbantukan alat, penjanaan tampalan, semakan berasaskan pelaksanaan dan refleksi, menghasilkan kod atau penerangan yang terikat pada tingkah laku projek sebenar.

Tentang model

Huraian ini merangkumi keupayaan model. Input, output dan pilihan yang tersedia di Ailoot disenaraikan di bawah untuk kaedah yang dipilih.

KAT-Coder ialah keluarga model pengekodan Kuaishou untuk tugas kejuruteraan perisian dalam persekitaran dengan alat. Keluaran asal pembuat berfokus pada mengikuti permintaan pembangunan melalui pemeriksaan repositori, penciptaan tampalan dan semakan. Latihannya meliputi pelaksanaan dan penambahbaikan ciri, pembetulan pepijat, pemfaktoran semula, kerja prestasi, penciptaan ujian, pemahaman kod dan tugas berkaitan konfigurasi. Artifak yang berguna ialah kod dan teks yang terhubung dengan tingkah laku projek sebenar.

Berikan isu dan konteks projek yang berkaitan

Nyatakan tingkah laku yang perlu dicapai, pelaksanaan semasa dan syarat yang mentakrifkan penyelesaian. Sertakan fail sumber atau petikan yang diperlukan untuk memahami masalah serta perintah atau pemerhatian yang sudah tersedia daripada persekitaran. Ringkasan arahan pembetulan pepijat asal boleh mengenal pasti input yang gagal, hasil yang dijangka dan fungsi yang tingkah lakunya berbeza. Permintaan ciri boleh menamakan hasil yang kelihatan kepada pengguna dan antara muka yang mesti kekal konsisten.

Latihan berejen pengeluar menggunakan penerangan isu, kod cabang, persekitaran boleh laksana dan syarat tugas yang boleh disahkan. Pastikan bahagian itu sejajar dalam tugas berbantukan aplikasi. Cadangan model patut menangani salinan kerja dan bukti sebenar yang dibekalkan, manakala aplikasi melaksanakan operasi fail atau pelaksanaan dan mengembalikan hasil. Kekalkan hasil setiap operasi penting bersama maklumat untuk meneruskan kerja.

Alat dan pembangunan berbilang giliran

Pembuat mendokumenkan pematuhan arahan, penggunaan alat dan interaksi berpanjangan sebagai bahagian utama pembangunan keluarga ini. Resipi ejen pengekodan yang dikeluarkan menyediakan operasi pembacaan dan penyuntingan fail serta tindakan penyelesaian. Model boleh memeriksa maklumat, meminta perubahan dan meneruskan daripada pemerhatian yang dikembalikan. Peranannya ialah memilih dan menerangkan langkah seterusnya; persekitaran yang mengelilinginya menentukan perkara yang benar-benar berlaku.

Keluaran asal turut menerangkan permintaan alat selari sebagai keupayaan yang diperhatikan selepas latihan berejen. Gunakan operasi bebas hanya apabila hasilnya boleh kekal dikaitkan dengan permintaan yang betul. Penerangan repositori boleh menggabungkan maklumat daripada beberapa fail, manakala tampalan memerlukan kandungan dan tingkah laku semasa kod yang terjejas. Jangan gantikan pemerhatian yang tiada dengan hasil persekitaran yang sekadar munasabah.

Semak perubahan calon dengan teliti

Resipi ejen yang diterbitkan pengeluar memisahkan penjanaan tampalan, penapisan, pemilihan dan refleksi. Penapisan menggabungkan penyahduplikasian semantik dengan semakan berasaskan pelaksanaan; pemilihan menilai calon yang masih ada; refleksi menggunakan hasil terdahulu untuk memandu pusingan kemudian. Peringkat itu tergolong dalam aliran kerja pengekodan yang didokumenkan dan bukannya jaminan automatik yang disertakan pada setiap respons teks biasa.

Untuk tugas kod praktikal, simpan tampalan cadangan, semakan yang benar-benar dijalankan dan hasilnya bersama-sama. Perbandingan calon pembetulan patut menerangkan syarat yang membezakannya, terutama apabila setiap satu kelihatan munasabah daripada perbezaan kod sahaja. Semakan gagal boleh memberikan giliran seterusnya isu khusus untuk ditangani, bukannya mendorong penulisan semula yang tidak berkaitan.

Perbezaan keluarga dan edisi

Keluaran asal pembuat membezakan KAT-Coder daripada model terbuka berasingan KAT-Dev-32B. Perbincangan latihan dan demonstrasi aliran kerja tidak bermakna setiap varian bernama dalam keluarga itu menggunakan checkpoint model yang sama. Kekalkan varian yang dipilih dan arahan projek yang dibekalkan bersama hasil, dan gunakan antara muka pengeluar atau resipi persekitaran khusus untuk operasinya.

Serahan yang berguna boleh mengandungi pelaksanaan terfokus, penerangan kecacatan atau pemfaktoran semula dengan bukti yang menyokong tingkah lakunya. Semak logik yang diubah dan output persekitaran sebenar sebelum menganggap tugas selesai. Tujuan kejuruteraan perisian KAT-Coder paling berguna apabila kekal terhubung dengan permintaan pembangunan konkrit, kod berkaitan dan artifak akhir yang boleh disemak.

Ailoot Ultra · OpenAI Chat POST /v1/chat/completions KAT-Coder-Pro-V1

KAT-Coder-Pro-V1

Kuaishou /KAT-Coder-Pro-V1

Pengenalan

KAT-Coder ialah keluarga model pengekodan Kuaishou untuk tugas pembangunan yang memahami repositori. Aliran kerja pembuat menggabungkan pemeriksaan berbantukan alat, penjanaan tampalan, semakan berasaskan pelaksanaan dan refleksi, menghasilkan kod atau penerangan yang terikat pada tingkah laku projek sebenar.

Input yang diterima
Teks
Hasil
Teks

Tersedia di Ailoot · input & kaedah

Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
Input
text
Output
text
Format output
json atau SSE
MedanJenisKeperluanNilai & hadLalai
MedanmodelJenisstringKeperluanDiperlukanNilai & had
KAT-Coder-Pro-V1
Lalai—
MedanmessagesJenismessage[]KeperluanDiperlukanNilai & had
Item minimum: 1
Lalai—
Medanmessages[].roleJenisstringKeperluanDiperlukanNilai & had
Bergantung pada model
Lalai—
Medanmessages[].contentJenisstringKeperluanPilihanNilai & had
Terpakai apabila: Perbualan teks
Lalai—
MedanstreamJenisbooleanKeperluanPilihanNilai & hadLalaifalse
Gabungan bahan input

Teks · Teks UTF8

messages[].content

Parameter kaedah dan kitar hayat
ParameterKontrak
Parametercontent_typeKontrakapplication/json
ParameterrequiredKontrakmodel, messages
Parametermaterial_typesKontraktext
ParametermessagesKontraktatasusunan mesej dengan struktur role/content
Parameterfile_materialKontrakdokumen UTF-8 sebenar dimasukkan sebagai teks literal; ID fail tidak diandaikan
Parameteroptional_controlsKontrakstream
Parametercontrol_scopeKontrakPerbualan teks; stream ialah nilai boolean dengan false sebagai lalai.
Parameteroutput_modalitiesKontraktext
Parameterhosted_operationsKontrakfalse
Parametermultimodal_input_bindingKontraknull

Alias kaedah: /chat/completions

Kitar hayat: synchronous_or_streamed

Hantar ID model yang tepat bersama messages.

Panjang konteks bukan had output.

Fail teks boleh membekalkan teks literal; input imej/audio/objek fail memerlukan pengikatan tepat.

Pelan harga

Rujukan tarif tidak menambah pilihan permintaan. Parameter yang disokong disenaraikan untuk kaedah yang dipilih.

Mod pantas
Tidak dinyatakan Apabila mod pantas dipilih
Mod flex
Tidak dinyatakan Apabila mod flex dipilih
Usaha penaakulan maksimum
Tidak dinyatakan Apabila usaha penaakulan maksimum menggunakan pelarasan default

Kadar Ailoot

Harga mengikut konfigurasi

KonfigurasiJadual kadarCaj
KonfigurasiKadar asas tokenJadual kadarKadar asasCaj
Input · Token input $0.00114 / 1K token
Output · Token output $0.00456 / 1K token
Input · Bacaan cache $0 / 1K token
Input · Penulisan cache $0 / 1K token
Input · Penulisan cache, 1 jam — / 1K token

Ailoot merizabkan anggaran amaun sebelum permintaan. Selepas hasil diterima, caj akhir diselesaikan berdasarkan penggunaan terukur. Penyelesaian caj penstriman menggunakan rekod penggunaan akhir. Cara rizab dan penyelesaian caj berfungsi →

Contoh permintaan

Ailoot Ultra · OpenAI Chat

curlPython SDK
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"))

Terima dan simpan hasil

Ailoot Ultra · OpenAI Chat

json atau SSE

Simpan semua hasil yang selesai

Simpan setiap respons lengkap, fail dan bahagian kandungan yang dikembalikan.

Kekalkan setiap pilihan jawapan bersama kandungan, panggilan alat dan penaakulannya. Dalam SSE, gabungkan delta mengikut indeks pilihan jawapan/alat dan kekalkan sebab penamatan akhir serta data penggunaan.

Jika respons asal perlu disemak

Kekalkan ID permintaan/respons dan pengepala. Tiada URL umum bagi pengambilan tugas teks dibekalkan.

Medan respons
MedanJenis
Medanchoices[].indexJenisinteger
Medanchoices[].message.contentJenisstring|null
Medanchoices[].message.tool_callsJenistool_call[]
Medanchoices[].message.reasoning_contentJenisstring
Medanchoices[].message.reasoning_detailsJenisobject|array
Medanchoices[].finish_reasonJenisstring|null
MedanusageJenisobject
Ralat dan langkah seterusnya
ResponsSyaratLangkah seterusnya
Respons400 · invalid_request_errorSyaratMedan wajib, perwakilan bahan atau nilai parameter tidak sahLangkah seterusnyaBetulkan medan yang ditunjukkan sebelum permintaan penciptaan baharu.

Alias

Alias model

Ailoot Ultra KAT-Coder-Pro-V1

Alias laluan kaedah

/chat/completions

ID pemanggil berkaitan

KAT-Coder-Pro-V1

Ailoot Ultra · Anthropic Messages POST /v1/messages KAT-Coder-Pro-V1

KAT-Coder-Pro-V1

Kuaishou /KAT-Coder-Pro-V1

Pengenalan

KAT-Coder ialah keluarga model pengekodan Kuaishou untuk tugas pembangunan yang memahami repositori. Aliran kerja pembuat menggabungkan pemeriksaan berbantukan alat, penjanaan tampalan, semakan berasaskan pelaksanaan dan refleksi, menghasilkan kod atau penerangan yang terikat pada tingkah laku projek sebenar.

Input yang diterima
Teks
Hasil
json · sse

Tersedia di Ailoot · input & kaedah

Ailoot Ultra · Anthropic Messages POST /v1/messages
Input
text
Output
json, sse
Format output
JSON atau SSE
MedanJenisKeperluanNilai & hadLalai
MedanmodelJenisstringKeperluanDiperlukanNilai & had
KAT-Coder-Pro-V1
Lalai—
MedanmessagesJenismessage[]KeperluanDiperlukanNilai & hadLalai—
Medanmessages[].roleJenisstringKeperluanDiperlukanNilai & had
user, assistant
Lalai—
Medanmessages[].contentJenisstringKeperluanDiperlukanNilai & hadLalai—
Medanmax_tokensJenisintegerKeperluanDiperlukanNilai & hadLalai—
MedanstreamJenisbooleanKeperluanPilihanNilai & hadLalaifalse
Gabungan bahan input

Teks · Teks UTF-8

rentetan messages[].content

Parameter kaedah dan kitar hayat
ParameterKontrak
Parametercontent_typeKontrakapplication/json
ParameterrequiredKontrakmodel, messages, max_tokens
Parameteroptional_controlsKontrakstream
Parametermaterial_typesKontraktext
Parametertext_file_materialKontrakBaca dokumen UTF-8 sebenar dan letakkan teksnya dalam rentetan input atau kandungan mesej yang ditunjukkan.

Kitar hayat: synchronous_or_streamed

Pelan harga

Rujukan tarif tidak menambah pilihan permintaan. Parameter yang disokong disenaraikan untuk kaedah yang dipilih.

Mod pantas
Tidak dinyatakan Apabila mod pantas dipilih
Mod flex
Tidak dinyatakan Apabila mod flex dipilih
Usaha penaakulan maksimum
Tidak dinyatakan Apabila usaha penaakulan maksimum menggunakan pelarasan default

Kadar Ailoot

Harga mengikut konfigurasi

KonfigurasiJadual kadarCaj
KonfigurasiKadar asas tokenJadual kadarKadar asasCaj
Input · Token input $0.00114 / 1K token
Output · Token output $0.00456 / 1K token
Input · Bacaan cache $0 / 1K token
Input · Penulisan cache $0 / 1K token
Input · Penulisan cache, 1 jam — / 1K token

Ailoot merizabkan anggaran amaun sebelum permintaan. Selepas hasil diterima, caj akhir diselesaikan berdasarkan penggunaan terukur. Penyelesaian caj penstriman menggunakan rekod penggunaan akhir. Cara rizab dan penyelesaian caj berfungsi →

Contoh permintaan

Ailoot Ultra · Anthropic Messages

Badan JSON minimum yang lengkapcurl · gunakan dokumen UTF-8 andaPython · simpan hasil lengkap
{
  "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))

Terima dan simpan hasil

Ailoot Ultra · Anthropic Messages

JSON atau SSE

Simpan semua hasil yang selesai

Simpan setiap respons lengkap, fail dan bahagian kandungan yang dikembalikan.

Kekalkan semua blok kandungan, tandatangan penaakulan dan ID penggunaan alat sebenar. Gabungkan semua delta blok SSE; blok teks pertama bukan keseluruhan output.

Jika respons asal perlu disemak

Kekalkan ID permintaan/respons dan pengepala. Tiada URL umum bagi pengambilan tugas teks dibekalkan.

Medan respons
MedanJenis
MedanidJenisstring
MedanmodelJenisstring
Medancontent[]Jenistext|thinking|tool_use|other content block
Medanstop_reasonJenisstring|null
MedanusageJenisobject
Ralat dan langkah seterusnya
ResponsSyaratLangkah seterusnya
Respons400 · invalid_request_errorSyaratMedan wajib, perwakilan bahan atau nilai parameter tidak sahLangkah seterusnyaBetulkan medan yang ditunjukkan sebelum permintaan penciptaan baharu.

Alias

Alias model

Ailoot Ultra KAT-Coder-Pro-V1

Alias laluan kaedah

/chat/completions

ID pemanggil berkaitan

KAT-Coder-Pro-V1

FAQ · kat-coder-pro-v1
Apakah input dan hasil yang tersedia?

POST /v1/chat/completions · KAT-Coder-Pro-V1: text → text

POST /v1/messages · KAT-Coder-Pro-V1: text → json, sse

Apakah medan yang digunakan oleh permintaan?

POST /v1/chat/completions · KAT-Coder-Pro-V1: model, messages, stream

POST /v1/messages · KAT-Coder-Pro-V1: model, messages, max_tokens, stream

Apakah had yang terpakai?

POST /v1/chat/completions · KAT-Coder-Pro-V1: messages.min_items: 1

Butiran lanjut

Sambungkan Ailoot kepada Claude Code, OpenCode, Hermes atau aplikasi anda.

Syarikat dan portfolio projeknya

Syarikat dan portfolio projeknya: jutaan pelanggan; jualan bernilai berbilion setiap bulan.

Beli token dengan diskaun.

Diskaun langganan untuk penggunaan berkala. Kod promosi — sehingga 50% bagi pembelian token.

Langganan
Pilih pelan berdiskaun untuk permintaan berkala anda.
Kod promosi sehingga 50%
Masukkan kod semasa pembelian. Harga dikira semula mengikut promosi semasa.
Perbelanjaan dalam sejarah
Model, token dan jumlah disimpan bagi setiap permintaan.

Pilih langganan · Lihat harga model

Sambungkan API kepada produk yang anda jual.

SaaS, aplikasi dan bot — di bawah tawaran rasmi serta perjanjian lesen Ailoot. Untuk jualan semula, mohon lesen penjual semula.

Aplikasi komersial
Tambahkan penjanaan teks, imej, video dan audio pada ciri berbayar perkhidmatan anda.
Lesen penjual semula
Hantar keterangan projek dan susunan akses. Minta terma penggunaan serta jualan semula secara bertulis.
Dokumen pada laman
Tawaran, perjanjian lesen dan dasar pemprosesan data tersedia sebelum sambungan.

Mohon lesen penjual semula · Tawaran dan perjanjian lesen