Source: https://ailoot.ai/models/he/qwen2-vl-7b-instruct-ultra/
Canonical: https://ailoot.ai/models/he/qwen2-vl-7b-instruct-ultra/
Language: he

# Qwen2-VL-7B-Instruct-ultra

[Markdown](https://ailoot.ai/models/he/qwen2-vl-7b-instruct-ultra/index.md) · [JSON](https://ailoot.ai/models/he/qwen2-vl-7b-instruct-ultra/facts.json)

## [Qwen2-VL-7B-Instruct-ultra](https://ailoot.ai/models/he/qwen2-vl-7b-instruct-ultra/)

Qwen2-VL-7B-Instruct הוא מודל השפה והראייה של Qwen, המכוונן להוראות, לטקסט, לתמונות ולווידאו, ומחזיר טקסט. השתמשו בו לשאלות על עמודי מסמך, להשוואת תמונות או לתיאור אירועים חזותיים, עם רזולוציית תמונה דינמית ומגבלות מתועדות בספירה, בהסקה מרחבית ובהבנת אודיו בווידאו.

- [**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `Qwen2-VL-7B-Instruct-ultra`](https://ailoot.ai/models/he/qwen2-vl-7b-instruct-ultra/#method-0)
- [**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `Qwen2-VL-7B-Instruct-ultra`](https://ailoot.ai/models/he/qwen2-vl-7b-instruct-ultra/#method-1)

על המודל

התיאור הזה מציג את יכולות המודל. הקלט, הפלט והאפשרויות הזמינים ב-Ailoot מפורטים בהמשך לפי השיטה שנבחרה.

מבוא: מהדורת השפה והראייה בגודל 7B

Qwen2-VL-7B-Instruct הוא חבר משפחת Qwen2-VL בגודל 7B המכוונן להוראות. הוא משלב הוראות טקסט עם תמונות או וידאו ומפיק תשובות טקסטואליות. פלטים שימושיים כוללים הסבר על עמוד, השוואת תמונות, תיאור אירועים נראים או תשובה לשאלה על תרשים. זו גרסת Qwen2-VL המסוימת הזו; לגרסאות Qwen2.5-VL ו־Qwen3-VL החדשות יותר יש יכולות וזהויות משלהן.

מה Qwen2-VL מוסיף

Qwen מתארת הבנה חזותית ברזולוציות תמונה וביחסי ממדים שונים, לצד מענה על שאלות על וידאו, דיאלוג ויצירת תוכן. יכולת הווידאו המתועדת של המשפחה כוללת חומר שאורכו יותר מ־20 דקות. משך לבדו אינו קובע כמה פריימים יישום מעבד ואינו מבטיח זכירה של כל אירוע. הבנת טקסט רב־לשוני בתמונות כוללת אנגלית וסינית, שפות אירופיות רבות, יפנית, קוריאנית, ערבית ווייטנאמית.

היצרנית מתארת גם שילוב עם טלפונים, רובוטים ומכשירים אחרים באמצעות תצפיות חזותיות והוראות טקסט. זהו תהליך עבודה של יישום: המודל מפרש את הסביבה החזותית ומסייע בבחירת פעולות, בעוד תוכנה או חומרה מחוברות מבצעות אותן. זיהוי מסך אינו מקנה לו כשלעצמו שליטה במסך.

שינויים בארכיטקטורה

רזולוציה דינמית ממירה תמונה למספר משתנה של טוקנים חזותיים במקום לכפות ייצוג זהה לכל קלט. M-ROPE מפריד מידע על מיקום עבור טקסט, תמונות דו־ממדיות ומידע וידאו תלת־ממדי, ומשלב מבנה מרחבי וזמני. תצורת 7B שפורסמה מציינת 32,768 מיקומים. טקסט, טוקנים חזותיים ופלט שנוצר חולקים תקציב רצף סופי, ולכן רזולוציית התמונות ודגימת הווידאו משפיעות על כמות החומר שאפשר לכלול בבקשה.

הכנת תמונות ושיחות

הדוגמאות הרשמיות תומכות בתמונה יחידה, בכמה תמונות ובשיחות טקסט בלבד. צרפו את התמונה עם שאלה מסוימת במקום להסתמך על הוראה רחבה כגון ״נתח הכול״. בעמוד מסמך, בקשו שדות נקובים ושימור סימני פיסוק בציטוטים. בשני צילומי מסך של עיצוב, סמנו אותם כראשון ושני ואז בקשו טבלה של שינויים נראים לעין. בתרשים, בקשו את התוויות, היחידות והערכים התומכים במגמה שצוינה. אלה שימושים מעשיים במענה על שאלות חזותיות, ולא הבטחה לחילוץ נטול שגיאות.

כלי העזר של היצרנית מקבלים תמונות מקבצים מקומיים, מנתוני תמונה מקודדים או ממיקומי תמונות; דוגמת הווידאו המתועדת משתמשת בקובצי וידאו מקומיים או ברשימת פריימים מסודרת. פורמטי ההעלאה של היישום נשארים החלטת ממשק נפרדת. שמרו על סדר הפריימים המקורי וציינו את פרק הזמן שרשימת הפריימים מייצגת. הדוגמאות מפיקות טקסט; גרסת מודל זו אינה מתוארת כמחולל תמונות או וידאו.

רזולוציה והכנת וידאו

המעבד של Qwen משתמש בטווח ברירת מחדל של ארבעה עד 16,384 טוקנים חזותיים לכל תמונה. הוא חושף את min\_pixels ואת max\_pixels לאיזון בין פירוט לבין זיכרון וחישוב, עם דוגמה מתועדת המכוונת ל־256–1,280 טוקנים חזותיים. גודל התמונות משתנה בתוך הגבולות שנבחרו תוך שמירה על יחס הממדים. ממדים מפורשים לשינוי גודל מעוגלים לכפולה של 28. טבלה צפופה או כתב קטן עשויים לדרוש רזולוציה מספקת כדי להישאר קריאים; הגדלתה צורכת גם חלק גדול יותר מתקציב הראייה וההקשר הזמין.

דוגמת הווידאו מציגה קצב דגימה של פריים אחד בשנייה וגבול פיקסלים הניתן להגדרה. אלה הגדרות לדוגמה, ולא קצב נדרש אחיד או מגבלת מדיה קשיחה. לסקירת אירוע, ספקו את המקטע הרלוונטי ובקשו תיאור מסודר של שינויים נראים. אירועים סמוכים בזמן עשויים לדרוש דגימה צפופה יותר מסיכום כללי של סצנה. Qwen2-VL אינו מבין מידע אודיו בתוך סרטונים, ולכן דיאלוג מדובר או אפקטים קוליים דורשים תהליך אודיו נפרד.

מגבלות ידועות

Qwen מציינת שתאריך החיתוך של נתוני אימון התמונות הוא יוני 2023, ללא הבטחה לידע על אנשים, מוצרים או אירועים מאוחרים יותר. זיהוי של אנשים מסוימים ושל קניין רוחני אינו מלא. הוראות מורכבות מרובות שלבים, ספירת אובייקטים בסצנות עמוסות ויחסים מרחביים — במיוחד בתלת־ממד — הם נקודות חולשה מתועדות. פצלו משימה חזותית מסובכת לשאלות ברורות, בקשו את הראיות הנראות התומכות בתוצאה ובדקו מספרים שחולצו וטקסט מצוטט מול התמונה. אין להתייחס לכיתוב סביר כאל ספירה מדויקת או מיקום תלת־ממדי שנמדד.

דוגמאות היצירה הקצרות בכרטיס אינן קובעות תקרת פלט קשיחה נפרדת. תכננו את גודל התשובה לצד קלט הטקסט והראייה, ושמרו במקור די פירוט עבור השאלה המסוימת. כך בחירת המודל והכנת הקלט מועילות יותר מהנחה שכל תמונה או כל סרטון ארוך מניבים תשובה אמינה באותה מידה.

משימה מעשית

### משימה מעשית

דוגמה טכנית באנגלית

```
Compare transcribed dashboard changes

Compare these dashboard descriptions supplied as text. First: heading 'Orders', filter 'All dates', total 240. Second: heading 'Orders', filter 'This week', total 38. Return a table of changed and unchanged fields, then explain why the totals alone do not establish a fall in orders. Use only the descriptions and keep the filter labels exact.
```

#### התוצאה הצפויה

```
A field-comparison table and a short explanation of the different date scopes.
```

#### בדיקת התוצאה

```
The result does not treat totals from All dates and This week as comparable periods.
```

**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `Qwen2-VL-7B-Instruct-ultra`

[`Qwen2-VL-7B-Instruct-ultra`](https://ailoot.ai/models/he/#m=Qwen2-VL-7B-Instruct-ultra&route=Ultra&caller=Qwen2-VL-7B-Instruct-ultra&fmt=chat)

אחר /`Qwen2-VL-7B-Instruct-ultra`

### התחלה

Qwen2-VL-7B-Instruct הוא מודל השפה והראייה של Qwen, המכוונן להוראות, לטקסט, לתמונות ולווידאו, ומחזיר טקסט. השתמשו בו לשאלות על עמודי מסמך, להשוואת תמונות או לתיאור אירועים חזותיים, עם רזולוציית תמונה דינמית ומגבלות מתועדות בספירה, בהסקה מרחבית ובהבנת אודיו בווידאו.

סוגי קלט נתמכים

טקסט

תוצאות

טקסט

### זמין ב-Ailoot · קלט ושיטות

**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions`

סוגי קלט

`text`

סוגי פלט

`text`

פורמט פלט

json או SSE

| שדה | סוג | דרישה | ערכים ומגבלות | ברירת מחדל |
| --- | --- | --- | --- | --- |
| שדה`model` | סוג`string` | דרישהחובה | ערכים ומגבלות Qwen2-VL-7B-Instruct-ultra | ברירת מחדל— |
| שדה`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.00058** / 1K טוקנים פלט · טוקני פלט **$0.00142** / 1K טוקנים קלט · קריאה מהמטמון **$0** / 1K טוקנים קלט · כתיבה למטמון **$0** / 1K טוקנים קלט · כתיבה למטמון, 1 שעה **—** / 1K טוקנים |

לפני הבקשה Ailoot משריינת סכום משוער. לאחר קבלת התוצאה היא מסדירה את החיוב הסופי לפי השימוש המדוד. הסדרת חיוב בהזרמה משתמשת ברשומת השימוש הסופית. [איך פועלים שריון הסכום והסדרת החיוב →](https://ailoot.ai/docs/he/billing/reserve/)

### דוגמאות לבקשות

#### Ailoot Ultra · OpenAI Chat

curlPython SDKהזרמה ב-Python

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "Qwen2-VL-7B-Instruct-ultra", "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
```

```python
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='Qwen2-VL-7B-Instruct-ultra',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"))
```

```python
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='Qwen2-VL-7B-Instruct-ultra',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** [`Qwen2-VL-7B-Instruct-ultra`](https://ailoot.ai/models/he/#m=Qwen2-VL-7B-Instruct-ultra&route=Ultra&caller=Qwen2-VL-7B-Instruct-ultra&fmt=chat)

#### כינויים לנתיבי שיטות

השתמשו בנתיבי השיטות המוצגים למעלה.

#### מזהי מודלים קשורים IDs

[`Qwen2-VL-7B-Instruct-ultra`](https://ailoot.ai/models/he/#m=Qwen2-VL-7B-Instruct-ultra&route=Ultra&caller=Qwen2-VL-7B-Instruct-ultra&fmt=chat)

**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `Qwen2-VL-7B-Instruct-ultra`

[`Qwen2-VL-7B-Instruct-ultra`](https://ailoot.ai/models/he/#m=Qwen2-VL-7B-Instruct-ultra&route=Ultra&caller=Qwen2-VL-7B-Instruct-ultra&fmt=messages)

אחר /`Qwen2-VL-7B-Instruct-ultra`

### התחלה

Qwen2-VL-7B-Instruct הוא מודל השפה והראייה של Qwen, המכוונן להוראות, לטקסט, לתמונות ולווידאו, ומחזיר טקסט. השתמשו בו לשאלות על עמודי מסמך, להשוואת תמונות או לתיאור אירועים חזותיים, עם רזולוציית תמונה דינמית ומגבלות מתועדות בספירה, בהסקה מרחבית ובהבנת אודיו בווידאו.

סוגי קלט נתמכים

טקסט

תוצאות

json · sse

### זמין ב-Ailoot · קלט ושיטות

**Ailoot Ultra · Anthropic Messages** `POST /v1/messages`

סוגי קלט

`text`

סוגי פלט

`json`, `sse`

פורמט פלט

JSON או SSE

| שדה | סוג | דרישה | ערכים ומגבלות | ברירת מחדל |
| --- | --- | --- | --- | --- |
| שדה`model` | סוג`string` | דרישהחובה | ערכים ומגבלות Qwen2-VL-7B-Instruct-ultra | ברירת מחדל— |
| שדה`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.00058** / 1K טוקנים פלט · טוקני פלט **$0.00142** / 1K טוקנים קלט · קריאה מהמטמון **$0** / 1K טוקנים קלט · כתיבה למטמון **$0** / 1K טוקנים קלט · כתיבה למטמון, 1 שעה **—** / 1K טוקנים |

לפני הבקשה Ailoot משריינת סכום משוער. לאחר קבלת התוצאה היא מסדירה את החיוב הסופי לפי השימוש המדוד. הסדרת חיוב בהזרמה משתמשת ברשומת השימוש הסופית. [איך פועלים שריון הסכום והסדרת החיוב →](https://ailoot.ai/docs/he/billing/reserve/)

### דוגמאות לבקשות

#### Ailoot Ultra · Anthropic Messages

גוף JSON מינימלי ושלםcurl · השתמשו במסמך UTF-8 שלכםPython · שמרו את התוצאה המלאה

```json
{
  "model": "Qwen2-VL-7B-Instruct-ultra",
  "max_tokens": 128,
  "messages": [
    {
      "role": "user",
      "content": "Summarize the incident report."
    }
  ],
  "stream": false
}
```

```bash
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': 'Qwen2-VL-7B-Instruct-ultra', '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
```

```python
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': 'Qwen2-VL-7B-Instruct-ultra', '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** [`Qwen2-VL-7B-Instruct-ultra`](https://ailoot.ai/models/he/#m=Qwen2-VL-7B-Instruct-ultra&route=Ultra&caller=Qwen2-VL-7B-Instruct-ultra&fmt=messages)

#### כינויים לנתיבי שיטות

השתמשו בנתיבי השיטות המוצגים למעלה.

#### מזהי מודלים קשורים IDs

[`Qwen2-VL-7B-Instruct-ultra`](https://ailoot.ai/models/he/#m=Qwen2-VL-7B-Instruct-ultra&route=Ultra&caller=Qwen2-VL-7B-Instruct-ultra&fmt=messages)

FAQ · Qwen2-VL-7B-Instruct-ultra

אילו קלטים ותוצאות זמינים?

`POST /v1/chat/completions` · `Qwen2-VL-7B-Instruct-ultra`: `text` → `text` `POST /v1/messages` · `Qwen2-VL-7B-Instruct-ultra`: `text` → `json`, `sse`

באילו שדות הבקשה משתמשת?

`POST /v1/chat/completions` · `Qwen2-VL-7B-Instruct-ultra`: `model`, `messages`, `stream`, `modalities`, `provider` `POST /v1/messages` · `Qwen2-VL-7B-Instruct-ultra`: `model`, `messages`, `max_tokens`, `stream`

אילו מגבלות חלות?

`POST /v1/chat/completions` · `Qwen2-VL-7B-Instruct-ultra`: `messages.min_items`: `1`

חברו Ailoot ל- Claude Code, OpenCode, Hermes או ליישום שלכם.

## החברה ופורטפוליו הפרויקטים שלה

החברה ופורטפוליו הפרויקטים שלה: מיליוני לקוחות; מכירות בהיקף של מיליארדים מדי חודש.

## קנו אסימונים בהנחה.

הנחת מנוי לעבודה קבועה. קודי הנחה עד 50% על רכישת אסימונים.

מנוי

בחרו מסלול עם הנחה לבקשות הקבועות שלכם.

קוד הנחה עד 50%

הזינו קוד ברכישה. המחיר יחושב מחדש לפי המבצע הפעיל.

הוצאות בהיסטוריה

המודל, האסימונים והסכום נשמרים לכל בקשה.

[בחירת מנוי](https://ailoot.ai/docs/he/billing/subscriptions/) · [מחירי מודלים](https://ailoot.ai/models/he/)

## חברו API למוצר שאתם מוכרים.

SaaS, יישומים ובוטים לפי ההצעה והסכם הרישוי של Ailoot. למכירה מחדש בקשו רישיון משווק.

יישום מסחרי

שלבו יצירת טקסט, תמונות, וידאו ושמע בתכונות בתשלום של השירות שלכם.

רישיון למכירה מחדש

שלחו תיאור פרויקט ואופן מתן גישה. בקשו תנאי שימוש ומכירה מחדש בכתב.

מסמכים באתר

ההצעה, הסכם הרישוי ומדיניות עיבוד הנתונים זמינים לפני החיבור.

[בקשת רישיון למכירה מחדש](mailto:support@ailoot.ai) · [ההצעה והסכם הרישוי](https://ailoot.ai/legal/offer?lang=he)

## Ailoot · החברה ופורטפוליו הפרויקטים שלה





Ailoot נשענת על ניסיון תפעולי מצטבר, בסיס לקוחות רחב, שירות יציב ובקרה שוטפת של KPI.





החברה ופורטפוליו הפרויקטים שלה: מיליוני לקוחות; מכירות בהיקף של מיליארדים מדי חודש.





Ailoot משתמשת בניסיון התפעולי הזה כדי לספק גישת API ליכולות AI במוצרי לקוחות, בסוכנים, באפליקציות ובאוטומציות.
