0Pricing
AI Prompt Engineering · درس

مطالبات مقارنة صور متعددة

قارنوا صورتين أو أكثر: الاختلافات والتشابهات والتغيرات عبر الزمن

مطالبات مقارنة صور متعددة درس مجاني في AI Prompt Engineering على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في AI Prompt Engineering، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة AI Prompt Engineering 4 دروس في المجموع.

مطالبات متعددة الصور

يمكن لنماذج الرؤية معالجة عدة صور في استدعاء واحد لـ API. ويتيح ذلك تنفيذ مهام مقارنة قوية:

  • تحليل قبل/بعد (صور المنتجات، وتجديد الغرف، والتصوير الطبي)
  • مقارنة إصدارات المنتج (خيارات الألوان، ومقارنة الأحجام)
  • مقارنة الجودة (اختيار أفضل صورة لإدراجها)
  • اكتشاف التغييرات (إصداران من مستند، أو صورتان تحملان طابعًا زمنيًا)

تتطلب المطالبات متعددة الصور بنية دقيقة حتى يعرف النموذج أي صورة هي المقصودة والعلاقة التي يجب تحليلها.

إرسال عدة صور في استدعاء واحد

تقبل API صورًا متعددة على هيئة قائمة من عناصر المحتوى. ضع تسمية واضحة لكل صورة:

import anthropic, base64

client = anthropic.Anthropic(api_key='YOUR_API_KEY')

def compare_images(image_path_1, image_path_2, comparison_prompt):
    def encode(path):
        with open(path, 'rb') as f:
            return base64.standard_b64encode(f.read()).decode('utf-8')

    r = client.messages.create(
        model='claude-opus-4-5', max_tokens=600,
        messages=[{'role': 'user', 'content': [
            {'type': 'text', 'text': 'IMAGE 1:'},
            {'type': 'image', 'source': {'type': 'base64', 'media_type': 'image/jpeg', 'data': encode(image_path_1)}},
            {'type': 'text', 'text': 'IMAGE 2:'},
            {'type': 'image', 'source': {'type': 'base64', 'media_type': 'image/jpeg', 'data': encode(image_path_2)}},
            {'type': 'text', 'text': comparison_prompt}
        ]}]
    )
    return r.content[0].text

print('Multi-image comparison function defined.')

مطالبة مقارنة منتجين

مقارنة صورتين لمنتجين في تطبيق موجّه إلى المستهلك:

product_comparison_prompt = '''
Compare the two product images above (Image 1 and Image 2).

Analyze each of the following dimensions:

1. SIMILARITIES: What features, design elements, or characteristics do both products share?

2. DIFFERENCES: What are the key visual differences? Focus on:
   - Color and finish
   - Size and proportions (estimate if possible)
   - Design style (minimalist, ornate, modern, traditional)
   - Materials (if discernible)
   - Quality indicators

3. QUALITY ASSESSMENT: Which image appears to show a higher-quality product, and why?
   Rate each product 1-10 for apparent quality.

4. USE CASE: Based on appearance alone, which product seems better suited for:
   a) Professional/office use
   b) Home/casual use

Return your response in this format exactly.
'''

print(product_comparison_prompt)

مقارنة قبل وبعد

يجب أن تحدد مطالبات قبل/بعد صراحةً أي صورة تمثل كل مرحلة، وما سياق التحول:

before_after_prompt = '''
You are looking at two images: a BEFORE image (Image 1) and an AFTER image (Image 2).

Analyze the transformation:

1. WHAT CHANGED: List all visible changes from Before to After
2. WHAT STAYED THE SAME: List elements that are unchanged
3. QUALITY IMPROVEMENT: Rate the improvement on a scale of 1-10 (1=no improvement, 10=dramatic improvement)
4. REMAINING ISSUES: What could still be improved that the transformation did not address?

Context: This is a [CONTEXT_PLACEHOLDER] before/after comparison.

Return JSON:
{
  "changes": ["string"],
  "unchanged": ["string"],
  "improvement_score": 1-10,
  "remaining_issues": ["string"],
  "summary": "one sentence summary"
}
'''

# Use contexts: room renovation, product refurbishment, skin care treatment, document cleanup
print('Before/after prompt with JSON output defined.')

اختيار الصورة الأفضل

اختيار أفضل صورة من عدة خيارات — وهو مفيد في سير عمل التجارة الإلكترونية ووسائل التواصل الاجتماعي والنشر:

import anthropic, base64, json

client = anthropic.Anthropic(api_key='YOUR_API_KEY')

def select_best_photo(image_paths, use_case='e-commerce product listing'):
    def encode(path):
        with open(path, 'rb') as f:
            return base64.standard_b64encode(f.read()).decode('utf-8')

    content = []
    for i, path in enumerate(image_paths):
        content.append({'type': 'text', 'text': f'IMAGE {i+1}:'})
        content.append({'type': 'image', 'source': {'type': 'base64', 'media_type': 'image/jpeg', 'data': encode(path)}})

    prompt = f'''
You have received {len(image_paths)} images. Select the best one for: {use_case}

Evaluate each on: lighting, composition, clarity, and suitability for the use case.
Return JSON: {{"best_image": 1-{len(image_paths)}, "score_breakdown": [{{"image_id": int, "score": 1-10, "reason": str}}]}}
'''
    content.append({'type': 'text', 'text': prompt})

    r = client.messages.create(model='claude-opus-4-5', max_tokens=300, messages=[{'role': 'user', 'content': content}])
    return json.loads(r.content[0].text)

print('Photo selection function defined.')

مطالبة اكتشاف التغييرات

اكتشاف تغييرات محددة بين إصدارين من الصورة نفسها — وهو مفيد لإدارة إصدارات المستندات، ومراجعة تصميم واجهات المستخدم، والمراقبة:

change_detection_prompt = '''
Compare Image 1 (version A) with Image 2 (version B) of the same item.

Identify ALL changes, no matter how small.
For each change:
- Describe what changed
- Where in the image the change occurs (use quadrant: top-left, top-right, bottom-left, bottom-right, center)
- Classify the change: addition, removal, modification, movement

Return JSON:
{
  "total_changes": int,
  "changes": [
    {
      "description": str,
      "location": str,
      "type": "addition|removal|modification|movement"
    }
  ],
  "is_significant_change": true | false
}

If the images appear identical, return: {"total_changes": 0, "changes": [], "is_significant_change": false}
'''

print(change_detection_prompt)

مقارنة تصميم A/B

مقارنة إصدارين من التصميم بموضوعية — وهو مفيد لاتخاذ قرارات UI/UX وتحديد التوجه الإبداعي:

design_comparison_prompt = '''
You are an experienced UX designer reviewing two design variants (Image 1 = Design A, Image 2 = Design B).

Evaluate both designs on:

1. VISUAL HIERARCHY: Which design guides the eye more effectively? Why?
2. READABILITY: Which has better text legibility and information density?
3. BRAND CONSISTENCY: Which feels more professional and polished?
4. USABILITY: Which would be easier for a new user to navigate?
5. EMOTIONAL IMPACT: Which creates a stronger positive first impression?

For each dimension, declare a winner (A or B) and explain in one sentence.

Final verdict: Return JSON:
{
  "winner": "A|B|tie",
  "dimension_winners": {"visual_hierarchy": str, "readability": str, "brand": str, "usability": str, "emotional": str},
  "winning_reasons": [str],
  "recommendation": str
}
'''

print('Design comparison prompt defined.')

تسجيل درجات التشابه المنظّمة

بالنسبة إلى مسارات المعالجة المؤتمتة، أخرج درجات تشابه رقمية بين الصور:

similarity_prompt = '''
Compare these two images and provide a structured similarity analysis.

Return JSON:
{
  "overall_similarity": 0.0-1.0,
  "dimensions": {
    "subject_match": 0.0-1.0,
    "color_match": 0.0-1.0,
    "composition_match": 0.0-1.0,
    "style_match": 0.0-1.0
  },
  "key_differences": [str],
  "are_same_item": true | false | "cannot_determine"
}

Scoring: 1.0 = identical, 0.0 = completely different.
'''

import json
def similarity_score(image_path_1, image_path_2):
    result_text = compare_images(image_path_1, image_path_2, similarity_prompt)
    return json.loads(result_text)

print('Similarity scoring function defined.')
print('Use case: duplicate detection, product matching, visual search.')

التعامل مع أكثر من صورتين

عند التعامل مع ثلاث صور أو أكثر، صمّم المطالبة بحيث تستوعب التعقيد الإضافي:

def multi_image_prompt(n_images):
    image_labels = ', '.join(f'Image {i+1}' for i in range(n_images))
    return f'''
You have received {n_images} images: {image_labels}.

Rank all {n_images} images from best to worst for use as a product hero image.
For each image, provide:
- Rank (1=best)
- Score 1-10
- Key strengths
- Key weaknesses

Return JSON:
{{
  "ranking": [
    {{"rank": int, "image_id": int, "score": int, "strengths": [str], "weaknesses": [str]}}
  ],
  "recommended_image": int
}}
'''

# Works for 3, 4, or 5 images
print(multi_image_prompt(3)[:300])

الأخطاء الشائعة في المطالبات متعددة الصور

الأخطاء الشائعة عند العمل مع عدة صور وطرق تجنبها:

  • غياب تسميات الصور: قد يخلط النموذج بين الصور — احرص دائمًا على كتابة النص IMAGE 1: قبل كل صورة
  • غياب إطار للمقارنة: تؤدي المطالبة بالمقارنة دون تحديد الأبعاد إلى إخراج غير مركز — اذكر بالضبط ما يجب مقارنته
  • غياب السياق: تحتاج مطالبات قبل/بعد إلى سياق التحول (تجديد غرفة، وليس مجرد صورتين لغرفة)
  • كثرة الصور: تتدهور الجودة عند استخدام 6 صور أو أكثر — عالج الصور على دفعات من 2 إلى 4
  • نسيان إخراج JSON: يصعب تحليل المقارنة النثرية — اطلب دائمًا إخراج JSON منظّمًا لمسارات المعالجة

تحليل تسلسل الصور زمنيًا

عندما تمثل الصور تسلسلًا زمنيًا (مثل المتابعات الأسبوعية أو تقدم أعمال البناء أو المتابعات الطبية)، يجب أن تحلل مطالبة المقارنة التقدم عبر الزمن صراحةً:

temporal_prompt = '''
You are analyzing a sequence of images taken over time.
Image 1 = earliest, Image 2 = most recent.

Analyze the progression:
1. PROGRESS: What improvements or changes occurred from earliest to most recent?
2. REGRESSION: Any deterioration or negative changes?
3. RATE: Is the rate of change faster, slower, or as expected?
4. TRAJECTORY: Based on the trend, what is the likely state in the next period?

Return JSON:
{
  "progress": [str],
  "regression": [str],
  "change_rate": "faster|on_track|slower|stalled",
  "trajectory": str,
  "next_period_prediction": str
}
'''

print("Temporal sequence analysis prompt defined.")
print("Use cases: fitness progress, construction tracking, medical imaging follow-up.")

تحقق سريع

ما أهم عنصر بنيوي يجب تضمينه في مطالبة مقارنة متعددة الصور؟

مقارنة متعددة الصور — أهم النقاط

تتيح مطالبات مقارنة الصور المتعددة إمكانات قوية للتحليل المرئي:

  • احرص دائمًا على تسمية الصور بوضوح، بكتابة نص قبل كل صورة في مصفوفة المحتوى
  • حدد أبعاد المقارنة — مثل التسلسل البصري والجودة والتشابه — بدلًا من طلب مقارنة عامة
  • تحتاج مطالبات قبل/بعد إلى سياق التحول (ما نوع التغيير الذي حدث؟)
  • استخدم إخراج JSON منظّمًا لمسارات المعالجة — مثل درجات التشابه والقوائم المرتبة واكتشاف التغييرات
  • تُعد مقارنة المنتجات واختيار جودة الصور ومراجعة تصميم A/B حالات استخدام عالية القيمة
  • حافظ على الدفعات عند 2 إلى 4 صور كحد أقصى — إذ تتدهور الجودة مع زيادة العدد
  • يجب أن تصنّف مطالبات اكتشاف التغييرات كل تغيير حسب نوعه: إضافة أو إزالة أو تعديل أو حركة

الأسئلة الشائعة

هل درس «مطالبات مقارنة صور متعددة» مجاني؟

نعم — نص درس «مطالبات مقارنة صور متعددة» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة AI Prompt Engineering، انتقل إلى CoddyKit PRO. تتضمن دورة AI Prompt Engineering 4 دروس في المجموع.

ماذا ستتعلم في «مطالبات مقارنة صور متعددة»؟

قارنوا صورتين أو أكثر: الاختلافات والتشابهات والتغيرات عبر الزمن تتمرن على AI Prompt Engineering مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ AI Prompt Engineering؟

لا تُشترط خبرة سابقة. AI Prompt Engineering على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.

كم من الوقت يستغرق درس «مطالبات مقارنة صور متعددة»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس AI Prompt Engineering هذا؟

نعم. كل درس في AI Prompt Engineering يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. مطالبات وصف الصور وإضافة التعليقات التوضيحية
  2. الإجابة عن الأسئلة المرئية
  3. مطالبات مقارنة صور متعددة
  4. مطالبات OCR وتحليل المستندات
← العودة إلى AI Prompt Engineering