Microsoft Agent Framework: Multimodal Agents

عامل‌های چندوجهی (Multimodal agents) فراتر از متن عمل می‌کنند. آن‌ها تصاویر و فایل‌های PDF را پردازش می‌کنند.

چارچوب Microsoft Agent به شما اجازه می‌دهد محتوای غیرمتنی را از طریق یک فراخوانی عامل (agent call) ارسال کنید. می‌توانید از UriContent برای فایل‌های میزبانی‌شده یا از DataContent برای داده‌های باینری محلی استفاده کنید.

این چارچوب می‌تواند انواع مختلفی از فایل‌ها را نمایش دهد. با این حال، قابلیت نمایش با قابلیت پردازش یکسان نیست.

قبل از عرضه محصول، باید سه مورد را بررسی کنید:

  • آیا چارچوب می‌تواند محتوا را نمایش دهد؟
  • آیا آداپتور ارائه‌دهنده (provider adapter) می‌تواند آن محتوا را ارسال کند؟
  • آیا مدل می‌تواند محتوا را برای وظیفه خاص شما درک کند؟

اگر هر بخشی از این زنجیره با شکست مواجه شود، انتزاع (abstraction) نیز شکست می‌خورد.

تصاویر ساده هستند. شما دستورالعمل‌های متنی و یک تصویر ارائه می‌دهید و مدل یک پاسخ متنی می‌دهد. این روش برای موارد زیر به خوبی عمل می‌کند:

  • بررسی‌های رابط کاربری (UI)
  • اولویت‌بندی اسکرین‌شات‌ها (Screenshot triage)
  • بازنویسی یادداشت‌های دست‌نویس
  • توضیح نمودارهای ساده

فایل‌های PDF پیچیده هستند. یک PDF صرفاً یک تصویر بزرگ نیست؛ بلکه شامل متن، جداول، گرافیک‌های برداری و لایه‌ها است.

عبارت «این PDF را بخوان» بسته به ارائه‌دهنده، معانی متفاوتی دارد. برخی مدل‌ها متن را می‌بینند و برخی دیگر چیدمان بصری را مشاهده می‌کنند.

چه زمانی از ورودی بومی (native) PDF استفاده کنیم:

  • سند کوچک است.
  • چیدمان بصری برای پاسخ اهمیت دارد.
  • نیازی به جستجوی مکرر در سند ندارید.

چه زمانی از پیش‌پردازش دستی استفاده کنیم:

  • تعداد زیادی سند را پردازش می‌کنید.
  • به استخراج تکرارپذیر نیاز دارید.
  • به ارجاعات یا شماره صفحات پایدار نیاز دارید.
  • نیاز به کنترل هزینه‌ها و تأخیر (latency) دارید.

برای سیستم‌های عملیاتی (production)، «ارسال کل فایل PDF» را به حالت پیش‌فرض خود تبدیل نکنید.

اپلیکیشن باید مسئول مدیریت مرز آپلود باشد. اپلیکیشن باید:

  • کاربر را احراز هویت و مجاز کند.
  • نوع محتوا را اعتبارسنجی کند.
  • فایل‌های ناامن را اسکن کند.
  • فایل اصلی را ذخیره کند.
  • مصنوعات مشتق‌شده مانند متن استخراج‌شده یا تصاویر صفحات را ایجاد کند.

سپس، فقط آنچه را که عامل نیاز دارد ارسال کنید.

اگر کار شما به دقت بالایی مانند OCR یا ساختارهای جدولی نیاز دارد، ابتدا از یک خط لوله (pipeline) پردازش سند استفاده کنید. عامل باید در لایه توضیح قرار بگیرد، نه در لایه استخراج.

به جای دادن دسترسی مستقیم به فایل‌ها به عامل، به آن یک ابزار بدهید. ابزاری مانند InspectDocument به عامل اجازه می‌دهد بدون دستکاری زیرساخت‌های خام، اطلاعات را درخواست کند.

در نهایت، همه چیز را در مورد پردازش فایل ثبت (log) کنید. فقط پاسخ را ثبت نکنید؛ بلکه مدل، اندازه فایل، تعداد صفحات و مسیر پیش‌پردازش را نیز ثبت کنید. بدون این کار، عیب‌یابی یک وظیفه بینایی (vision task) شکست‌خورده غیرممکن است.

Source: https://dev.to/lukaswalter/microsoft-agent-framework-multimodal-agents-images-pdfs-and-provider-differences-mib

Optional learning community: https://t.me/GyaanSetuAi