Source: https://ailoot.ai/models/ar/deepseek-ai-deepseek-r1-distill-qwen-14b/
Canonical: https://ailoot.ai/models/ar/deepseek-ai-deepseek-r1-distill-qwen-14b/
Language: ar

# DeepSeek R1 Distill Qwen 14B

[Markdown](https://ailoot.ai/models/ar/deepseek-ai-deepseek-r1-distill-qwen-14b/index.md) · [JSON](https://ailoot.ai/models/ar/deepseek-ai-deepseek-r1-distill-qwen-14b/facts.json)

## [DeepSeek R1 Distill Qwen 14B](https://ailoot.ai/models/ar/deepseek-ai-deepseek-r1-distill-qwen-14b/)

DeepSeek-R1-Distill-Qwen-14B هو إصدار أوزان للاستدلال النصي مبني على Qwen2.5-14B وأمثلة مولّدة بواسطة DeepSeek-R1. يدعم إجابات رياضية وبرمجية ومنطقية مفصّلة الخطوات، مع أداة DeepSeek الخاصة لتقسيم النص إلى رموز وتوصياتها لصياغة التعليمات وإعدادات إصدارها.

- [**Ailoot Ultra · محادثة OpenAI** `POST /v1/chat/completions` `deepseek-ai/DeepSeek-R1-Distill-Qwen-14B`](https://ailoot.ai/models/ar/deepseek-ai-deepseek-r1-distill-qwen-14b/#method-0)
- [**Ailoot Ultra · رسائل Anthropic** `POST /v1/messages` `deepseek-ai/DeepSeek-R1-Distill-Qwen-14B`](https://ailoot.ai/models/ar/deepseek-ai-deepseek-r1-distill-qwen-14b/#method-1)

عن النموذج

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

DeepSeek-R1-Distill-Qwen-14B هو إصدار أوزان استدلال بحجم 14B مبني على Qwen، وتنشره DeepSeek. أساسه Qwen2.5-14B، وقد ضُبط بدقة باستخدام أمثلة أعدّها DeepSeek-R1. يقبل مسألة مكتوبة أو محادثة، ويعيد نصًا قد يتضمن حلًا رياضيًا أو شرحًا لسلوك برنامج أو استنتاجًا مستخلصًا من عدة شروط مقدمة.

نقل الاستدلال والإصدار المسمّى

تميّز DeepSeek بين نموذجي R1 وR1-Zero الكاملين والنماذج الكثيفة المقطّرة على أسس Qwen وLlama. وفي الإصدارات المقطّرة، تنقل بيانات التدريب أنماط استدلال من نموذج R1 الأكبر إلى إصدار أوزان مختلف. يحدد اسم 14B هذا الأساس المعين من Qwen؛ ولا يحدد بنية R1 الكاملة أو إصدار التقطير 32B أو إصدار Qwen2.5-14B-Instruct الاعتيادي.

تصف الجهة المصنّعة 800,000 مثال منتقى لإصدارات التقطير من Qwen، وتشير إلى تغييرات في إعداداتها وأدوات تقسيمها إلى رموز. احتفظ بإعدادات إصدار DeepSeek عند استخدام هذا النموذج. وتهم هذه التغييرات رغم أن أصل النموذج هو Qwen2.5. تحدد إعدادات إصدار 14B نفسه 48 طبقة و40 رأس انتباه للاستعلامات و8 رؤوس للمفاتيح/القيم، مع ضبط الحد الأقصى للمواضع على 131,072.

ما ينبغي تقديمه للحصول على إجابة مفيدة مفصّلة الخطوات

في مهمة تعليمية، أدرج المسألة ومحاولة المتعلم لحلها، ثم حدّد الانتقال الذي يحتاج إلى شرح. اطلب من النموذج تحديد الشرط المعني وشرح التصحيح بالترميز نفسه، ومتابعة الحل بالقدر اللازم فقط لإثبات النتيجة. وهذا يبقي الإجابة مرتبطة بصعوبة المتعلم الفعلية بدل إنتاج درس كامل غير ذي صلة.

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

في سؤال برمجي، أرفق الخوارزمية أو الدالة ومدخلًا محددًا. اسأل كيف تتغير الحالة ولماذا تنتج عنها النتيجة المعادة. ويمكن للمتابعة أن تطلب تنفيذًا منقحًا تحت قيد صريح، مثل الاحتفاظ بتوقيع الدالة العام أو تجنب تعديل المدخل. أدرج الشيفرة المساعدة ذات الصلة والسلوك المتوقع حتى لا يعتمد الشرح على تنفيذ غير محدد.

في مقارنة منطقية، حدّد البدائل والشروط التي يجب أن يحققها كل منها. اطلب الافتراضات التي يستخدمها كل نهج، والتعارضات التي تستبعد خيارًا، والمعلومات التي ما زالت غير محسومة. ويمكن أن يكون جدول قرار مختصر هو المخرج النهائي، بينما يشرح النص المحيط كيف تدعمه القواعد المقدمة.

توصيات صياغة التعليمات من DeepSeek

توصي الجهة المصنّعة بتجنب تعليمات نظام ووضع جميع التعليمات مباشرة في طلب المستخدم. اجمع المهمة ومتطلبات الإخراج والمواد المصدرية الضرورية، مع تحديد واضح للنص الذي يمثل المسألة والنص الذي يمثل تعليمات حول الإجابة. استخدم أداة تقسيم الرموز وإعدادات المحادثة المنشورة، بدل افتراض قابلية استبدالها بتنسيق Qwen الأصلي.

يتراوح نطاق temperature الموثّق من 0.5 إلى 0.7، مع التوصية بـ0.6. تربط DeepSeek هذا بتقليل التكرار والإخراج غير المترابط. وفي الأسئلة الرياضية، توصي باستجابة مفصّلة الخطوات مع وضع النتيجة النهائية داخل إطار LaTeX. وتصف أيضًا حالات يتجاوز فيها النموذج كتلة الاستدلال، وتوصي ببدء الاستجابة بعلامة افتتاح الاستدلال لتشجيع سير العمل المقصود.

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

حدود السياق والمحتوى

تضبط إعدادات الإصدار الحالي الحد الأقصى للمواضع على 131,072. وهذه قيمة إعداد خاصة بهذا الإصدار، وليست وعدًا موروثًا يشمل كل واجهة تشغيل. وإعداد التوليد البالغ 32,768 رمزًا لدى الجهة المصنّعة جزء من التقييم؛ ولا يثبت حدًا أقصى صارمًا مستقلًا لطول الإجابة. وبالمثل، لا ينبغي نقل سعة إخراج نموذج Qwen Instruct الأصلي إلى إصدار الاستدلال المعدّل هذا دون مواصفاته الخاصة.

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

استخدم إصدار 14B المسمّى لمهمة محددة تتطلب إجابة مفصّلة الخطوات، واحتفظ بترميز المسألة وافتراضاتها والنتيجة المستهدفة. والهدف العملي حل يستطيع القارئ فحصه: ما الشروط المنطبقة، ولماذا تلزم كل خطوة مهمة، وما التعبير أو التنفيذ أو الاستنتاج النهائي الذي يجيب عن السؤال الأصلي.

مهمة عملية

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

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

```
Repair an algebraic division step

A student solves x(x - 3) = 2(x - 3) by dividing by x - 3 and concludes x = 2. Explain the missing case without changing the original equation. Separate the zero-divisor case from the nonzero case, then give the complete solution set and substitute each candidate back into the equation.
```

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

```
A case split, a complete solution set and a substitution check for each candidate.
```

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

```
The response checks the x - 3 = 0 case rather than silently dividing it away.
```

**Ailoot Ultra · محادثة OpenAI** `POST /v1/chat/completions` `deepseek-ai/DeepSeek-R1-Distill-Qwen-14B`

[`deepseek-ai/DeepSeek-R1-Distill-Qwen-14B`](https://ailoot.ai/models/ar/#m=deepseek-ai%2FDeepSeek-R1-Distill-Qwen-14B&route=Ultra&caller=deepseek-ai%2FDeepSeek-R1-Distill-Qwen-14B&fmt=chat)

DeepSeek /`deepseek-ai/DeepSeek-R1-Distill-Qwen-14B`

### البداية

DeepSeek-R1-Distill-Qwen-14B هو إصدار أوزان للاستدلال النصي مبني على Qwen2.5-14B وأمثلة مولّدة بواسطة DeepSeek-R1. يدعم إجابات رياضية وبرمجية ومنطقية مفصّلة الخطوات، مع أداة DeepSeek الخاصة لتقسيم النص إلى رموز وتوصياتها لصياغة التعليمات وإعدادات إصدارها.

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

النص

النتائج

النص

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

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

الإدخال

`text`

الإخراج

`text`

صيغة الإخراج

json أو SSE

| الحقل | النوع | المتطلب | القيم والحدود | القيمة الافتراضية |
| --- | --- | --- | --- | --- |
| الحقل`model` | النوع`string` | المتطلبمطلوب | القيم والحدود deepseek-ai/DeepSeek-R1-Distill-Qwen-14B | القيمة الافتراضية— |
| الحقل`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.0002** / 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": "deepseek-ai/DeepSeek-R1-Distill-Qwen-14B", "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='deepseek-ai/DeepSeek-R1-Distill-Qwen-14B',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='deepseek-ai/DeepSeek-R1-Distill-Qwen-14B',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** [`deepseek-ai/DeepSeek-R1-Distill-Qwen-14B`](https://ailoot.ai/models/ar/#m=deepseek-ai%2FDeepSeek-R1-Distill-Qwen-14B&route=Ultra&caller=deepseek-ai%2FDeepSeek-R1-Distill-Qwen-14B&fmt=chat)

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

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

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

[`deepseek-ai/DeepSeek-R1-Distill-Qwen-14B`](https://ailoot.ai/models/ar/#m=deepseek-ai%2FDeepSeek-R1-Distill-Qwen-14B&route=Ultra&caller=deepseek-ai%2FDeepSeek-R1-Distill-Qwen-14B&fmt=chat)

**Ailoot Ultra · رسائل Anthropic** `POST /v1/messages` `deepseek-ai/DeepSeek-R1-Distill-Qwen-14B`

[`deepseek-ai/DeepSeek-R1-Distill-Qwen-14B`](https://ailoot.ai/models/ar/#m=deepseek-ai%2FDeepSeek-R1-Distill-Qwen-14B&route=Ultra&caller=deepseek-ai%2FDeepSeek-R1-Distill-Qwen-14B&fmt=messages)

DeepSeek /`deepseek-ai/DeepSeek-R1-Distill-Qwen-14B`

### البداية

DeepSeek-R1-Distill-Qwen-14B هو إصدار أوزان للاستدلال النصي مبني على Qwen2.5-14B وأمثلة مولّدة بواسطة DeepSeek-R1. يدعم إجابات رياضية وبرمجية ومنطقية مفصّلة الخطوات، مع أداة DeepSeek الخاصة لتقسيم النص إلى رموز وتوصياتها لصياغة التعليمات وإعدادات إصدارها.

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

النص

النتائج

json · sse

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

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

الإدخال

`text`

الإخراج

`json`, `sse`

صيغة الإخراج

JSON أو SSE

| الحقل | النوع | المتطلب | القيم والحدود | القيمة الافتراضية |
| --- | --- | --- | --- | --- |
| الحقل`model` | النوع`string` | المتطلبمطلوب | القيم والحدود deepseek-ai/DeepSeek-R1-Distill-Qwen-14B | القيمة الافتراضية— |
| الحقل`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.0002** / 1K من الرموز الإدخال · قراءة ذاكرة التخزين المؤقت **$0** / 1K من الرموز الإدخال · الكتابة إلى ذاكرة التخزين المؤقت **$0** / 1K من الرموز الإدخال · الكتابة إلى ذاكرة التخزين المؤقت، 1 ساعة **—** / 1K من الرموز |

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

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

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

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

```json
{
  "model": "deepseek-ai/DeepSeek-R1-Distill-Qwen-14B",
  "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': 'deepseek-ai/DeepSeek-R1-Distill-Qwen-14B', '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': 'deepseek-ai/DeepSeek-R1-Distill-Qwen-14B', '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** [`deepseek-ai/DeepSeek-R1-Distill-Qwen-14B`](https://ailoot.ai/models/ar/#m=deepseek-ai%2FDeepSeek-R1-Distill-Qwen-14B&route=Ultra&caller=deepseek-ai%2FDeepSeek-R1-Distill-Qwen-14B&fmt=messages)

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

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

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

[`deepseek-ai/DeepSeek-R1-Distill-Qwen-14B`](https://ailoot.ai/models/ar/#m=deepseek-ai%2FDeepSeek-R1-Distill-Qwen-14B&route=Ultra&caller=deepseek-ai%2FDeepSeek-R1-Distill-Qwen-14B&fmt=messages)

FAQ · deepseek-ai/DeepSeek-R1-Distill-Qwen-14B

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

`POST /v1/chat/completions` · `deepseek-ai/DeepSeek-R1-Distill-Qwen-14B`: `text` → `text` `POST /v1/messages` · `deepseek-ai/DeepSeek-R1-Distill-Qwen-14B`: `text` → `json`, `sse`

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

`POST /v1/chat/completions` · `deepseek-ai/DeepSeek-R1-Distill-Qwen-14B`: `model`, `messages`, `stream`, `modalities`, `provider` `POST /v1/messages` · `deepseek-ai/DeepSeek-R1-Distill-Qwen-14B`: `model`, `messages`, `max_tokens`, `stream`

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

`POST /v1/chat/completions` · `deepseek-ai/DeepSeek-R1-Distill-Qwen-14B`: `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 إلى قدرات الذكاء الاصطناعي في منتجات العملاء ووكلائهم وتطبيقاتهم وعمليات الأتمتة.
