Skip to content

دعم الذكاء الاصطناعي

دمج نماذج اللغة الكبيرة للمساعدة الذكية في التعليق التوضيحي.

دعم الذكاء الاصطناعي

يتضمن Potato 2.0 دعماً مدمجاً لنماذج اللغة الكبيرة (LLMs) لمساعدة المعلّقين بتلميحات ذكية وتمييز الكلمات المفتاحية واقتراحات التصنيفات.

مقدّمو الخدمة المدعومون

يدعم Potato عدة مقدّمي خدمة لنماذج اللغة الكبيرة:

مقدّمو الخدمة السحابية:

  • OpenAI (GPT-4، GPT-4 Turbo، GPT-3.5)
  • Anthropic (Claude 3، Claude 3.5)
  • Google (Gemini 1.5 Pro، Gemini 2.0 Flash)
  • Hugging Face
  • OpenRouter

محلي/مستضاف ذاتياً:

  • Ollama (تشغيل النماذج محلياً)
  • vLLM (استدلال مستضاف ذاتياً عالي الأداء)

التهيئة

الإعداد الأساسي

أضف قسم ai_support إلى ملف التهيئة الخاص بك:

yaml
ai_support:
  enabled: true
  endpoint_type: openai
 
  ai_config:
    model: gpt-4
    api_key: ${OPENAI_API_KEY}
    temperature: 0.3
    max_tokens: 500

التهيئة الخاصة بكل مقدّم خدمة

OpenAI

yaml
ai_support:
  enabled: true
  endpoint_type: openai
 
  ai_config:
    model: gpt-4o
    api_key: ${OPENAI_API_KEY}
    temperature: 0.3
    max_tokens: 500

Anthropic Claude

yaml
ai_support:
  enabled: true
  endpoint_type: anthropic
 
  ai_config:
    model: claude-3-sonnet-20240229
    api_key: ${ANTHROPIC_API_KEY}
    temperature: 0.3
    max_tokens: 500

Google Gemini

yaml
ai_support:
  enabled: true
  endpoint_type: google
 
  ai_config:
    model: gemini-1.5-pro
    api_key: ${GOOGLE_API_KEY}

Ollama المحلي

yaml
ai_support:
  enabled: true
  endpoint_type: ollama
 
  ai_config:
    model: llama2
    base_url: http://localhost:11434

vLLM (مستضاف ذاتياً)

yaml
ai_support:
  enabled: true
  endpoint_type: vllm
 
  ai_config:
    model: meta-llama/Llama-2-7b-chat-hf
    base_url: http://localhost:8000/v1

نقاط نهاية الذكاء الاصطناعي المرئي

جديد في الإصدار v2.1.0

لمهام التعليق التوضيحي للصور والفيديو، يدعم Potato نقاط نهاية رؤية مخصصة تشمل YOLO وOllama Vision وOpenAI Vision وAnthropic Vision. تتيح هذه كشف الكائنات والتعليق التوضيحي المسبق والتصنيف المرئي.

راجع دعم الذكاء الاصطناعي المرئي لتفاصيل التهيئة الكاملة.

ميزات الذكاء الاصطناعي

يوفر دعم الذكاء الاصطناعي في Potato خمس قدرات رئيسية:

1. التلميحات الذكية

تقديم إرشادات سياقية للمعلّقين دون الكشف عن الإجابة:

yaml
ai_support:
  enabled: true
  endpoint_type: openai
 
  ai_config:
    model: gpt-4
    api_key: ${OPENAI_API_KEY}
 
  # Hints appear as tooltips or sidebars
  features:
    hints:
      enabled: true

2. تمييز الكلمات المفتاحية

تمييز الكلمات المفتاحية ذات الصلة تلقائياً في النص:

yaml
ai_support:
  enabled: true
  endpoint_type: openai
 
  ai_config:
    model: gpt-4
    api_key: ${OPENAI_API_KEY}
 
  features:
    keyword_highlighting:
      enabled: true
      # Highlights are rendered as box overlays on the text

3. اقتراحات التصنيفات

اقتراح تصنيفات لنظر المعلّق (تُعرض مع مؤشرات الثقة):

yaml
ai_support:
  enabled: true
  endpoint_type: openai
 
  ai_config:
    model: gpt-4
    api_key: ${OPENAI_API_KEY}
 
  features:
    label_suggestions:
      enabled: true
      show_confidence: true

4. مبررات التصنيفات

جديد في الإصدار v2.1.0

توليد شروحات متوازنة لسبب إمكانية تطبيق كل تصنيف على النص، مما يساعد المعلّقين على فهم المنطق وراء التصنيفات المختلفة:

yaml
ai_support:
  enabled: true
  endpoint_type: openai
 
  ai_config:
    model: gpt-4
    api_key: ${OPENAI_API_KEY}
 
  features:
    rationales:
      enabled: true

تظهر المبررات كتلميح يسرد كل تصنيف متاح مع شرح لسبب إمكانية تطبيقه. هذا مفيد لتدريب المعلّقين أو عندما تكون قرارات التعليق التوضيحي صعبة.

5. تمييز الخيارات

جديد في الإصدار v2.2.0

تمييز الخيارات الأكثر احتمالاً للصحة بمساعدة الذكاء الاصطناعي لمهام التعليق التوضيحي المنفصلة (radio، multiselect، likert، select). يحلل النظام المحتوى ويميّز أعلى k خيارات محتملة مع تعتيم الأقل احتمالاً، مع الإبقاء على جميع الخيارات قابلة للنقر.

yaml
ai_support:
  enabled: true
  endpoint_type: openai
 
  ai_config:
    model: gpt-4o-mini
    api_key: ${OPENAI_API_KEY}
 
  option_highlighting:
    enabled: true
    top_k: 3
    dim_opacity: 0.4
    auto_apply: true

راجع تمييز الخيارات لتفاصيل التهيئة الكاملة.

تكميلي: الترتيب المتنوع

جديد في الإصدار v2.2.0

رغم أنها ليست ميزة ذكاء اصطناعي بالمعنى الدقيق، يستخدم الترتيب المتنوع تضمينات sentence-transformer لتجميع العناصر وتقديمها بترتيب متنوع، مما يقلل إرهاق المعلّق ويحسّن التغطية. يتكامل مع دعم الذكاء الاصطناعي عن طريق الجلب المسبق التلقائي لتلميحات الذكاء الاصطناعي للعناصر المعاد ترتيبها.

التخزين المؤقت والأداء

يمكن تخزين استجابات الذكاء الاصطناعي مؤقتاً لتحسين الأداء وتقليل تكاليف API:

yaml
ai_support:
  enabled: true
  endpoint_type: openai
 
  ai_config:
    model: gpt-4
    api_key: ${OPENAI_API_KEY}
 
  cache_config:
    disk_cache:
      enabled: true
      path: "ai_cache/cache.json"
 
    # Pre-generate hints on startup and prefetch upcoming
    prefetch:
      warm_up_page_count: 100
      on_next: 5
      on_prev: 2

استراتيجيات التخزين المؤقت

  1. التسخين: توليد تلميحات الذكاء الاصطناعي مسبقاً لدفعة أولية من الحالات عند بدء تشغيل الخادم (warm_up_page_count)
  2. الجلب المسبق: توليد تلميحات للحالات القادمة أثناء تنقل المعلّقين للأمام (on_next) أو للخلف (on_prev)
  3. الاستمرارية على القرص: يتم حفظ ذاكرة التخزين المؤقت على القرص وتستمر عبر عمليات إعادة تشغيل الخادم

الأوامر المخصصة

يتضمن Potato أوامر افتراضية لكل نوع تعليق توضيحي، مخزنة في potato/ai/prompt/. يمكنك تخصيصها لمهمتك المحددة:

نوع التعليق التوضيحيملف الأمر
أزرار الاختيارradio_prompt.txt
مقاييس ليكرتlikert_prompt.txt
مربعات الاختيارcheckbox_prompt.txt
تعليق النطاقspan_prompt.txt
أشرطة التمريرslider_prompt.txt
القوائم المنسدلةdropdown_prompt.txt
إدخال الأرقامnumber_prompt.txt
إدخال النصtext_prompt.txt

تدعم الأوامر استبدال المتغيرات:

  • {text} - نص المستند
  • {labels} - التصنيفات المتاحة للمخطط
  • {description} - وصف المخطط

دعم المخططات المتعددة

للمهام التي تحتوي على مخططات تعليق توضيحي متعددة، يمكنك تفعيل دعم الذكاء الاصطناعي بشكل انتقائي:

yaml
ai_support:
  enabled: true
  endpoint_type: openai
 
  ai_config:
    model: gpt-4
    api_key: ${OPENAI_API_KEY}
 
  # Only enable for specific schemes
  special_include:
    - page: 1
      schema: sentiment
    - page: 1
      schema: topics

مثال كامل

تهيئة كاملة لتحليل المشاعر بمساعدة الذكاء الاصطناعي:

yaml
annotation_task_name: "AI-Assisted Sentiment Analysis"
task_dir: "."
port: 8000
 
data_files:
  - "data/reviews.json"
 
item_properties:
  id_key: id
  text_key: text
 
annotation_schemes:
  - annotation_type: radio
    name: sentiment
    description: "What is the sentiment of this review?"
    labels:
      - Positive
      - Negative
      - Neutral
 
ai_support:
  enabled: true
  endpoint_type: openai
 
  ai_config:
    model: gpt-4
    api_key: ${OPENAI_API_KEY}
    temperature: 0.3
    max_tokens: 500
 
  features:
    hints:
      enabled: true
    keyword_highlighting:
      enabled: true
      # Highlights are rendered as box overlays on the text
    label_suggestions:
      enabled: true
      show_confidence: true
 
  cache_config:
    disk_cache:
      enabled: true
      path: "ai_cache/cache.json"
    prefetch:
      warm_up_page_count: 50
      on_next: 3
      on_prev: 2
 
output_annotation_dir: "output/"
output_annotation_format: "json"
allow_all_users: true

متغيرات البيئة

قم بتخزين مفاتيح API بأمان باستخدام متغيرات البيئة:

bash
export OPENAI_API_KEY="sk-..."
export ANTHROPIC_API_KEY="sk-ant-..."
export GOOGLE_API_KEY="..."

أشِر إليها في تهيئتك باستخدام صيغة ${VARIABLE_NAME}.

اعتبارات التكلفة

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

أفضل الممارسات

  1. استخدم الذكاء الاصطناعي كمساعد، لا كبديل - دع المعلّقين يتخذون القرارات النهائية
  2. فعّل التخزين المؤقت للإنتاج - يقلل زمن الاستجابة والتكاليف
  3. اختبر الأوامر بدقة - يجب التحقق من صحة الأوامر المخصصة
  4. راقب تكاليف API - تتبع الاستخدام خاصةً مع مقدّمي الخدمة السحابية
  5. فكّر في مقدّمي الخدمة المحليين - Ollama أو vLLM للتعليق التوضيحي بكميات كبيرة
  6. احمِ بيانات اعتماد API - استخدم متغيرات البيئة، ولا تلتزم المفاتيح أبداً

قراءات إضافية

للاطلاع على تفاصيل التنفيذ وقوالب الأوامر المخصصة، راجع الوثائق المصدرية.