Anthropic: Claude Opus 5
صُمم Claude Opus 5 للتطوير المتأني وتحليل المعلومات والعمل المهني متعدد الخطوات. يدعم الاستدلال التكيفي والتحقق من النتائج باستخدام أدوات التطبيق.
عن النموذج
يغطي هذا الوصف قدرات النموذج. وترد أدناه المدخلات والمخرجات والخيارات المتاحة في Ailoot للطريقة المحددة.
Claude Opus 5 هو نموذج من Anthropic للعمل المهني المنتظم الذي يتطلب دراسة المعلومات واتخاذ خيار مبرر وتنفيذ المهمة بالتتابع. يبرز المصنّع هندسة البرمجيات والسيناريوهات التجارية متعددة الخطوات والعمل العلمي وتحليل البيانات البصرية. يركز تقديمه على التنفيذ المتأني وفحص نتيجته.
معرفة السبب والفحص والإصلاح
في التطوير يستطيع Opus 5 دراسة السبب الجذري لخطأ واستخدام الفحص لتقييم تعديل مقترح. عندما لا تكفي مواد جاهزة للمقارنة، تشمل السيناريوهات الموصوفة إنشاء فحص خاص، مثلًا لسلوك محلل. يُبنى العمل على البيانات المتاحة: يقرأها النموذج ويختار إجراءً ويرى النتيجة ويصحح المشكلات المكتشفة.
يحتاج التطبيق أدوات مناسبة لتنفيذ الأوامر وتحرير الملفات وتشغيل الفحوص. تتعلق مبادرة النموذج باختيار الإجراءات وتسلسلها في البيئة المقدمة؛ ولا تعني وصولًا ذاتيًا إلى المشروع أو تنفيذ عمليات خارج التطبيق.
الصورة بوصفها بيانات لبرنامج
يقبل Opus 5 النص والصور ويعيد النص. في السيناريوهات البصرية يعرض المصنّع استخراج الشكل الهندسي من صورة وإعادة إنشاء قطعة بالكود المكتوب. تشمل أمثلة أخرى محاكاة تفاعلية للديناميكا الهوائية ورسمًا لخلية، أُنشئا بالبرمجة.
صيغ الإدخال البصري العادي لدى المصنّع هي JPEG/PNG/GIF/WebP، ويُستخدم الإطار الأول من الصور المتحركة. في التحليل الأصلي: طول الجانب الكبير 2576 بكسل و4784 توكنًا بصريًا؛ وتُصغَّر الصور الكبيرة قبل التحليل. يتحدد دعم الملفات والمعلمات وفق طريقة التطبيق.
تعرض هذه المهام العمل المشترك بين التحليل والهندسة: يمكن استخدام الصورة كمادة، والنتيجة النصية ككود أو وصف لحل. يحتاج تشغيل المحاكاة وبناء الرسومات وإخراج الملف النهائي أدوات البيئة؛ ولا توجد لدى النموذج صورة أو فيديو مدمجان منفصلان في المخرجات.
عمق قابل للتحكم
الاستدلال التكيفي مفعّل افتراضيًا، والمستوى القياسي لـeffort هو high. تُدعم low وmedium وhigh وxhigh وmax. يمكن تعطيل الاستدلال عند high وما دونه، لكنه إلزامي عند xhigh وmax. لا يتوفر لهذا الإصدار extended thinking اليدوي بميزانية منفصلة.
يؤثر تغيير الجهد في حجم الاستدلال، لكنه ليس طريقة موثوقة لضبط طول النص الظاهر. إذا لزمت إجابة قصيرة أو بنية محددة، فيجب ذكر ذلك في التعليمات نفسها. السياق 1 مليون توكن، والحد الأقصى للإجابة في الوضع العادي 128 ألف توكن؛ ويجب في التحليل العميق ترك مجال للاستدلال والمحتوى النهائي.
المهام العلمية والحساسة
الحد الموثوق للمعرفة المدمجة هو مايو 2026. تشمل المجالات العلمية التي تصفها Anthropic علم الأحياء البنيوي والكيمياء العضوية والمعلوماتية الحيوية. ومع ذلك يذكر المصنّع حدودًا كبيرة في الأبحاث الحيوية الذاتية المطوّلة؛ فالقدرة على مناقشة المواد العلمية لا تعني إنهاء أي بحث بصورة مستقلة.
تتيح آليات الحماية البحث عن أخطاء الكود، لكنها تقيد بعض المهام الحساسة. تحتاج المعلومات الحديثة إلى مواد مقدمة أو بحث، وتحتاج النتيجة التقنية والعلمية إلى التحقق في بيئتها المتخصصة.
Ailoot Ultra · محادثة OpenAI POST /v1/chat/completions claude-opus-5-thinking
claude-opus-5-thinkingالبداية
صُمم Claude Opus 5 للتطوير المتأني وتحليل المعلومات والعمل المهني متعدد الخطوات. يدعم الاستدلال التكيفي والتحقق من النتائج باستخدام أدوات التطبيق.
- المدخلات المقبولة
- النص
- النتائج
- النص
متاح في Ailoot · المدخلات والطرائق
Ailoot Ultra · محادثة OpenAI POST /v1/chat/completions
- الإدخال
text- الإخراج
text- صيغة الإخراج
- json أو SSE
| الحقل | النوع | المتطلب | القيم والحدود | القيمة الافتراضية |
|---|---|---|---|---|
الحقلmodel | النوعstring | المتطلبمطلوب | القيم والحدود claude-opus-5-thinking | القيمة الافتراضية— |
الحقل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.01 / 1K من الرموز الإخراج · رموز الإخراج $0.05 / 1K من الرموز الإدخال · قراءة ذاكرة التخزين المؤقت $0.001 / 1K من الرموز الإدخال · الكتابة إلى ذاكرة التخزين المؤقت $0.0125 / 1K من الرموز الإدخال · الكتابة إلى ذاكرة التخزين المؤقت، 1 ساعة — / 1K من الرموز |
تحجز Ailoot مبلغًا تقديريًا قبل الطلب. وبعد ظهور النتيجة، تُسوّي الرسوم النهائية بناءً على الاستخدام المقاس. وتستخدم تسوية البث سجل الاستخدام النهائي. كيفية عمل حجز المبلغ وتسوية الرسوم →
أمثلة للطلبات
Ailoot Ultra · محادثة OpenAI
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model":"claude-opus-5-thinking","messages":[{"role":"user","content":"hello"}],"stream":false}')
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("choices",[]):
if x.get("message",{}).get("content"): print(x["message"]["content"])
PY_RESULT
from openai import OpenAI
import os
if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.chat.completions.create(model="claude-opus-5-thinking", 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 claude-opus-5-thinking
الأسماء البديلة لمسارات الطرائق
/chat/completions
معرّفات النماذج ذات الصلة IDs
FAQ · Anthropic: Claude Opus 5
- ما المدخلات والنتائج المتاحة؟
POST /v1/chat/completions·claude-opus-5-thinking:text→text- ما الحقول التي يستخدمها الطلب؟
POST /v1/chat/completions·claude-opus-5-thinking:model,messages,stream- ما الحدود المطبقة؟
POST /v1/chat/completions·claude-opus-5-thinking:messages.min_items:1