یک عامل هوش مصنوعی می‌تواند یک نمودار در PDF یا صفحه‌ای اسکن‌شده بدون لایه متن را بخواند، به شرطی که صفحه ابتدا به تصویر رندر شود. سرور GroupDocs.Viewer.Mcp این رندر را به‌صورت محلی بر روی دستگاه شما انجام می‌دهد و PNG را به Claude، Cursor یا GitHub Copilot می‌سپارد و یک مدل دارای قابلیت بینایی تصویر را می‌خواند:

در صفحه ۷ گزارش سالانه یک نمودار درآمد وجود دارد. اعداد هر فصل چه بودند؟

نسخه گام‌به‌گام با پیکربندی و عیب‌یابی در مستندات موجود است: چگونه یک عامل هوش مصنوعی بتواند نمودارها، دیاگرام‌ها و صفحات اسکن‌شده را بخواند.

وضعیت: پاسخ فقط به‌صورت تصویر موجود است

شما یک گزارش سالانه را باز می‌کنید و عدد مورد نیاز شما ارتفاع یک میله است. قراردادی که از اسکنر آمده را باز می‌کنید و PDF هیچ متنی قابل انتخاب ندارد. اسلایدی را باز می‌کنید که تصمیم در آن یک پیکان دیاگرام است. عاملی که بر روی متن استخراج‌شده کار می‌کند در هیچ‌یک از این سه مورد چیزی پیدا نمی‌کند، زیرا کاراکتری برای استخراج وجود ندارد. اطلاعات واقعی است و به‌صورت رسم شده موجود است.

عامل می‌تواند چه چیزی را از یک صفحه رندر شده بخواند؟

  • نمودارها و گراف‌ها. مقادیر، روندها، برچسب‌ها و افسانه‌ها.
  • صفحات اسکن‌شده. یک PDF ساخته‌شده توسط اسکنر، تصویر یک صفحه است. تصویر تنها راه ورود است.
  • مهرها، امضاها و دست‌خط. آیا صفحه امضا شده است و مهر چه می‌گوید.
  • سوالات چیدمان. «آیا لوگو در هدر قرار دارد؟» یا «آیا این اسلاید بیش از حد پر شده است؟»

هر یک از این‌ها سؤالی درباره ظاهر صفحه است. یک تصویر رندر شده به‌طور مستقیم به آن‌ها پاسخ می‌دهد.

گام ۱: یافتن صفحه بدون رندر کردن سند

یک گزارش طولانی نباید به‌صورت کامل رندر شود تا یک نمودار پیدا شود. از عامل بخواهید صفحه را به‌صورت کم‌هزینه پیدا کند:

گزارش چند صفحه دارد؟ صفحه فهرست مطالب را رندر کنید و به من بگویید نمودار درآمد در کجا قرار دارد.

عامل متد get_view_info را فراخوانی می‌کند تا تعداد صفحات را بداند، سپس render_page را برای صفحه فهرست مطالب اجرا می‌کند. این دو فراخوانی کوچک به‌جای پنجاه رندر است. هر صفحه رندر شده به‌صورت PNG درون‌خطی برگردانده می‌شود که معمولاً چند صد کیلوبایت است، بنابراین صرفه‌جویی واقعی است.

گام ۲: رندر صفحه و خواندن آن

با دانستن شماره صفحه، عامل render_page را برای آن صفحه فراخوانی می‌کند و تصویر را به مدل می‌سپارد. تصویر همچنین به‌صورت <name>_page<N>.png ذخیره می‌شود، بنابراین می‌توانید همان تصویر را خودتان باز کنید و با پاسخ مقایسه کنید.

گام ۳: بپرسید مدل چقدر مطمئن است

نمودار درآمد در صفحه ۷ را بخوانید. بگویید کدام مقادیر را با اطمینان می‌دانید و کدام را مجبور به تخمین از ارتفاع میله‌ها شده‌اید.

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

جلسهٔ نمونه

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

You:   On page 7 of annual-report.pdf there is a revenue chart. What were
       the figures for each quarter? Say how sure you are.

Agent: [calls get_view_info on annual-report.pdf, then render_page with page = 7]
       Page 7 of 'annual-report.pdf' Saved to: <output folder>/annual-report_page7.png
       The chart shows [quarterly figures read from the image].
       Values printed on the chart: [list]. Values estimated from bar height: [list].

چرا OCR نیست؟

رندر کردن OCR نیست. OCR تصویر را به متن تبدیل می‌کند؛ این مسیر تصویر را به مدل می‌دهد و اجازه می‌دهد آنچه وجود دارد را تفسیر کند، از جمله بخش‌هایی که متن نیستند. سرور متنی تأییدشده از اسکن تولید نمی‌کند. اگر به لایهٔ متنی قابل جستجو نیاز دارید، آن یک گام جداگانه با ابزار جداگانه‌ای است.

محدودیت‌های صادقانه

  • خواندن یک تفسیر است، نه استخراج. مدل ممکن است عدد کوچک، اسکن کم‌رنگ یا افسانهٔ شلوغ را اشتباه بخواند. رندر کردن اسکن را به متن تأییدشده تبدیل نمی‌کند.
  • مدل باید ورودی تصویر را بپذیرد. با مدل فقط متنی، عامل می‌تواند مسیر PNG ذخیره‌شده را بگذارد، اما نمی‌تواند بگوید نمودار چه می‌گوید.
  • واترمارک ارزیابی. بدون لایسنس، هر صفحه رندر شده یک واترمارک ارزیابی دارد که بر روی صفحه قرار می‌گیرد و می‌تواند جزئیاتی که درخواست کرده‌اید را مخفی کند. یک فرآیند سرور حداکثر ۱۵ سند را باز می‌کند. بپرسید «آیا سرور Viewer لایسنس دارد؟» تا عامل قبل از اعتماد به خواندن، get_license_status را فراخوانی کند.
  • یک صفحه در هر فراخوانی، فقط PNG.
  • تصویر از سرور خارج می‌شود. به عامل شما و مدل آن می‌رود. یک مدل میزبانی‌شده به‌صورت محلی همه چیز را روی دستگاه نگه می‌دارد؛ یک مدل میزبانی‌شده تصویر را به‌عنوان بخشی از گفتگو دریافت می‌کند.

پرسش‌های متداول

آیا Claude می‌تواند یک نمودار در PDF را بخواند؟ Claude می‌تواند یک نمودار را بخواند اگر صفحه به تصویر رندر شود و مدل مورد استفاده تصاویر را بپذیرد. GroupDocs.Viewer.Mcp صفحه را به‌صورت محلی با render_page رندر می‌کند و PNG را به Claude برمی‌گرداند.

PDF اسکن‌شده من متنی ندارد، هوش مصنوعی چگونه می‌تواند آن را بخواند؟ صفحه را به تصویر رندر کنید و تصویر را به یک مدل دارای قابلیت بینایی بدهید. مدل تصویر را می‌خواند نه لایهٔ متن، و خواندن آن باید برای اعداد مهم بررسی شود.

آیا این همان استخراج داده‌ها از تصویر نمودار است؟ نه. مدل آنچه می‌بیند را توصیف و تخمین می‌زند؛ داده‌های دقیق زیرین را برنمی‌گرداند. وقتی مقادیر دقیق مهم هستند، از صفحهٔ گستردهٔ منبع استفاده کنید.

بیشتر بخوانید