Source: https://ailoot.ai/models/ar/qwen-qwen3-32b-fp8/
Canonical: https://ailoot.ai/models/ar/qwen-qwen3-32b-fp8/
Language: ar

# Qwen3 32B FP8

[Markdown](https://ailoot.ai/models/ar/qwen-qwen3-32b-fp8/index.md) · [JSON](https://ailoot.ai/models/ar/qwen-qwen3-32b-fp8/facts.json)

## [Qwen3 32B FP8](https://ailoot.ai/models/ar/qwen-qwen3-32b-fp8/)

Qwen3-32B-FP8 هو إصدار FP8 دقيق الحبيبات من نموذج Qwen3 النصي الكثيف ذي 32.8 مليار معامل. يجمع الاستجابات المباشرة والتفكير للكتابة متعددة اللغات والشيفرة والتحليل، مع تفاصيل منفصلة لنسخة الأوزان والتوافق.

- [**Ailoot Ultra · محادثة OpenAI** `POST /v1/chat/completions` `qwen/qwen3-32b-fp8`](https://ailoot.ai/models/ar/qwen-qwen3-32b-fp8/#method-0)
- [**Ailoot Ultra · رسائل Anthropic** `POST /v1/messages` `qwen/qwen3-32b-fp8`](https://ailoot.ai/models/ar/qwen-qwen3-32b-fp8/#method-1)

عن النموذج

يغطي هذا الوصف قدرات النموذج. وترد أدناه المدخلات والمخرجات والخيارات المتاحة في Ailoot للطريقة المحددة.

Qwen3-32B-FP8 هو نسخة الأوزان الرسمية بصيغة FP8 من نموذج اللغة الكثيف Qwen3-32B. يصف المطوّر الرياضيات والاستدلال المنطقي وتوليد الشيفرة والكتابة الإبداعية والحوار القائم على الأدوار واتباع التعليمات عبر جولات متعددة. تدعم العائلة أكثر من 100 لغة ولهجة. المدخلات والمخرجات نصية، ويقدّم الإصدار نفسه سلوك التفكير والإجابة المباشرة معًا.

يتضمّن هذا النموذج 32.8 مليار معامل، منها 31.2 مليار خارج طبقات التضمين، وله 64 طبقة. يحتوي انتباه الاستعلامات المجمّعة على 64 رأس استعلام وثمانية رؤوس مفتاح/قيمة. وهو بنية كثيفة تختلف عن إصدارات خليط الخبراء في Qwen3 ذات الأعداد الإجمالية والنشطة من المعاملات. تمثّل FP8 أيضًا جزءًا من هوية الإصدار الدقيق. لمساعد تطوير، قدّم دالة ومواصفة وعدة مدخلات، ثم اطلب تفسير السلوك الحالي وتنفيذًا معدّلًا يحافظ على الواجهة المتّفق عليها. لمهمة تحريرية، قدّم المصدر الفعلي والقارئ المقصود والمصطلحات بدلًا من الاعتماد على خلفية غير محدّدة.

تستخدم البداية السريعة لدى المطوّر قالب المحادثة المخصّص. افصل المهمة عن المواد المقدّمة وحدّد الشكل النهائي. قد يقارن طلب تحليل مفيد نهجين للتحقّق من البيانات باستخدام قواعد الحقول نفسها، ويحدّد الحالات التي يقبلها كل منهما، ويعيد دالة تحقّق مقترحة. أدرج قواعد القيم المفقودة وبيانات تمثيلية ورسائل الخطأ المطلوبة. للمحتوى متعدد اللغات، قدّم مسردًا واطلب ترجمة مع قائمة بالمصطلحات التي تتطلّب مراجعة. يجعل هذا الإعداد النتيجة المولّدة قابلة للفحص بالرجوع إلى مدخل محدّد. يتطلّب التكامل المنشور بيئة تشغيل تدعم Qwen3؛ وتحذّر البطاقة من أن إصدارات Transformers الأقدم من 4.51.0 لا تتعرّف على البنية المطلوبة.

تصف ملاحظة FP8 تكميمًا دقيق الحبيبات بحجم كتلة من 128. يحدّد إعداد نسخة الأوزان أيضًا إعداد التكميم بصيغة FP8. يذكر المطوّر Transformers وSGLang وvLLM للاستدلال، لكنه يشير إلى مشكلة استدلال موزّع مع FP8 دقيق الحبيبات في Transformers، ويلاحظ أن الاستخدام على أجهزة متعددة قد يحتاج إلى CUDA\_LAUNCH\_BLOCKING=1. أبقِ هذا التنبيه بشأن التوافق منفصلًا عن القدرات النصية. لا تثبت هوية التكميم وحدها زمن استجابة مقاسًا أو وفورات في العتاد أو تكافؤ الاستجابات مع نسخة الأوزان الأصلية.

يكون التفكير مفعّلًا افتراضيًا في القالب المقدّم. يمنع إعداد صريح لعدم التفكير ظهور قسم الاستدلال. عندما يبقى التفكير مفعّلًا، تكون /think و/no\_think عناصر تحكّم مرنة للجولات المتعاقبة، مع تطبيق أحدث تعليمات؛ ولا يمكنها تجاوز تعطيل صريح. اطلب الاستدلال عندما يجب على النموذج فحص شروط متناقضة، ثم استخدم طلب متابعة مباشرًا لعرض النتيجة المقبولة في صيغة موجزة. أبقِ الاستجابة النهائية منفصلة واستخدمها، بدلًا من الاستدلال السابق، كسجل للجولات اللاحقة. مع تفعيل التفكير، يحتفظ حتى الطلب المرن لعدم التفكير بكتلة استدلال؛ وقد يكون محتواها فارغًا. يزيل التعطيل الصريح تلك الكتلة.

تشمل البطاقة الاستخدام الوكيلي وتوصي بـ Qwen-Agent لتنسيق الأدوات وتحليلها. يقدّم التطبيق تعريفات الأدوات ويفحص الاستدعاءات وينفّذها ويعيد النتائج. في مثال التحقّق، يمكن لمشغّل اختبارات مضبوط تقييم الشيفرة المقترحة على الحالات المقدّمة. اطلب من النموذج تلخيص نتائج النجاح والفشل الفعلية وتصحيح شرط محدّد يفشل. ينبغي ألا تتعامل مخرجاته مع استدعاء مقترح بوصفه دليلًا على التنفيذ. حدّد النطاق المسموح للأداة وحقول مخرجاتها قبل بدء سير العمل هذا. يصف دليل Qwen3 أيضًا استدعاءات أدوات متوازية ومتعددة الخطوات، مع تمثيل المعاملات ككائنات وإعادة النتائج إلى المحادثة.

تذكر البطاقة الدقيقة 32,768 توكن للسياق الأصلي و131,072 مع YaRN. يعتمد التمديد على الإعداد؛ وقد يؤثّر التحجيم الثابت في النصوص الأقصر. تشغل المدخلات والنتيجة المولّدة معًا ميزانية التسلسل. ضع تسميات للأقسام المصدرية الطويلة وخصّص مساحة كافية للشيفرة والتفسير المطلوبين. لا تثبت أمثلة المخرجات المنشورة والأطوال الموصى بها سقفًا صارمًا عامًا للمخرجات. للتوليد الأطول، قيّم ما إذا كانت النتيجة تظلّ مترابطة وتستوفي متطلّبات المهمة. تناقش وثائق Qwen3 أطوال رسائل المساعد من 38,912 توكن في وضع التفكير و16,384 في وضع عدم التفكير ضمن تفسير طول التدريب، وتوصي بتقييم جودة التوليد الأطول. هذه الأرقام منفصلة عن نافذة السياق الإجمالية وليست سقفًا صارمًا خاصًا بنقطة نهاية. وتشرح البطاقة أيضًا تخصيص المواضع الافتراضي من 40,960 توكن باعتباره 8,192 للتعليمات المعتادة و32,768 للمخرجات؛ وهذه إرشادات إعداد من المطوّر، منفصلة عن سياق التدريب الأصلي وأي حد لنقطة نهاية.

إعدادات أخذ العينات الموصى بها هي temperature من 0.6 وtop-p من 0.95 وtop-k من 20 وmin-p من 0 للتفكير، و0.7 و0.8 و20 و0 للوضع المباشر. يحذّر المطوّر من الاستدلال الجشع بسبب التكرار؛ وقد تخلط عقوبات الحضور المرتفعة اللغات أحيانًا. اطلب إجابة نهائية قابلة للفحص، مثل جدول قرار والدالة المكتملة وقائمة حالات. تحقّق من الحقول المنظّمة المعادة وافحص الحسابات بالرجوع إلى المصدر وشغّل الشيفرة في البيئة المقصودة، مع الاحتفاظ بهوية FP8 الدقيقة عند تسجيل النتائج.

مهمة عملية

### مهمة عملية

مثال تقني باللغة الإنجليزية

```
Compare missing-value validators

Compare two Python validators for an optional quantity: A uses if not value: return None; B uses if value is None: return None. Requirement: None means omitted, integer zero is valid, and negative quantities are invalid. Explain each validator's behavior for None, 0 and -1, then propose a complete function with explicit validation errors.
```

#### النتيجة المتوقعة

```
A three-input comparison table and a proposed function implementing the supplied rules.
```

#### التحقق من النتيجة

```
Check zero is preserved rather than treated as missing, and negatives are rejected explicitly.
```

**Ailoot Ultra · محادثة OpenAI** `POST /v1/chat/completions` `qwen/qwen3-32b-fp8`

[`qwen/qwen3-32b-fp8`](https://ailoot.ai/models/ar/#m=qwen%2Fqwen3-32b-fp8&route=Ultra&caller=qwen%2Fqwen3-32b-fp8&fmt=chat)

Alibaba /`qwen/qwen3-32b-fp8`

### البداية

Qwen3-32B-FP8 هو إصدار FP8 دقيق الحبيبات من نموذج Qwen3 النصي الكثيف ذي 32.8 مليار معامل. يجمع الاستجابات المباشرة والتفكير للكتابة متعددة اللغات والشيفرة والتحليل، مع تفاصيل منفصلة لنسخة الأوزان والتوافق.

المدخلات المقبولة

النص

النتائج

النص

### متاح في Ailoot · المدخلات والطرائق

**Ailoot Ultra · محادثة OpenAI** `POST /v1/chat/completions`

الإدخال

`text`

الإخراج

`text`

صيغة الإخراج

json أو SSE

| الحقل | النوع | المتطلب | القيم والحدود | القيمة الافتراضية |
| --- | --- | --- | --- | --- |
| الحقل`model` | النوع`string` | المتطلبمطلوب | القيم والحدود qwen/qwen3-32b-fp8 | القيمة الافتراضية— |
| الحقل`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

أقصى جهد للاستدلال

غير محدد عندما يُطبَّق الضبط الافتراضي default مع أقصى جهد للاستدلال

#### تعرفات Ailoot

#### الأسعار حسب الإعدادات

| الإعدادات | جدول التعرفة | الرسوم |
| --- | --- | --- |
| الإعداداتالتعرفات الأساسية للرموز | جدول التعرفةالتعرفة الأساسية | الرسوم الإدخال · رموز الإدخال **$0.0002** / 1K من الرموز الإخراج · رموز الإخراج **$0.001** / 1K من الرموز الإدخال · قراءة ذاكرة التخزين المؤقت **$0** / 1K من الرموز الإدخال · الكتابة إلى ذاكرة التخزين المؤقت **$0** / 1K من الرموز الإدخال · الكتابة إلى ذاكرة التخزين المؤقت، 1 ساعة **—** / 1K من الرموز |

تحجز Ailoot مبلغًا تقديريًا قبل الطلب. وبعد ظهور النتيجة، تُسوّي الرسوم النهائية بناءً على الاستخدام المقاس. وتستخدم تسوية البث سجل الاستخدام النهائي. [كيفية عمل حجز المبلغ وتسوية الرسوم →](https://ailoot.ai/docs/ar/billing/reserve/)

### أمثلة للطلبات

#### Ailoot Ultra · محادثة OpenAI

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": "qwen/qwen3-32b-fp8", "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='qwen/qwen3-32b-fp8',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='qwen/qwen3-32b-fp8',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

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-32b-fp8`](https://ailoot.ai/models/ar/#m=qwen%2Fqwen3-32b-fp8&route=Ultra&caller=qwen%2Fqwen3-32b-fp8&fmt=chat)

#### الأسماء البديلة لمسارات الطرائق

استخدم مسارات الطرائق المعروضة أعلاه.

#### معرّفات النماذج ذات الصلة IDs

[`qwen/qwen3-32b-fp8`](https://ailoot.ai/models/ar/#m=qwen%2Fqwen3-32b-fp8&route=Ultra&caller=qwen%2Fqwen3-32b-fp8&fmt=chat)

**Ailoot Ultra · رسائل Anthropic** `POST /v1/messages` `qwen/qwen3-32b-fp8`

[`qwen/qwen3-32b-fp8`](https://ailoot.ai/models/ar/#m=qwen%2Fqwen3-32b-fp8&route=Ultra&caller=qwen%2Fqwen3-32b-fp8&fmt=messages)

Alibaba /`qwen/qwen3-32b-fp8`

### البداية

Qwen3-32B-FP8 هو إصدار FP8 دقيق الحبيبات من نموذج Qwen3 النصي الكثيف ذي 32.8 مليار معامل. يجمع الاستجابات المباشرة والتفكير للكتابة متعددة اللغات والشيفرة والتحليل، مع تفاصيل منفصلة لنسخة الأوزان والتوافق.

المدخلات المقبولة

النص

النتائج

json · sse

### متاح في Ailoot · المدخلات والطرائق

**Ailoot Ultra · رسائل Anthropic** `POST /v1/messages`

الإدخال

`text`

الإخراج

`json`, `sse`

صيغة الإخراج

JSON أو SSE

| الحقل | النوع | المتطلب | القيم والحدود | القيمة الافتراضية |
| --- | --- | --- | --- | --- |
| الحقل`model` | النوع`string` | المتطلبمطلوب | القيم والحدود qwen/qwen3-32b-fp8 | القيمة الافتراضية— |
| الحقل`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

أقصى جهد للاستدلال

غير محدد عندما يُطبَّق الضبط الافتراضي default مع أقصى جهد للاستدلال

#### تعرفات Ailoot

#### الأسعار حسب الإعدادات

| الإعدادات | جدول التعرفة | الرسوم |
| --- | --- | --- |
| الإعداداتالتعرفات الأساسية للرموز | جدول التعرفةالتعرفة الأساسية | الرسوم الإدخال · رموز الإدخال **$0.0002** / 1K من الرموز الإخراج · رموز الإخراج **$0.001** / 1K من الرموز الإدخال · قراءة ذاكرة التخزين المؤقت **$0** / 1K من الرموز الإدخال · الكتابة إلى ذاكرة التخزين المؤقت **$0** / 1K من الرموز الإدخال · الكتابة إلى ذاكرة التخزين المؤقت، 1 ساعة **—** / 1K من الرموز |

تحجز Ailoot مبلغًا تقديريًا قبل الطلب. وبعد ظهور النتيجة، تُسوّي الرسوم النهائية بناءً على الاستخدام المقاس. وتستخدم تسوية البث سجل الاستخدام النهائي. [كيفية عمل حجز المبلغ وتسوية الرسوم →](https://ailoot.ai/docs/ar/billing/reserve/)

### أمثلة للطلبات

#### Ailoot Ultra · رسائل Anthropic

جسم طلب JSON مكتمل بالحد الأدنىcurl · استخدم مستندك بترميز UTF-8Python · احفظ النتيجة كاملة

```json
{
  "model": "qwen/qwen3-32b-fp8",
  "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': 'qwen/qwen3-32b-fp8', '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': 'qwen/qwen3-32b-fp8', '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

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-32b-fp8`](https://ailoot.ai/models/ar/#m=qwen%2Fqwen3-32b-fp8&route=Ultra&caller=qwen%2Fqwen3-32b-fp8&fmt=messages)

#### الأسماء البديلة لمسارات الطرائق

استخدم مسارات الطرائق المعروضة أعلاه.

#### معرّفات النماذج ذات الصلة IDs

[`qwen/qwen3-32b-fp8`](https://ailoot.ai/models/ar/#m=qwen%2Fqwen3-32b-fp8&route=Ultra&caller=qwen%2Fqwen3-32b-fp8&fmt=messages)

FAQ · qwen/qwen3-32b-fp8

ما المدخلات والنتائج المتاحة؟

`POST /v1/chat/completions` · `qwen/qwen3-32b-fp8`: `text` → `text` `POST /v1/messages` · `qwen/qwen3-32b-fp8`: `text` → `json`, `sse`

ما الحقول التي يستخدمها الطلب؟

`POST /v1/chat/completions` · `qwen/qwen3-32b-fp8`: `model`, `messages`, `stream`, `modalities`, `provider` `POST /v1/messages` · `qwen/qwen3-32b-fp8`: `model`, `messages`, `max_tokens`, `stream`

ما الحدود المطبقة؟

`POST /v1/chat/completions` · `qwen/qwen3-32b-fp8`: `messages.min_items`: `1`

اربط Ailoot بخدمة Claude Code أوOpenCode أوHermes أوتطبيقك.

## الشركة ومحفظة مشاريعها

الشركة ومحفظة مشاريعها: ملايين العملاء؛ مبيعات بالمليارات شهريًا.

## اشتر الرموز بخصم.

خصم اشتراك للعمل المنتظم. الرموز الترويجية حتى 50% على شراء الرموز.

الاشتراك

اختر خطة بخصم لطلباتك المنتظمة.

رمز خصم حتى 50%

أدخل الرمز عند الشراء. يعاد حساب السعر وفق العرض الساري.

المصروفات في السجل

يحفظ النموذج والرموز والمبلغ لكل طلب.

[اختر اشتراكا](https://ailoot.ai/docs/ar/billing/subscriptions/) · [اعرض أسعار النماذج](https://ailoot.ai/models/ar/)

## اربط API بالمنتج الذي تبيعه.

SaaS والتطبيقات والبوتات وفق العرض واتفاقية ترخيص Ailoot. لإعادة البيع، اطلب ترخيص موزع.

تطبيق تجاري

أضف توليد النص والصور والفيديو والصوت إلى ميزات خدمتك المدفوعة.

ترخيص إعادة البيع

أرسل وصف المشروع وطريقة توفير الوصول. اطلب شروط استخدام وإعادة بيع مكتوبة.

المستندات على الموقع

العرض واتفاقية الترخيص وسياسة معالجة البيانات متاحة قبل الربط.

[اطلب ترخيص إعادة بيع](mailto:support@ailoot.ai) · [العرض واتفاقية الترخيص](https://ailoot.ai/legal/offer?lang=ar)

## Ailoot · الشركة ومحفظة مشاريعها





تستند Ailoot إلى خبرة تشغيلية متراكمة وقاعدة عملاء واسعة وخدمة مستقرة ومراقبة مستمرة لمؤشرات الأداء KPI.





الشركة ومحفظة مشاريعها: ملايين العملاء؛ مبيعات بالمليارات شهريًا.





توظف Ailoot هذه الخبرة التشغيلية لإتاحة الوصول عبر API إلى قدرات الذكاء الاصطناعي في منتجات العملاء ووكلائهم وتطبيقاتهم وعمليات الأتمتة.
