تطلب منك معظم نماذج الرؤية أن تختار. يمكنك إرسال صورة، أو يمكنك إرسال الكثير من النصوص، ولكن النموذج الذي يؤدي أحدهما بشكل جيد نادرًا ما يكون النموذج الذي يؤدي الآخر بشكل جيد.
لا يجبرك GLM-5.3-Flash على الاختيار. فهو يقبل الصور ككتل محتوى داخل نافذة سياق بحجم 1,048,576 رمزًا، في نفس الطلب مثل أي شيء آخر. هذا المزيج، مدخلات الصور الأصلية بالإضافة إلى مليون رمز من المساحة، يفتح سير عمل لا يمكن لأي من القدرتين تفعيله بمفرده.
يغطي هذا الدليل حمولة البيانات، وسير العمل الذي يستحق البناء، والأجزاء التي لا تزال غير مثبتة.
أصلي، لا يعتمد على المحول
تم شحن أعمال الرؤية السابقة لـ Z.ai كنماذج منفصلة. كان GLM-5V-Turbo وGLM-4.6V نقاط نهاية مميزة بمعرفات نموذج مميزة، واستخدامهما يعني توجيه حركة مرور الصور إلى مكان آخر غير حركة مرور النص الخاص بك. GLM-5.3، الشقيق الأكبر لهذا النموذج، يوجه الرؤية عبر المحولات بدلاً من معالجتها بشكل أصلي.
GLM-5.3-Flash هو النموذج الأول في سلسلة GLM-5 حيث تكون الصور مدخلات من الدرجة الأولى لنفس النموذج، في نفس المكالمة، وتشارك نفس السياق.
من الناحية العملية، هذا يعني معرف نموذج واحد، وسطر فواتير واحد، ومجموعة واحدة من حدود المعدل، والأهم من ذلك، نافذة سياق واحدة تحتوي على صورتك ونصك في وقت واحد. إذا كنت تحافظ على شيء على المسار القديم، فإن دليل GLM-5V-Turbo API الخاص بنا ودليل GLM-4.6V يغطيان هذه النماذج.
حمولة البيانات
يعمل إدخال الصورة عبر كتل المحتوى المكتوبة. بدلاً من أن يكون content سلسلة نصية، فإنه يصبح مصفوفة:
from openai import OpenAI
import os
client = OpenAI(
api_key=os.environ["ZAI_API_KEY"],
base_url="https://api.z.ai/api/paas/v4/",
)
response = client.chat.completions.create(
model="glm-5.3-flash",
messages=[
{
"role": "user",
"content": [
{"type": "text", "text": "What is wrong with this layout on mobile?"},
{
"type": "image_url",
"image_url": {"url": "https://example.com/mobile-view.png"},
},
],
}
],
)
print(response.choices[0].message.content)
للصور المحلية أو الخاصة، استخدم عنوان URL للبيانات بتشفير base64:
import base64
from pathlib import Path
def image_block(path: str) -> dict:
data = base64.b64encode(Path(path).read_bytes()).decode("utf-8")
suffix = Path(path).suffix.lstrip(".").replace("jpg", "jpeg")
return {
"type": "image_url",
"image_url": {"url": f"data:image/{suffix};base64,{data}"},
}
صور متعددة تعني كتلًا متعددة. لا توجد مصفوفة اختصار لعناوين URL:
content = [
{"type": "text", "text": "Image 1 is the design. Image 2 is what we built. List the differences."},
image_block("design.png"),
image_block("built.png"),
]
الترتيب مهم. يقرأ النموذج المصفوفة بالتسلسل، لذا ضع النص التمهيدي قبل الصور التي يشير إليها، وقم بتسمية الصور بوضوح عند إرسال عدة صور. "الصورة 1 هي التصميم" يمنح النموذج شيئًا يستند إليه في إجابته.
يتم تغطية الإعداد الأساسي والمصادقة في دليل API الخاص بنا.
سير العمل الذي يستحق البناء
تصحيح الأخطاء من لقطات الشاشة
الواضح، والذي تعتمد عليه Z.ai. تصف موادها الخاصة النموذج وهو يراقب "الواجهات ونتائج العرض وملاحظات التفاعل"، وهو إطار عمل وكيل برمجي بدلاً من وصف للصور.
أرسل العرض المعطل والمصدر الذي أنتجه في نفس الطلب:
content = [
{"type": "text", "text": "This component renders incorrectly below 400px. Here is the screenshot and the source."},
image_block("bug-mobile.png"),
{"type": "text", "text": f"```jsx\n{component_source}\n```"},
]
يستدل النموذج على العرض الفعلي بدلاً من وصفك له. وهذا يزيل الخطوة الأكثر خسارة في معظم محادثات تصحيح أخطاء الواجهة الأمامية، وهي قيام إنسان بترجمة مشكلة مرئية إلى كلمات.
مقارنة التصميم
صورتان وسؤال. مفيد في CI كفحص خفيف على الانحدارات البصرية، حيث تخبرك أداة الفروقات بتغير البكسلات ويخبرك النموذج ما إذا كان التغيير مهمًا.
كن واقعيًا بشأن الموثوقية هنا. نموذج يقارن لقطات الشاشة هو حكم تقديري، وليس تأكيدًا. استخدمه لفرز الفروقات التي يجب أن ينظر إليها الإنسان، وليس لإيقاف النشر بمفرده.
المستندات جنبًا إلى جنب مع مواصفاتها
هنا تكتسب نافذة السياق 1M مكانها. ضع مواصفات طويلة في الموجه كنص ومادة معروضة كصورة، ثم اسأل عما إذا كانت تتفق.
content = [
{"type": "text", "text": f"Specification:\n\n{spec_text}"},
{"type": "text", "text": "Below is the generated report. Does it satisfy every requirement above? List gaps."},
image_block("generated-report.png"),
]
مواصفات من 40 صفحة وصورة في موجه واحد ليس شيئًا يمكنك فعله على نموذج مع نافذة 128 ألف ورؤية قائمة على المحول. هذه هي القدرة الجديدة الفعلية.
تذكر ملاحظات إصدار Z.ai أيضًا سير عمل مستندات المكاتب والبحوث المالية كأهداف للسلوك الوكيلي للنموذج.
الرسوم البيانية ولوحات المعلومات
قراءة صورة رسم بياني وإرجاع بيانات منظمة هي مهمة استخراج قياسية. اطلب JSON وتحقق منه:
content = [
{"type": "text", "text": "Extract the series in this chart as JSON: [{label, values: [...]}]. Return only JSON."},
image_block("quarterly.png"),
]
تحقق من الإخراج مقابل مخطط بدلاً من الوثوق به. قراءة الرسوم البيانية هي بالضبط نوع المهمة التي ينتج فيها النموذج أرقامًا خاطئة بثقة، ويصطاد التحقق الهيكلي أخطاء الشكل حتى عندما لا يتمكن من اصطياد أخطاء القيمة.
لاستخراج المستندات المخصص، قد يتفوق المتخصص على العام. يغطي GLM-OCR لفهم المستندات هذا المسار.
الفيديو والملفات
تسرد وثائق Z.ai إدخال الفيديو والملفات جنبًا إلى جنب مع الصور، باستخدام نفس آلية كتلة المحتوى.
كن حذرًا مع هذا. دعم الفيديو في هذا النموذج جديد، وموثق بشكل قليل، ويُمارس بشكل خفيف في الأماكن العامة مقارنة بإدخال الصور، الذي استخدمه الكثيرون الآن. يختلف دعم الموفر أيضًا: قدرة النموذج ليست هي نفسها ميزة متاحة على أي بوابة تتصل بها.
إذا كان الفيديو مهمًا لتطبيقك، فاختبره مباشرةً مقابل وسائطك الخاصة ومزودك الخاص قبل أن تصمم حوله. لا تعامل سطرًا في جدول القدرات كميزة عاملة.
أوجه القصور
تعدد الوسائط الأصلي ليس هو نفسه تعدد الوسائط الموثوق. هناك أربعة أوضاع فشل تستحق المعرفة قبل أن تقوم بشحن شيء ما.
أرقام واثقة من الرسوم البيانية. قراءة القيم من خط مرسوم هي المهمة الأكثر احتمالاً لإنتاج إجابة بليغة ومنسقة بدقة، ولكنها خاطئة. يلتقط التحقق من المخطط الإخراج المشوه؛ ولا يمكنه التقاط رقم معقول ولكنه غير صحيح ببساطة. إذا كانت الأرقام مهمة، احصل عليها من البيانات الأساسية بدلاً من صورتها.
النص الصغير. تتدهور لقطات شاشة واجهة المستخدم الكثيفة، والجداول في لقطات منخفضة الدقة، والتعليمات البرمجية في الصور المضغوطة. يؤدي تقليل الحجم لتوفير الرموز إلى تفاقم هذا الأمر، لذا هناك توتر مباشر بين رافعة التكلفة والدقة. قم بقص المنطقة ذات الأهمية بدلاً من تقليص الإطار بأكمله.
الدقة المكانية. تصف النماذج التخطيط جيدًا وتقيسه بشكل سيء. "الزر يتداخل مع المدخلات" عادة ما يكون صحيحًا. "الزر على بعد 12 بكسلًا إلى اليسار" عادة ما يكون غير صحيح.
الخلط في الترتيب والإشارة. مع وجود عدة صور في طلب واحد، يمكن للنموذج أن ينسب تفصيلاً إلى الصورة الخاطئة. قم بتسميتها بوضوح في كتل النص، وحافظ على العدد منخفضًا عندما تكون الدقة مهمة.
لا توجد أي من هذه المشكلات فريدة لـ GLM-5.3-Flash. إنها الحدود القياسية لنماذج لغة الرؤية، ودرجة مؤشر الذكاء 57 لا تعفيها. صمم سير العمل بحيث يتم اكتشاف الإجابة الخاطئة بدلاً من التصرف بناءً عليها.
التكلفة
تستهلك الصور رموز السياق ويتم محاسبتها كمدخلات. لا توجد رسوم إضافية منفصلة للصور.
بسعر القائمة، تبلغ التكلفة 0.15 دولارًا لكل مليون رمز إدخال، أو 0.075 دولارًا خلال خصم الإطلاق الذي يستمر حتى 9 سبتمبر 2026. تستهلك الصور عالية الدقة عددًا كبيرًا من الرموز، لذا فإن الدقة هي رافعة للتكلفة: قم بتقليل حجم الصورة قبل الإرسال ما لم تكن التفاصيل الدقيقة هي الهدف من الطلب.
يتم تعيين reasoning_effort افتراضيًا على max، والذي يحاسب الاستدلال كرموز إخراج. بالنسبة للاستخراج المباشر من الصورة، عادةً ما يكون low هو الإعداد الصحيح وأرخص بكثير. يغطي تحليلنا للتسعير كلا الرافعتين.
التحكم في تكاليف الصور
يتم محاسبة الصور كرموز إدخال، لذا فإن الدقة هي رافعة تكلفة مباشرة، والتحسين الواضح يتعارض مع ملاحظات الدقة المذكورة أعلاه.

ترتيب العمل الفعال:
- القص قبل التكبير/التصغير. إرسال المنطقة ذات الصلة بالدقة الكاملة أفضل من إرسال الشاشة بأكملها بنصف الحجم. تفقد السياق الذي لم يكن النموذج بحاجة إليه وتحتفظ بالتفاصيل التي يحتاجها.
- تطابق الدقة مع السؤال. "هل التخطيط معطل؟" ينجو من تقليل الحجم القوي. "ماذا تقول رسالة الخطأ هذه؟" لا ينجو.
- لا تعيد إرسال الصور غير المتغيرة. في محادثة متعددة الأدوار، الصورة التي تم إرسالها مرة واحدة موجودة بالفعل في السياق. إعادة إرفاقها في كل دور يكلفك في كل دور.
- عيّن
reasoning_effortعن عمد. يتم تعيينه افتراضيًا علىmax، ويتم محاسبة الاستدلال كإخراج. نادرًا ما يحتاجه الاستخراج المباشر.
يمنحك كائن usage في كل استجابة العدد الحقيقي للرموز لكل مكالمة، وهي الطريقة الوحيدة لمعرفة التكلفة الفعلية للصورة بدلاً من التخمين من حجم ملفها.
اختبار المكالمات متعددة الوسائط
طلبات الوسائط المتعددة غير سارة للاختبار يدويًا. عنوان URL لبيانات base64 هو آلاف الأحرف، مما يجعل أمر curl غير قابل للقراءة وغير ممكن إعادة تشغيله بشكل فعال عن طريق التعديل. الردود هي نص حر، لذا من السهل تفويت الانحدارات.

عادتان تساعدان. احتفظ بمجموعة صغيرة وثابتة من الصور المرجعية والإجابات المتوقعة، حتى تتمكن من معرفة متى يتغير السلوك. وتحقق من الاستخراج المنظم مقابل مخطط بدلاً من فحصه بالعين المجردة.
Apidog هو موطن عملي لذلك. قم بتخزين حمولات الصور في طلب محفوظ بدلاً من أمر shell، واحتفظ بمفتاح API كمتغير بيئة، وقم بإرفاق تأكيدات بـ JSON الذي تعيده موجهات الاستخراج الخاصة بك. عندما تقوم بتبديل النماذج أو يقوم مزود بتحديث شيء ما، فإن إعادة تشغيل المجموعة تخبرك ما إذا كان مسار الرؤية لا يزال يعمل بدلاً من تركك لتكتشف ذلك من المستخدم.
الأسئلة الشائعة
هل يدعم GLM-5.3 الصور أيضًا؟ ليس بشكل أصلي. يوجه GLM-5.3 الرؤية عبر محولات منفصلة. Flash هو النموذج الأصلي متعدد الوسائط، والذي يتم تغطيته في مقارنتنا.
كم عدد الصور لكل طلب؟ متعددة، كل منها ككتلة image_url خاصة بها. الحد العملي هو ميزانية السياق الخاصة بك.
عنوان URL أم base64؟ كلاهما يعمل. استخدم عنوان URL عامًا عندما تكون الصورة مستضافة بالفعل ويمكن الوصول إليها؛ استخدم base64 للصور المحلية أو الخاصة.
هل يقبل الفيديو؟ توثق Z.ai إدخال الفيديو، ولكنه جديد وممارس بشكل خفيف. تحقق منه مقابل الوسائط الخاصة بك ومزودك أولاً.
هل يتم محاسبة الصور بشكل مختلف؟ لا توجد رسوم إضافية. تستهلك رموز الإدخال، لذا تؤثر الدقة على التكلفة.
