kat-coder-pro-v1
KAT-Coder הוא משפחת מודלי התכנות של Kuaishou למשימות פיתוח המתחשבות במאגר הקוד. תהליך העבודה של היצרן משלב בחינה בסיוע כלים, יצירת תיקונים, בדיקה המבוססת על הרצה והתבוננות בתוצאות, ומפיק קוד או הסברים הקשורים להתנהגות הפרויקט בפועל.
- Ailoot Ultra · OpenAI Chat
POST /v1/chat/completionsKAT-Coder-Pro-V1 - Ailoot Ultra · Anthropic Messages
POST /v1/messagesKAT-Coder-Pro-V1
על המודל
התיאור הזה מציג את יכולות המודל. הקלט, הפלט והאפשרויות הזמינים ב-Ailoot מפורטים בהמשך לפי השיטה שנבחרה.
KAT-Coder הוא משפחת מודלי התכנות של Kuaishou למשימות הנדסת תוכנה בסביבה עם כלים. המהדורה המקורית של היצרן מתמקדת בליווי בקשת פיתוח דרך בחינת מאגר הקוד, יצירת תיקון ובדיקה. האימון שלה מכסה מימוש ושיפור תכונות, תיקון באגים, ארגון קוד מחדש, עבודת ביצועים, יצירת בדיקות, הבנת קוד ומשימות תצורה. התוצרים השימושיים הם קוד וטקסט הקשורים להתנהגות הפרויקט בפועל.
ספקו את הבעיה ואת הקשר הפרויקט הרלוונטי
ציינו את ההתנהגות שיש להשיג, את המימוש הנוכחי ואת התנאים המגדירים השלמה. כללו את קובצי המקור או הקטעים הדרושים להבנת הבעיה ואת הפקודות או התצפיות שכבר זמינות מהסביבה. בריף מקורי לתיקון באג יכול לזהות את הקלט שנכשל, את התוצאה הצפויה ואת הפונקציה שהתנהגותה שונה. בקשת תכונה יכולה לציין את התוצאה הגלויה למשתמש ואת הממשקים שחייבים להישאר עקביים.
אימון הסוכנים של היצרן משתמש בתיאורי בעיות, בקוד ענפים, בסביבות הרצה ובתנאי משימה ניתנים לאימות. שמרו חלקים אלה מתואמים במשימה בסיוע יישום. הצעת מודל צריכה להתייחס לעותק העבודה בפועל ולראיות שסופקו, בעוד שהיישום מבצע פעולות קבצים או הרצה ומחזיר תוצאות. שמרו את תוצאתה של כל פעולה בעלת משמעות עם ההמשך.
כלים ופיתוח מרובה תורות
היצרן מתעד מילוי הוראות, שימוש בכלים ואינטראקציה ממושכת כחלקים מרכזיים בפיתוח המשפחה. מתכון סוכן התכנות שפורסם מספק פעולות קריאה ועריכה של קבצים ופעולת השלמה. המודל יכול לבחון מידע, לבקש שינוי ולהמשיך מהתצפית שהוחזרה. תפקידו לבחור ולתאר את הצעד הבא; הסביבה שסביבו קובעת מה קרה בפועל.
המהדורה המקורית מתארת גם בקשות מקבילות לכלים כיכולת שנצפתה לאחר אימון סוכנים. השתמשו בפעולות עצמאיות רק כשאפשר לשמור את תוצאותיהן משויכות לבקשה הנכונה. הסבר על מאגר יכול לשלב מידע מכמה קבצים, ואילו תיקון דורש את התוכן וההתנהגות הנוכחיים של הקוד המושפע. אל תחליפו תצפית חסרה בתוצאת סביבה שנראית סבירה.
בדקו שינויים מועמדים במכוון
מתכון הסוכן שפרסם היצרן מפריד בין יצירת תיקונים, סינון, בחירה והתבוננות בתוצאות. הסינון משלב הסרת כפילויות סמנטיות עם בדיקות מבוססות הרצה; הבחירה מעריכה את המועמדים שנותרו; ההתבוננות משתמשת בתוצאות הקודמות להנחיית סבב מאוחר יותר. שלבים אלה שייכים לתהליך התכנות המתועד ואינם הבטחה אוטומטית הצמודה לכל תשובת טקסט פשוטה.
במשימת קוד מעשית, שמרו יחד את התיקון המוצע, את הבדיקות שהורצו בפועל ואת תוצאותיהן. השוואת תיקונים מועמדים צריכה להסביר את התנאי שמבדיל ביניהם, במיוחד כאשר כל אחד נראה סביר לפי השינוי בקוד לבדו. בדיקה שנכשלה יכולה לתת לתור הבא בעיה מסוימת לטיפול במקום להניע שכתוב לא קשור.
הבחנות בין המשפחה למהדורות
המהדורה המקורית של היצרן מבחינה בין KAT-Coder לבין המודל הפתוח הנפרד KAT-Dev-32B. דיוני אימון והדגמות תהליך אינם הופכים כל וריאנט בעל שם במשפחה לנקודת שמירה זהה. שמרו את הווריאנט שנבחר ואת הוראות הפרויקט שסופקו עם התוצאה, והשתמשו בממשק היצרן המסוים או במתכון הסביבה לפעולותיו.
מסירה שימושית יכולה להכיל מימוש ממוקד, הסבר פגם או ארגון קוד מחדש עם הראיות התומכות בהתנהגותו. בדקו את הלוגיקה ששונתה ואת פלטי הסביבה בפועל לפני התייחסות למשימה כמוגמרת. ייעוד הנדסת התוכנה של KAT-Coder שימושי במיוחד כשהוא נשאר קשור לבקשת פיתוח מוחשית, לקוד הרלוונטי ולתוצר סופי שניתן לבדוק.
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions KAT-Coder-Pro-V1
KAT-Coder-Pro-V1התחלה
KAT-Coder הוא משפחת מודלי התכנות של Kuaishou למשימות פיתוח המתחשבות במאגר הקוד. תהליך העבודה של היצרן משלב בחינה בסיוע כלים, יצירת תיקונים, בדיקה המבוססת על הרצה והתבוננות בתוצאות, ומפיק קוד או הסברים הקשורים להתנהגות הפרויקט בפועל.
- סוגי קלט נתמכים
- טקסט
- תוצאות
- טקסט
זמין ב-Ailoot · קלט ושיטות
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
- סוגי קלט
text- סוגי פלט
text- פורמט פלט
- json או SSE
| שדה | סוג | דרישה | ערכים ומגבלות | ברירת מחדל |
|---|---|---|---|---|
שדהmodel | סוגstring | דרישהחובה | ערכים ומגבלות KAT-Coder-Pro-V1 | ברירת מחדל— |
שדהmessages | סוגmessage[] | דרישהחובה | ערכים ומגבלות מספר פריטים מזערי: 1 | ברירת מחדל— |
שדהmessages[].role | סוגstring | דרישהחובה | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
שדהmessages[].content | סוגstring | דרישהרשות | ערכים ומגבלות חל כאשר: שיחת טקסט | ברירת מחדל— |
שדהstream | סוגboolean | דרישהרשות | ערכים ומגבלות | ברירת מחדלfalse |
שילובים של חומרי קלט
טקסט · טקסט UTF8
messages[].content
פרמטרים ומחזור חיים של השיטה
| פרמטר | מפרט |
|---|---|
פרמטרcontent_type | מפרטapplication/json |
פרמטרrequired | מפרטmodel, messages |
פרמטרmaterial_types | מפרטtext |
פרמטרmessages | מפרטמערך הודעות במבנה role/content |
פרמטרfile_material | מפרטמסמך UTF-8 בפועל מוכנס כטקסט מילולי; לא מוסק מזהה קובץ |
פרמטרoptional_controls | מפרטstream |
פרמטרcontrol_scope | מפרטשיחת טקסט; stream הוא ערך בוליאני וברירת המחדל שלו היא false. |
פרמטרoutput_modalities | מפרטtext |
פרמטרhosted_operations | מפרטfalse |
פרמטרmultimodal_input_binding | מפרטnull |
כינויים לשיטה: /chat/completions
מחזור חיים: synchronous_or_streamed
שלחו את מזהה המודל המדויק עם messages.
אורך ההקשר אינו תקרת פלט.
קובץ טקסט יכול לספק טקסט מילולי; קלטי תמונה/אודיו/אובייקט קובץ דורשים קישור מדויק.
תעריפים
מידע תעריפים אינו מוסיף אפשרויות לבקשה. הפרמטרים הנתמכים מפורטים בשיטה שנבחרה.
- מצב מהיר
- לא צוין כאשר נבחר מצב מהיר
- מצב Flex
- לא צוין כאשר נבחר מצב flex
- מאמץ חשיבה מרבי
- לא צוין כאשר מאמץ החשיבה המרבי משתמש בהתאמת ברירת המחדל (default)
תעריפי Ailoot
מחירים לפי תצורה
| תצורה | טבלת תעריפים | חיוב |
|---|---|---|
| תצורהתעריפי הבסיס לטוקנים | טבלת תעריפיםתעריף בסיס | חיוב קלט · טוקני קלט $0.00114 / 1K טוקנים פלט · טוקני פלט $0.00456 / 1K טוקנים קלט · קריאה מהמטמון $0 / 1K טוקנים קלט · כתיבה למטמון $0 / 1K טוקנים קלט · כתיבה למטמון, 1 שעה — / 1K טוקנים |
לפני הבקשה Ailoot משריינת סכום משוער. לאחר קבלת התוצאה היא מסדירה את החיוב הסופי לפי השימוש המדוד. הסדרת חיוב בהזרמה משתמשת ברשומת השימוש הסופית. איך פועלים שריון הסכום והסדרת החיוב →
דוגמאות לבקשות
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"))
קבלה ושמירה של תוצאות
Ailoot Ultra · OpenAI Chat
json או SSE
שמירת כל התוצאות שהושלמו
שמרו כל תגובה מלאה, קובץ ומקטע תוכן שהוחזרו.
שמרו כל בחירה ואת התוכן, קריאות הכלים וההנמקה שלה. ב-SSE הרכיבו עדכונים לפי אינדקס הבחירה/הכלי ושמרו את סיבת הסיום הסופית ואת השימוש.
כשצריך לבדוק את התגובה המקורית
שמרו מזהי בקשות/תגובות וכותרות. לא מסופק URL כללי לאחזור משימת טקסט.
שדות התגובה
| שדה | סוג |
|---|---|
שדהchoices[].index | סוגinteger |
שדהchoices[].message.content | סוגstring|null |
שדהchoices[].message.tool_calls | סוגtool_call[] |
שדהchoices[].message.reasoning_content | סוגstring |
שדהchoices[].message.reasoning_details | סוגobject|array |
שדהchoices[].finish_reason | סוגstring|null |
שדהusage | סוגobject |
שגיאות והשלבים הבאים
| תגובה | תנאי | השלב הבא |
|---|---|---|
תגובה400 · invalid_request_error | תנאישדות נדרשים, ייצוג חומר או ערך פרמטר שאינם תקינים | השלב הבאתקנו את השדות שצוינו לפני בקשת יצירה חדשה. |
כינויים
כינויים למודל
Ailoot Ultra KAT-Coder-Pro-V1
כינויים לנתיבי שיטות
/chat/completions
מזהי מודלים קשורים IDs
Ailoot Ultra · Anthropic Messages POST /v1/messages KAT-Coder-Pro-V1
KAT-Coder-Pro-V1התחלה
KAT-Coder הוא משפחת מודלי התכנות של Kuaishou למשימות פיתוח המתחשבות במאגר הקוד. תהליך העבודה של היצרן משלב בחינה בסיוע כלים, יצירת תיקונים, בדיקה המבוססת על הרצה והתבוננות בתוצאות, ומפיק קוד או הסברים הקשורים להתנהגות הפרויקט בפועל.
- סוגי קלט נתמכים
- טקסט
- תוצאות
- json · sse
זמין ב-Ailoot · קלט ושיטות
Ailoot Ultra · Anthropic Messages POST /v1/messages
- סוגי קלט
text- סוגי פלט
json,sse- פורמט פלט
- JSON או SSE
| שדה | סוג | דרישה | ערכים ומגבלות | ברירת מחדל |
|---|---|---|---|---|
שדהmodel | סוגstring | דרישהחובה | ערכים ומגבלות KAT-Coder-Pro-V1 | ברירת מחדל— |
שדהmessages | סוגmessage[] | דרישהחובה | ערכים ומגבלות | ברירת מחדל— |
שדהmessages[].role | סוגstring | דרישהחובה | ערכים ומגבלות user, assistant | ברירת מחדל— |
שדהmessages[].content | סוגstring | דרישהחובה | ערכים ומגבלות | ברירת מחדל— |
שדהmax_tokens | סוגinteger | דרישהחובה | ערכים ומגבלות | ברירת מחדל— |
שדהstream | סוגboolean | דרישהרשות | ערכים ומגבלות | ברירת מחדלfalse |
שילובים של חומרי קלט
טקסט · טקסט UTF-8
מחרוזת messages[].content
פרמטרים ומחזור חיים של השיטה
| פרמטר | מפרט |
|---|---|
פרמטרcontent_type | מפרטapplication/json |
פרמטרrequired | מפרטmodel, messages, max_tokens |
פרמטרoptional_controls | מפרטstream |
פרמטרmaterial_types | מפרטtext |
פרמטרtext_file_material | מפרטקראו את מסמך UTF-8 בפועל והכניסו את הטקסט שלו לקלט שצוין או למחרוזת תוכן ההודעה. |
מחזור חיים: synchronous_or_streamed
תעריפים
מידע תעריפים אינו מוסיף אפשרויות לבקשה. הפרמטרים הנתמכים מפורטים בשיטה שנבחרה.
- מצב מהיר
- לא צוין כאשר נבחר מצב מהיר
- מצב Flex
- לא צוין כאשר נבחר מצב flex
- מאמץ חשיבה מרבי
- לא צוין כאשר מאמץ החשיבה המרבי משתמש בהתאמת ברירת המחדל (default)
תעריפי Ailoot
מחירים לפי תצורה
| תצורה | טבלת תעריפים | חיוב |
|---|---|---|
| תצורהתעריפי הבסיס לטוקנים | טבלת תעריפיםתעריף בסיס | חיוב קלט · טוקני קלט $0.00114 / 1K טוקנים פלט · טוקני פלט $0.00456 / 1K טוקנים קלט · קריאה מהמטמון $0 / 1K טוקנים קלט · כתיבה למטמון $0 / 1K טוקנים קלט · כתיבה למטמון, 1 שעה — / 1K טוקנים |
לפני הבקשה Ailoot משריינת סכום משוער. לאחר קבלת התוצאה היא מסדירה את החיוב הסופי לפי השימוש המדוד. הסדרת חיוב בהזרמה משתמשת ברשומת השימוש הסופית. איך פועלים שריון הסכום והסדרת החיוב →
דוגמאות לבקשות
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))
קבלה ושמירה של תוצאות
Ailoot Ultra · Anthropic Messages
JSON או SSE
שמירת כל התוצאות שהושלמו
שמרו כל תגובה מלאה, קובץ ומקטע תוכן שהוחזרו.
שמרו את כל בלוקי התוכן, חתימות החשיבה ומזהי השימוש בכלים בפועל. הרכיבו את כל עדכוני הבלוקים של SSE; בלוק הטקסט הראשון אינו הפלט המלא.
כשצריך לבדוק את התגובה המקורית
שמרו מזהי בקשות/תגובות וכותרות. לא מסופק URL כללי לאחזור משימת טקסט.
שדות התגובה
| שדה | סוג |
|---|---|
שדהid | סוגstring |
שדהmodel | סוגstring |
שדהcontent[] | סוגtext|thinking|tool_use|other content block |
שדהstop_reason | סוגstring|null |
שדהusage | סוגobject |
שגיאות והשלבים הבאים
| תגובה | תנאי | השלב הבא |
|---|---|---|
תגובה400 · invalid_request_error | תנאישדות נדרשים, ייצוג חומר או ערך פרמטר שאינם תקינים | השלב הבאתקנו את השדות שצוינו לפני בקשת יצירה חדשה. |
כינויים
כינויים למודל
Ailoot Ultra KAT-Coder-Pro-V1
כינויים לנתיבי שיטות
/chat/completions
מזהי מודלים קשורים IDs
FAQ · kat-coder-pro-v1
- אילו קלטים ותוצאות זמינים?
POST /v1/chat/completions·KAT-Coder-Pro-V1:text→textPOST /v1/messages·KAT-Coder-Pro-V1:text→json,sse- באילו שדות הבקשה משתמשת?
POST /v1/chat/completions·KAT-Coder-Pro-V1:model,messages,streamPOST /v1/messages·KAT-Coder-Pro-V1:model,messages,max_tokens,stream- אילו מגבלות חלות?
POST /v1/chat/completions·KAT-Coder-Pro-V1:messages.min_items:1