Qwen: Qwen3 Coder Flash
Qwen3-Coder-Flash הוא מודל התכנות הטקסטואלי של Qwen להבנת מאגרים ולאינטראקציה עם כלים לאורך מספר סבבים. המפרט שלו מציין הקשר של מיליון טוקנים, קלט מרבי של 997,952 טוקנים ופלט מרבי של 65,536 טוקנים, כשיכולות הכלים כפופות לפרופיל הפריסה של היצרן.
- Ailoot Ultra · OpenAI Chat
POST /v1/chat/completionsqwen/qwen3-coder-flash - Ailoot Ultra · Anthropic Messages
POST /v1/messagesqwen/qwen3-coder-flash - Ailoot Ultra · OpenAI Chat
POST /v1/chat/completionsqwen3-coder-flash - Ailoot Ultra · Anthropic Messages
POST /v1/messagesqwen3-coder-flash
על המודל
התיאור הזה מציג את יכולות המודל. הקלט, הפלט והאפשרויות הזמינים ב-Ailoot מפורטים בהמשך לפי השיטה שנבחרה.
סקירה: תכנות ממוקד מאגר
Qwen3-Coder-Flash הוא מודל ליצירת קוד המבוסס על Qwen3. היצרן אומר שהוא יורש יכולות של סוכן תכנות מ־Qwen3-Coder-Plus ומותאם להבנה ברמת המאגר, לקריאות יציבות לכלים ולאינטראקציה לאורך כמה סבבים. הקלט והפלט המתועדים שלו הם טקסט. השתמשו בו למשימת תכנות עם הקשר פרויקט שסופק ותוצר מוגדר, כגון תיקון מוצע, פונקציה או הסבר.
היצרן מתאר כיום את qwen3-coder-flash כשקול מבחינה תפקודית ל־qwen3-coder-flash-2025-07-28 ושומר את הגרסה המתוארכת הזו כגרסה בעלת שם. שמרו על הזהות שהתבקשה בעת תיעוד בחירת המודל. דף המודל המדויק אינו קובע את מספר הפרמטרים או את זהות המשקלים של צ'קפוינט Coder פתוח, ולכן אין להפוך את השם Flash לטענה לא מוכחת לגבי גודל או ארכיטקטורה.
הכנת ראיות מהמאגר
ספקו את המודולים, הממשקים והדרישות הרלוונטיים, וקלט שמדגים את ההתנהגות הנידונה. בקשו הצעת מימוש המאורגנת לפי הרכיבים המושפעים, ואז בקשו את התוצר הניתן לעריכה בנפרד מההסבר. לניתוח תקלה, כללו את השגיאה או הפלט שנצפו ואת ההתנהגות הצפויה. לתכונה, תארו את האינטראקציות ואת התנאים שהתוצאה חייבת לקיים.
תשובה שימושית יכולה להציג את האבחון, את השינוי המוצע ואת הבדיקות הדרושות לבחינה. אם המשימה עוסקת בפרויקט גדול, שמרו על מזהי קבצים ופונקציות בחומר שסופק כדי שההסבר יוכל להפנות לראיות שלו. בדקו את השינויים המוצעים מול הקבצים שסופקו, ההתנהגות הצפויה והתוצאות שהחזירו בדיקות מחוברות.
כלים ומשוב לאורך מספר סבבים
היצרן מדגיש אינטראקציה עם כלים לאורך כמה סבבים. תהליך עבודה מחובר יכול לספק כלי בדיקה או ביצוע ולהחזיר תצפיות בפועל למודל. ציינו את הפעולות המותרות ואת תנאי ההשלמה שניתן לצפות בהם. כשבדיקה נכשלת, ספקו את השגיאה האמיתית ואת הקוד הרלוונטי, במקום רק לבקש ניסיון חוזר. המודל יכול לתקן את עבודתו המוצעת באמצעות המשוב הזה; היישום מבצע את הפעולות.
מטריצת היכולות תומכת ב־Function Calling בפרופיל סין (בייג'ינג) של Alibaba ומסמנת אותו כלא נתמך בסינגפור, בגרמניה (פרנקפורט) ובארצות הברית (וירג'יניה). לכן זמינות הכלים מותנית, ואינה הבטחה שנובעת משם המודל לבדו. הצעת טקסט, בקשה לכלי ופעולה שהושלמה צריכות להישאר מובחנות בדוח הסופי. החזירו דוח סופי שמפריד בין הצעת הקוד, הקריאות שהתבקשו לכלים ותוצאות הכלים בפועל.
יכולות ועיצוב התוצאה
פלט מובְנה שנאכף וחיפוש אינטרנט מובנה מסומנים כלא נתמכים בדף הייעודי של המודל. הנחיה יכולה לבקש טבלה או טקסט בצורת JSON, אך אינה יוצרת חוזה לאכיפת סכֵמה. סוכן תכנות יכול לקבל ראיות עדכניות מכלי שהיישום מספק בלי שלמודל עצמו תהיה יכולת חיפוש מובנית.
Prefix Completion אינו נתמך בסין (בייג'ינג) ונתמך בסינגפור, בגרמניה (פרנקפורט) ובארצות הברית (וירג'יניה). Context Caching נתמך עבור הכינוי ללא תאריך בכל ארבעת הפרופילים, ואילו הגרסה הנפרדת מ־28 ביולי מסמנת אותו כלא נתמך. שתי המהדורות מסמנות הסקה באצווה וכוונון עדין כלא נתמכים. בקשו תוצר סופי שקל לבדוק ושמרו תצפיות כלים בפועל כשהדוח טוען שמשהו נבדק.
גבולות הקשר ופלט
המפרט מציין חלון הקשר של 1,000,000 טוקנים, אורך קלט מרבי של 997,952 טוקנים ואורך פלט מרבי של 65,536 טוקנים. אלה גבולות נפרדים; אין להניח שהקלט הגדול ביותר והפלט הגדול ביותר יכולים להיכנס יחד בו־זמנית להקשר. טקסט הפרויקט, ההיסטוריה, תוצאות הכלים והמקור שנוצר צריכים מקום בתקציב הבקשה בפועל.
הקשר גדול יכול לשלב יותר ראיות מהמאגר במשימה אחת. עדיין שימושי להסיר קבצים שנוצרו ואינם רלוונטיים, חומר חוזר ומודולים לא רלוונטיים, תוך שמירה על ההגדרות והממשקים שהשינוי תלוי בהם. לתוצר ארוך, בקשו במפורש את הקבצים או הפונקציות הדרושים ושמרו להם מספיק מקום בתשובה. שמרו קובצי קוד והסברים בנפרד, כדי שבודקים יוכלו לבחון את השינויים המוצעים.
תוצאה מעשית ומגבלות מהותיות
לשינוי במאגר, בקשו תיקון הכולל את הקבצים המושפעים, ההנחות והתוצאות האמיתיות שהחזירו בדיקות מחוברות. לאלגוריתם, ציינו את אילוצי הקלט ואת הפלט הצפוי לפני שתבקשו קוד. הקלט המתועד הוא טקסט, ולכן אסמכתה חזותית או הקלטה דורשות ייצוג נפרד מתאים אם המשימה צריכה להשתמש בהן כראיות.
בדקו תחביר שנוצר, ממשקים ומקרי קצה בתהליך הפיתוח. הסבר שנראה סביר או תיאור מודל מוכוון כלים אינם הוכחה שקוד הורץ בהצלחה. התוצאה המעשית היא תוצר טקסט או קוד שניתן לבדוק, הקשור לחומר המאגר שסופק, תוך שמירה על זהות Flash המדויקת, על גבולות היצרן ועל חוזה הכלים המותנה.
משימה מעשית
משימה מעשית
דוגמה טכנית באנגלית
Keep repository paths portable
In config.py, DATA_PATH = 'data/items.csv'. In runner.py, open(DATA_PATH) fails when the CLI is launched outside the repository directory. Propose a focused fix that anchors the resource path to the module location rather than the current working directory. Preserve the public CLI arguments and include a regression scenario launched from another directory.התוצאה הצפויה
A small coordinated code proposal for the named modules and a regression scenario for an unrelated working directory.בדיקת התוצאה
The proposed path does not depend on the launch directory and does not change the public CLI arguments.Ailoot Ultra · OpenAI Chat POST /v1/chat/completions qwen/qwen3-coder-flash
qwen/qwen3-coder-flashqwen/qwen3-coder-flashqwen3-coder-flash
התחלה
Qwen3-Coder-Flash הוא מודל התכנות הטקסטואלי של Qwen להבנת מאגרים ולאינטראקציה עם כלים לאורך מספר סבבים. המפרט שלו מציין הקשר של מיליון טוקנים, קלט מרבי של 997,952 טוקנים ופלט מרבי של 65,536 טוקנים, כשיכולות הכלים כפופות לפרופיל הפריסה של היצרן.
- סוגי קלט נתמכים
- טקסט
- תוצאות
- טקסט
זמין ב-Ailoot · קלט ושיטות
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
- סוגי קלט
text- סוגי פלט
text- פורמט פלט
- json או SSE
| שדה | סוג | דרישה | ערכים ומגבלות | ברירת מחדל |
|---|---|---|---|---|
שדהmodel | סוגstring | דרישהחובה | ערכים ומגבלות qwen/qwen3-coder-flash | ברירת מחדל— |
שדהmessages | סוגmessage[] | דרישהחובה | ערכים ומגבלות מספר פריטים מזערי: 1 | ברירת מחדל— |
שדהmessages[].role | סוגstring | דרישהחובה | ערכים ומגבלות דוגמאות: system, user, assistant, tool, function תנאים: התפקידים האלה מיוצגים במפורש בטיפוסי התאימות בקוד המקור; מערך התפקידים המדויק נשאר ייחודי לכל מודל. תלוי במודל | ברירת מחדל— |
שדהmessages[].content | סוגstring|content_part[]|null | דרישהרשות | ערכים ומגבלות | ברירת מחדל— |
שדהmessages[].tool_calls | סוגtool_call[] | דרישהרשות | ערכים ומגבלות | ברירת מחדל— |
שדהmessages[].tool_call_id | סוגstring | דרישהרשות | ערכים ומגבלות חל כאשר: role=tool; השתמשו במזהה שהוחזר בפועל | ברירת מחדל— |
שדהmessages[].name | סוגstring | דרישהרשות | ערכים ומגבלות | ברירת מחדל— |
שדהmessages[].reasoning_content | סוגstring | דרישהרשות | ערכים ומגבלות חל כאשר: החזירו בהמשך את ההנמקה שהתקבלה בפועל כאשר המודל הזה משתמש בה | ברירת מחדל— |
שדהmessages[].reasoning_details | סוגobject|array | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
שדהmax_tokens | סוגinteger | דרישהרשות | ערכים ומגבלות מינימום: 1 תלוי במודל | ברירת מחדל— |
שדהmax_completion_tokens | סוגinteger | דרישהרשות | ערכים ומגבלות מינימום: 1 תלוי במודל | ברירת מחדל— |
שדהstream | סוגboolean | דרישהרשות | ערכים ומגבלות | ברירת מחדלfalse |
שדהstream_options.include_usage | סוגboolean | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
שדהtemperature | סוגnumber | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
שדהtop_p | סוגnumber | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
שדהstop | סוגstring|string[] | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
שדהtools | סוגfunction_tool[] | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
שדהtools[].type | סוגstring | דרישהרשות | ערכים ומגבלות function תלוי במודל | ברירת מחדל— |
שדהtools[].function.name | סוגstring | דרישהחובה | ערכים ומגבלות חל כאשר: סופק כלי פונקציה | ברירת מחדל— |
שדהtools[].function.description | סוגstring | דרישהרשות | ערכים ומגבלות | ברירת מחדל— |
שדהtools[].function.parameters | סוגJSON_schema | דרישהרשות | ערכים ומגבלות | ברירת מחדל— |
שדהtool_choice | סוגstring|object | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
שדהparallel_tool_calls | סוגboolean | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
שדהresponse_format | סוגobject | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
שדהreasoning_effort | סוגstring | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
שדהreasoning | סוגobject | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
שדהservice_tier | סוגstring | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
שדהinstructions | סוגstring | דרישהרשות | ערכים ומגבלות שדה תאימות | ברירת מחדל— |
שדהfunctions | סוגfunction[] | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
שדהfunction_call | סוגstring|object | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
שדהprompt_cache_options | סוגobject | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
שדהmodalities | סוגstring[] | דרישהרשות | ערכים ומגבלות text | ברירת מחדל— |
שדהprovider | סוגobject | דרישהרשות | ערכים ומגבלות תנאים: provider.options נדחה במסלול הטקסט הזה של Ultra | ברירת מחדל— |
שדהcache_control.ttl | סוגstring | דרישהרשות | ערכים ומגבלות תנאים: 1h נדחה במיקומים המשמשים בפועל למטמון הנחיות | ברירת מחדל— |
שילובים של חומרי קלט
טקסט · טקסט UTF8
messages[].content
פרמטרים ומחזור חיים של השיטה
| פרמטר | מפרט |
|---|---|
פרמטרcontent_type | מפרטapplication/json |
פרמטרrequired | מפרטmodel, messages |
פרמטרmaterial_types | מפרטtext |
פרמטרmessages | מפרטמערך הודעות במבנה role/content |
פרמטרfile_material | מפרטמסמך UTF-8 בפועל מוכנס כטקסט מילולי; לא מוסק מזהה קובץ |
פרמטרoptional_controls | מפרטstream, temperature, top_p, stop, max_tokens, max_completion_tokens, reasoning, response_format, tools, tool_choice |
פרמטרcontrol_scope | מפרטייחודי למודל; כלי פונקציות של המשתמש שונים מכלים מתארחים |
פרמטרoutput_modalities | מפרטtext |
פרמטרhosted_operations | מפרטfalse |
פרמטרmultimodal_input_binding | מפרטnull |
מחזור חיים: synchronous_or_streamed
שלחו את מזהה המודל המדויק עם messages.
אורך ההקשר אינו תקרת פלט.
קובץ טקסט יכול לספק טקסט מילולי; קלטי תמונה/אודיו/אובייקט קובץ דורשים קישור מדויק.
תעריפים
מידע תעריפים אינו מוסיף אפשרויות לבקשה. הפרמטרים הנתמכים מפורטים בשיטה שנבחרה.
- מצב מהיר
- תעריף רגיל כאשר נבחר מצב מהיר
- מצב Flex
- תעריף רגיל כאשר נבחר מצב flex
- מאמץ חשיבה מרבי
- תעריף רגיל כאשר מאמץ החשיבה המרבי משתמש בהתאמת ברירת המחדל (default)
תעריפי Ailoot
מחירים לפי תצורה
התאימו כל חיוב לתנאים המוצגים. השתמשו בתעריף אחד לכל קבוצה של תצורות חלופיות.
| תצורה | טבלת תעריפים | טוקנים בהקשר, יותר מ- | טוקנים בהקשר, עד וכולל | חיוב |
|---|---|---|---|---|
| תצורהתעריפי הבסיס לטוקנים | טבלת תעריפיםתעריף בסיס | טוקנים בהקשר, יותר מ-— | טוקנים בהקשר, עד וכוללללא גבול עליון | חיוב קלט · טוקני קלט $0.00039 / 1K טוקנים פלט · טוקני פלט $0.00195 / 1K טוקנים קלט · קריאה מהמטמון $0.000078 / 1K טוקנים קלט · כתיבה למטמון $0.0004875 / 1K טוקנים קלט · כתיבה למטמון, 1 שעה — / 1K טוקנים |
| תצורהרמת אורך בקשה 1 | טבלת תעריפים— | טוקנים בהקשר, יותר מ-0 | טוקנים בהקשר, עד וכולל32,000 | חיוב קלט · טוקני קלט $0.00039 / 1K טוקנים פלט · טוקני פלט $0.00195 / 1K טוקנים קלט · קריאה מהמטמון $0.000078 / 1K טוקנים קלט · כתיבה למטמון $0.0004875 / 1K טוקנים קלט · כתיבה למטמון, 1 שעה — / 1K טוקנים |
| תצורהרמת אורך בקשה 2 | טבלת תעריפים— | טוקנים בהקשר, יותר מ-32,000 | טוקנים בהקשר, עד וכולל128,000 | חיוב קלט · טוקני קלט $0.00065 / 1K טוקנים פלט · טוקני פלט $0.00325 / 1K טוקנים קלט · קריאה מהמטמון $0.00013 / 1K טוקנים קלט · כתיבה למטמון $0.0008125 / 1K טוקנים קלט · כתיבה למטמון, 1 שעה — / 1K טוקנים |
| תצורהמדרגת אורך בקשה 3 | טבלת תעריפים— | טוקנים בהקשר, יותר מ-128,000 | טוקנים בהקשר, עד וכוללללא גבול עליון | חיוב קלט · טוקני קלט $0.00104 / 1K טוקנים פלט · טוקני פלט $0.0052 / 1K טוקנים קלט · קריאה מהמטמון $0.000208 / 1K טוקנים קלט · כתיבה למטמון $0.0013 / 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": "qwen/qwen3-coder-flash", "messages": [{"role": "user", "content": "Explain the difference between an observation and a hypothesis in three sentences."}]}')
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='qwen/qwen3-coder-flash',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}])
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"))
from openai import OpenAI
import os
from pathlib import Path
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)
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))
with client.chat.completions.stream(model='qwen/qwen3-coder-flash',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}]) as stream:
with Path("stream-events.jsonl").open("w",encoding="utf-8") as log:
for event in stream:
payload=event.to_dict(mode="json")
log.write(json.dumps(payload,ensure_ascii=False)+"\n"); log.flush()
print(json.dumps(payload,ensure_ascii=False))
final=stream.get_final_completion()
save_result(final.to_dict(mode="json"),"stream-result")
קבלה ושמירה של תוצאות
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 qwen/qwen3-coder-flash, qwen3-coder-flash
כינויים לנתיבי שיטות
/chat/completions
מזהי מודלים קשורים IDs
Ailoot Ultra · Anthropic Messages POST /v1/messages qwen/qwen3-coder-flash
qwen/qwen3-coder-flashqwen/qwen3-coder-flashqwen3-coder-flash
התחלה
Qwen3-Coder-Flash הוא מודל התכנות הטקסטואלי של Qwen להבנת מאגרים ולאינטראקציה עם כלים לאורך מספר סבבים. המפרט שלו מציין הקשר של מיליון טוקנים, קלט מרבי של 997,952 טוקנים ופלט מרבי של 65,536 טוקנים, כשיכולות הכלים כפופות לפרופיל הפריסה של היצרן.
- סוגי קלט נתמכים
- טקסט
- תוצאות
- json · sse
זמין ב-Ailoot · קלט ושיטות
Ailoot Ultra · Anthropic Messages POST /v1/messages
- סוגי קלט
text- סוגי פלט
json,sse- פורמט פלט
- JSON או SSE
| שדה | סוג | דרישה | ערכים ומגבלות | ברירת מחדל |
|---|---|---|---|---|
שדהmodel | סוגstring | דרישהחובה | ערכים ומגבלות qwen/qwen3-coder-flash | ברירת מחדל— |
שדה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.00039 / 1K טוקנים פלט · טוקני פלט $0.00195 / 1K טוקנים קלט · קריאה מהמטמון $0.000078 / 1K טוקנים קלט · כתיבה למטמון $0.0004875 / 1K טוקנים קלט · כתיבה למטמון, 1 שעה — / 1K טוקנים |
| תצורהרמת אורך בקשה 1 | טבלת תעריפים— | טוקנים בהקשר, יותר מ-0 | טוקנים בהקשר, עד וכולל32,000 | חיוב קלט · טוקני קלט $0.00039 / 1K טוקנים פלט · טוקני פלט $0.00195 / 1K טוקנים קלט · קריאה מהמטמון $0.000078 / 1K טוקנים קלט · כתיבה למטמון $0.0004875 / 1K טוקנים קלט · כתיבה למטמון, 1 שעה — / 1K טוקנים |
| תצורהרמת אורך בקשה 2 | טבלת תעריפים— | טוקנים בהקשר, יותר מ-32,000 | טוקנים בהקשר, עד וכולל128,000 | חיוב קלט · טוקני קלט $0.00065 / 1K טוקנים פלט · טוקני פלט $0.00325 / 1K טוקנים קלט · קריאה מהמטמון $0.00013 / 1K טוקנים קלט · כתיבה למטמון $0.0008125 / 1K טוקנים קלט · כתיבה למטמון, 1 שעה — / 1K טוקנים |
| תצורהמדרגת אורך בקשה 3 | טבלת תעריפים— | טוקנים בהקשר, יותר מ-128,000 | טוקנים בהקשר, עד וכוללללא גבול עליון | חיוב קלט · טוקני קלט $0.00104 / 1K טוקנים פלט · טוקני פלט $0.0052 / 1K טוקנים קלט · קריאה מהמטמון $0.000208 / 1K טוקנים קלט · כתיבה למטמון $0.0013 / 1K טוקנים קלט · כתיבה למטמון, 1 שעה — / 1K טוקנים |
לפני הבקשה Ailoot משריינת סכום משוער. לאחר קבלת התוצאה היא מסדירה את החיוב הסופי לפי השימוש המדוד. הסדרת חיוב בהזרמה משתמשת ברשומת השימוש הסופית. איך פועלים שריון הסכום והסדרת החיוב →
דוגמאות לבקשות
Ailoot Ultra · Anthropic Messages
{
"model": "qwen/qwen3-coder-flash",
"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': 'qwen/qwen3-coder-flash', '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': 'qwen/qwen3-coder-flash', '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 qwen/qwen3-coder-flash, qwen3-coder-flash
כינויים לנתיבי שיטות
/chat/completions
מזהי מודלים קשורים IDs
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions qwen3-coder-flash
qwen3-coder-flashqwen/qwen3-coder-flashqwen3-coder-flash
התחלה
Qwen3-Coder-Flash הוא מודל התכנות הטקסטואלי של Qwen להבנת מאגרים ולאינטראקציה עם כלים לאורך מספר סבבים. המפרט שלו מציין הקשר של מיליון טוקנים, קלט מרבי של 997,952 טוקנים ופלט מרבי של 65,536 טוקנים, כשיכולות הכלים כפופות לפרופיל הפריסה של היצרן.
- סוגי קלט נתמכים
- טקסט
- תוצאות
- טקסט
זמין ב-Ailoot · קלט ושיטות
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
- סוגי קלט
text- סוגי פלט
text- פורמט פלט
- json או SSE
| שדה | סוג | דרישה | ערכים ומגבלות | ברירת מחדל |
|---|---|---|---|---|
שדהmodel | סוגstring | דרישהחובה | ערכים ומגבלות qwen3-coder-flash | ברירת מחדל— |
שדה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.00039 / 1K טוקנים פלט · טוקני פלט $0.00195 / 1K טוקנים קלט · קריאה מהמטמון $0.000078 / 1K טוקנים קלט · כתיבה למטמון $0.0004875 / 1K טוקנים קלט · כתיבה למטמון, 1 שעה — / 1K טוקנים |
| תצורהרמת אורך בקשה 1 | טבלת תעריפים— | טוקנים בהקשר, יותר מ-0 | טוקנים בהקשר, עד וכולל32,000 | חיוב קלט · טוקני קלט $0.00039 / 1K טוקנים פלט · טוקני פלט $0.00195 / 1K טוקנים קלט · קריאה מהמטמון $0.000078 / 1K טוקנים קלט · כתיבה למטמון $0.0004875 / 1K טוקנים קלט · כתיבה למטמון, 1 שעה — / 1K טוקנים |
| תצורהרמת אורך בקשה 2 | טבלת תעריפים— | טוקנים בהקשר, יותר מ-32,000 | טוקנים בהקשר, עד וכולל128,000 | חיוב קלט · טוקני קלט $0.00065 / 1K טוקנים פלט · טוקני פלט $0.00325 / 1K טוקנים קלט · קריאה מהמטמון $0.00013 / 1K טוקנים קלט · כתיבה למטמון $0.0008125 / 1K טוקנים קלט · כתיבה למטמון, 1 שעה — / 1K טוקנים |
| תצורהמדרגת אורך בקשה 3 | טבלת תעריפים— | טוקנים בהקשר, יותר מ-128,000 | טוקנים בהקשר, עד וכוללללא גבול עליון | חיוב קלט · טוקני קלט $0.00104 / 1K טוקנים פלט · טוקני פלט $0.0052 / 1K טוקנים קלט · קריאה מהמטמון $0.000208 / 1K טוקנים קלט · כתיבה למטמון $0.0013 / 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":"qwen3-coder-flash","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="qwen3-coder-flash", 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 qwen/qwen3-coder-flash, qwen3-coder-flash
כינויים לנתיבי שיטות
/chat/completions
מזהי מודלים קשורים IDs
Ailoot Ultra · Anthropic Messages POST /v1/messages qwen3-coder-flash
qwen3-coder-flashqwen/qwen3-coder-flashqwen3-coder-flash
התחלה
Qwen3-Coder-Flash הוא מודל התכנות הטקסטואלי של Qwen להבנת מאגרים ולאינטראקציה עם כלים לאורך מספר סבבים. המפרט שלו מציין הקשר של מיליון טוקנים, קלט מרבי של 997,952 טוקנים ופלט מרבי של 65,536 טוקנים, כשיכולות הכלים כפופות לפרופיל הפריסה של היצרן.
- סוגי קלט נתמכים
- טקסט
- תוצאות
- json · sse
זמין ב-Ailoot · קלט ושיטות
Ailoot Ultra · Anthropic Messages POST /v1/messages
- סוגי קלט
text- סוגי פלט
json,sse- פורמט פלט
- JSON או SSE
| שדה | סוג | דרישה | ערכים ומגבלות | ברירת מחדל |
|---|---|---|---|---|
שדהmodel | סוגstring | דרישהחובה | ערכים ומגבלות qwen3-coder-flash | ברירת מחדל— |
שדה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.00039 / 1K טוקנים פלט · טוקני פלט $0.00195 / 1K טוקנים קלט · קריאה מהמטמון $0.000078 / 1K טוקנים קלט · כתיבה למטמון $0.0004875 / 1K טוקנים קלט · כתיבה למטמון, 1 שעה — / 1K טוקנים |
| תצורהרמת אורך בקשה 1 | טבלת תעריפים— | טוקנים בהקשר, יותר מ-0 | טוקנים בהקשר, עד וכולל32,000 | חיוב קלט · טוקני קלט $0.00039 / 1K טוקנים פלט · טוקני פלט $0.00195 / 1K טוקנים קלט · קריאה מהמטמון $0.000078 / 1K טוקנים קלט · כתיבה למטמון $0.0004875 / 1K טוקנים קלט · כתיבה למטמון, 1 שעה — / 1K טוקנים |
| תצורהרמת אורך בקשה 2 | טבלת תעריפים— | טוקנים בהקשר, יותר מ-32,000 | טוקנים בהקשר, עד וכולל128,000 | חיוב קלט · טוקני קלט $0.00065 / 1K טוקנים פלט · טוקני פלט $0.00325 / 1K טוקנים קלט · קריאה מהמטמון $0.00013 / 1K טוקנים קלט · כתיבה למטמון $0.0008125 / 1K טוקנים קלט · כתיבה למטמון, 1 שעה — / 1K טוקנים |
| תצורהמדרגת אורך בקשה 3 | טבלת תעריפים— | טוקנים בהקשר, יותר מ-128,000 | טוקנים בהקשר, עד וכוללללא גבול עליון | חיוב קלט · טוקני קלט $0.00104 / 1K טוקנים פלט · טוקני פלט $0.0052 / 1K טוקנים קלט · קריאה מהמטמון $0.000208 / 1K טוקנים קלט · כתיבה למטמון $0.0013 / 1K טוקנים קלט · כתיבה למטמון, 1 שעה — / 1K טוקנים |
לפני הבקשה Ailoot משריינת סכום משוער. לאחר קבלת התוצאה היא מסדירה את החיוב הסופי לפי השימוש המדוד. הסדרת חיוב בהזרמה משתמשת ברשומת השימוש הסופית. איך פועלים שריון הסכום והסדרת החיוב →
דוגמאות לבקשות
Ailoot Ultra · Anthropic Messages
{
"model": "qwen3-coder-flash",
"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': 'qwen3-coder-flash', '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': 'qwen3-coder-flash', '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 qwen/qwen3-coder-flash, qwen3-coder-flash
כינויים לנתיבי שיטות
/chat/completions
מזהי מודלים קשורים IDs
FAQ · Qwen: Qwen3 Coder Flash
- אילו קלטים ותוצאות זמינים?
POST /v1/chat/completions·qwen/qwen3-coder-flash:text→textPOST /v1/messages·qwen/qwen3-coder-flash:text→json,ssePOST /v1/chat/completions·qwen3-coder-flash:text→textPOST /v1/messages·qwen3-coder-flash:text→json,sse- באילו שדות הבקשה משתמשת?
POST /v1/chat/completions·qwen/qwen3-coder-flash:model,messages,stream,modalities,providerPOST /v1/messages·qwen/qwen3-coder-flash:model,messages,max_tokens,streamPOST /v1/chat/completions·qwen3-coder-flash:model,messages,streamPOST /v1/messages·qwen3-coder-flash:model,messages,max_tokens,stream- אילו מגבלות חלות?
POST /v1/chat/completions·qwen/qwen3-coder-flash:messages.min_items:1POST /v1/chat/completions·qwen3-coder-flash:messages.min_items:1