Source: https://ailoot.ai/models/ar/codegeex-4/
Canonical: https://ailoot.ai/models/ar/codegeex-4/
Language: ar

# CodeGeeX-4

[Markdown](https://ailoot.ai/models/ar/codegeex-4/index.md) · [JSON](https://ailoot.ai/models/ar/codegeex-4/facts.json)

## [CodeGeeX-4](https://ailoot.ai/models/ar/codegeex-4/)

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

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

عن النموذج

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

CodeGeeX4 عائلة نماذج برمجة متعددة اللغات تتمحور حول المساعدة البرمجية والعمل عبر ملفات مصدرية مترابطة. تنشر الشركة CodeGeeX4-ALL-9B عضوًا مفتوح المصدر في السلسلة، طُوّر بالتدريب المستمر على GLM-4-9B. تغطي وثائقه توليد الشيفرة وإكمالها والأسئلة البرمجية وتحليل المستودعات ومسارات متصلة تتضمن مفسّر شيفرة أو بحثًا في الويب أو استدعاءات دوال. الناتج المعتاد نص: شيفرة أو شروح أو إجابات أو تغييرات تحمل تسميات الملفات، وفق تعليمة المهمة.

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

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

في الإكمال السياقي، يصف التنسيق الأصلي الملف الهدف ولغة برمجته والشيفرة على جانبي نقطة الإدراج. استخدم المسار النسبي للملف مع ###PATH: وأدرج ###LANGUAGE:؛ ويسمح الدليل بقيمة لغة فارغة عندما تكون مجهولة. يختار ###MODE: القيمة LINE لإكمال سطر واحد أو BLOCK لعدة أسطر، وBLOCK هو الافتراضي الموثّق. يأتي تسلسل ملء الوسط باللاحقة أولًا، ثم السابقة، ثم الوسط المفقود، بعلامات \<|code\_suffix|\> و\<|code\_prefix|\> و\<|code\_middle|\>. يحذف قالب الملء لدى الشركة موجّه النظام. يمنح الاحتفاظ باللاحقة النموذج تدفق التحكم المحيط والشيفرة التي يجب أن تبقى بعد الإدراج. الناتج شيفرة مفقودة مقترحة، يمكن فحصها بعد ذلك في موضعها الأصلي.

يضيف الإكمال عبر الملفات مقتطفات مرتبطة كمادة مرجعية، يبدأ كل منها بـ###REFERENCE: ومسار ###PATH: خاص به. أبقِ هذه المراجع منفصلة عن الملف الهدف ونقطة إدراجه. على سبيل المثال، عند إكمال دالة تستدعي دالة مساعدة موجودة، قدّم توقيع الدالة المساعدة وتنفيذها مع سابقة الدالة الهدف ولاحقتها. يوسّع دليل الإكمال على مستوى المشروع هذا النهج لتوليد ملف جديد من متطلبات المشروع والشيفرة الحالية ذات الصلة. تتيح المسارات الواضحة والتبعيات المختارة التمييز بين الشيفرة المقدّمة دليلًا والملف المطلوب إكماله.

تستخدم أسئلة المستودعات تخطيطًا أصليًا مختلفًا: اسرد كل ملف تحت ###PATH: وأدرج شيفرته ثم اطرح السؤال. يمكن لتكليف مفيد أن يسأل أين تُعرّف قيمة أو كيف يمر استدعاء بين الوحدات المقدّمة. يستخدم تحرير المستودع تعليمة نظام خاصة لإضافة الملفات أو حذفها أو تعديلها، ويطلب الإخراج بصيغة ###PATH: {PATH} متبوعًا بالشيفرة. جهّز الملفات المعنية وصِف التغيير المطلوب، بما يشمل الملف المراد إضافته أو السلوك المطلوب الحفاظ عليه. اقرأ الكتل المرتجعة ذات تسميات المسارات كتغييرات مقترحة؛ فهي لا تثبت أن مستودعًا عُدّل بالفعل أو أن الشيفرة شُغّلت.

للعضو المنشور CodeGeeX4-ALL-9B، توثّق الشركة سياق 128K وتوصي باختيار محتوى المستودع ذي الصلة عندما يتجاوز المشروع تلك النافذة. يُعد استرجاع المقتطفات المرتبطة وتقليم المدخلات المفرطة خطوات إعداد في دليل المستودعات. يجب أن يتسع السياق للتعليمات والشيفرة المقدّمة والتكملة المولّدة، لذا تكون مجموعة ملفات مستهدفة غالبًا أنفع من تفريغ مشروع بلا تمييز. تتحكم إعدادات التوليد في مثال الشركة في طول تشغيل بعينه؛ ولا تعرّف حدًا أقصى عامًا لطول الإجابة في كل إصدار من CodeGeeX4.

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

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

[`codegeex-4`](https://ailoot.ai/models/ar/#m=codegeex-4&route=Ultra&caller=codegeex-4&fmt=chat)

Zhipu /`codegeex-4`

### البداية

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

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

النص

النتائج

النص

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

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

الإدخال

`text`

الإخراج

`text`

صيغة الإخراج

json أو SSE

| الحقل | النوع | المتطلب | القيم والحدود | القيمة الافتراضية |
| --- | --- | --- | --- | --- |
| الحقل`model` | النوع`string` | المتطلبمطلوب | القيم والحدود codegeex-4 | القيمة الافتراضية— |
| الحقل`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

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

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

#### تعرفات Ailoot

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

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

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

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

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

curlPython SDK

```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":"codegeex-4","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
```

```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="codegeex-4", 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

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** [`codegeex-4`](https://ailoot.ai/models/ar/#m=codegeex-4&route=Ultra&caller=codegeex-4&fmt=chat)

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

`/chat/completions`

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

[`codegeex-4`](https://ailoot.ai/models/ar/#m=codegeex-4&route=Ultra&caller=codegeex-4&fmt=chat)

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

[`codegeex-4`](https://ailoot.ai/models/ar/#m=codegeex-4&route=Ultra&caller=codegeex-4&fmt=messages)

Zhipu /`codegeex-4`

### البداية

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

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

النص

النتائج

json · sse

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

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

الإدخال

`text`

الإخراج

`json`, `sse`

صيغة الإخراج

JSON أو SSE

| الحقل | النوع | المتطلب | القيم والحدود | القيمة الافتراضية |
| --- | --- | --- | --- | --- |
| الحقل`model` | النوع`string` | المتطلبمطلوب | القيم والحدود codegeex-4 | القيمة الافتراضية— |
| الحقل`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.028** / 1K من الرموز الإخراج · رموز الإخراج **$0.028** / 1K من الرموز الإدخال · قراءة ذاكرة التخزين المؤقت **$0** / 1K من الرموز الإدخال · الكتابة إلى ذاكرة التخزين المؤقت **$0** / 1K من الرموز الإدخال · الكتابة إلى ذاكرة التخزين المؤقت، 1 ساعة **—** / 1K من الرموز |

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

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

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

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

```json
{
  "model": "codegeex-4",
  "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': 'codegeex-4', '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': 'codegeex-4', '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** [`codegeex-4`](https://ailoot.ai/models/ar/#m=codegeex-4&route=Ultra&caller=codegeex-4&fmt=messages)

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

`/chat/completions`

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

[`codegeex-4`](https://ailoot.ai/models/ar/#m=codegeex-4&route=Ultra&caller=codegeex-4&fmt=messages)

FAQ · CodeGeeX-4

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

`POST /v1/chat/completions` · `codegeex-4`: `text` → `text` `POST /v1/messages` · `codegeex-4`: `text` → `json`, `sse`

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

`POST /v1/chat/completions` · `codegeex-4`: `model`, `messages`, `stream` `POST /v1/messages` · `codegeex-4`: `model`, `messages`, `max_tokens`, `stream`

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

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