ساخت ربات تلگرام برای تحلیل تصویر با GPT-4o Vision و OCR

ساخت ربات تلگرام برای تحلیل تصویر با GPT-4o Vision و OCR

8 دقیقه مطالعه · منتشر شده ۱۴۰۵/۴/۲۸

دانلود workflow

فایل JSON آماده import در n8n — credentialها باید در n8n شما تنظیم شوند.

  1. فایل JSON را دانلود کنید.
  2. در n8n: Workflows → Import from File.
  3. Credentialهای هر node را متصل کنید.
  4. workflow را فعال کنید.

شناسه workflow: 8185 · منبع: کاتالوگ Axeto

تحلیل تصاویر و استخراج متن با GPT-4o Vision و تلگرام

این گردش کار نحوه ساخت یک ربات تلگرام را نشان می‌دهد که می‌تواند تصاویر را دریافت کند، محتوای آن‌ها را با استفاده از GPT-4o Vision از طریق AIMLAPI تحلیل کند، متن قابل مشاهده را استخراج کند (OCR) و خلاصه‌ای را به کاربر بازگرداند. این گردش کار برای وظایفی که نیاز به درک تصویر و استخراج متن مستقیماً از طریق رابط چت دارند، ایده‌آل است.

این گردش کار و موارد دیگر را در کاتالوگ n8n در Axeto.ai کاوش کنید.

نمای کلی گردش کار

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

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

2. بهبود تجربه کاربری: در حین پردازش درخواست توسط ربات، نشانگر "در حال تایپ..." را به کاربر ارسال می‌کند.

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

4. کدگذاری تصویر: تصویر دانلود شده را به یک رشته کدگذاری شده base64 تبدیل می‌کند که برای ارسال به API مناسب است.

5. پردازش هوش مصنوعی: تصویر کدگذاری شده و یک پرامپت را به نقطه پایانی GPT-4o Vision در AIMLAPI برای تحلیل و استخراج متن ارسال می‌کند.

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

تشریح گره به گره

۱. دریافت پیام تلگرام

  • گره: Telegram Trigger
  • هدف: این نقطه ورود گردش کار است. پیام‌های جدید را در ربات تلگرام پیکربندی شده شما گوش می‌دهد. chat.id را برای پاسخ‌دهی و file_id آخرین عکس ارسال شده در پیام را استخراج می‌کند.
  • پیکربندی:

* برای گوش دادن به به‌روزرسانی‌های message تنظیم شده است.

* هیچ فیلتر خاصی اعمال نمی‌شود و تمام پیام‌های ورودی را دریافت می‌کند.

  • ورودی: پیام‌های ورودی تلگرام.
  • خروجی: داده‌های JSON حاوی جزئیات پیام، از جمله chat.id و آرایه message.photo.
  • مشکلات احتمالی: عدم وجود عکس در پیام، مشکلات اتصال به API تلگرام، یا پیکربندی نادرست webhook.

۲. شبیه‌سازی نشانگر تایپ

  • گره: Telegram (عملیات: sendChatAction)
  • هدف: با ارسال وضعیت "در حال تایپ..." به چت تلگرام، تجربه کاربری را بهبود می‌بخشد و نشان می‌دهد که ربات در حال پردازش فعال درخواست است.
  • پیکربندی:

* عملیات: sendChatAction

* اقدام: typing

* شناسه چت: به صورت پویا با استفاده از یک عبارت برای ارجاع به chat.id از گره Telegram Trigger تنظیم شده است.

  • ورودی: خروجی از گره Telegram Trigger.
  • خروجی: تأیید ارسال اقدام چت.
  • مشکلات احتمالی: chat.id نامعتبر، محدودیت‌های نرخ API تلگرام، یا مشکلات سهمیه.

۳. دریافت عکس از تلگرام

  • گره: Telegram (عملیات: file resource)
  • هدف: فایل تصویر واقعی را با استفاده از file_id به دست آمده از تریگر، از سرورهای تلگرام دانلود می‌کند.
  • پیکربندی:

* fileId: از ویژگی file_id آخرین عنصر در آرایه message.photo از گره تریگر استخراج شده است.

* نوع MIME: روی image/jpeg تنظیم شده است.

  • ورودی: خروجی از گره "شبیه‌سازی نشانگر تایپ".
  • خروجی: داده‌های باینری تصویر دانلود شده.
  • مشکلات احتمالی: file_id نامعتبر یا منقضی شده، خطاهای هنگام بازیابی فایل از تلگرام، یا مشکلات اتصال شبکه.

۴. تبدیل به Base64

  • گره: Extract From File
  • هدف: داده‌های باینری تصویر را به یک رشته کدگذاری شده base64 تبدیل می‌کند، که یک فرمت رایج برای ارسال داده‌ها در درخواست‌های API است.
  • پیکربندی:

* عملیات: binaryToProperty

* این گره رشته base64 را استخراج کرده و آن را در یک ویژگی JSON (به عنوان مثال، data) قرار می‌دهد.

  • ورودی: داده‌های باینری تصویر از گره "دریافت عکس از تلگرام".
  • خروجی: شیء JSON حاوی رشته تصویر کدگذاری شده base64.
  • مشکلات احتمالی: داده‌های باینری خراب یا خطاهای در طول فرآیند تبدیل.

۵. ساخت Data URI

  • گره: Code (JavaScript)
  • هدف: یک رشته Data URI در فرمت data:[MIME type];base64,[base64 string] می‌سازد. این فرمت توسط بسیاری از APIهای هوش مصنوعی، از جمله نقطه پایانی GPT-4o Vision در AIMLAPI مورد نیاز است. همچنین نوع MIME را به image/jpeg نرمال می‌کند، زیرا تلگرام گاهی اوقات image/jpg را ارائه می‌دهد.
  • پیکربندی:

* کد، رشته base64 را از خروجی گره قبلی می‌خواند.

* رشته کامل Data URI را می‌سازد.

  • ورودی: شیء JSON حاوی رشته base64 از گره "تبدیل به Base64".
  • خروجی: شیء JSON حاوی رشته Data URI ساخته شده (به عنوان مثال، dataUri).
  • مشکلات احتمالی: رشته base64 گم شده یا بدشکل، یا خطاهای در منطق کد جاوا اسکریپت.

۶. تحلیل GPT-4o Vision در AIMLAPI

  • گره: HTTP Request
  • هدف: یک درخواست POST به نقطه پایانی API GPT-4o Vision در AIMLAPI ارسال می‌کند. این گره تصویر (از طریق Data URI) و یک پرامپت برای درخواست توضیحات و استخراج متن را ارسال می‌کند.
  • پیکربندی:

* URL: https://api.aimlapi.com/v1/chat/completions

* متد: POST

* احراز هویت: از اعتبارنامه‌های "حساب AI/ML" پیکربندی شده خود استفاده کنید که باید شامل کلید API و URL پایه شما باشد.

* بدنه:

* model: openai/gpt-4o

* messages: آرایه‌ای حاوی یک پیام کاربر با شیء image_url (با استفاده از Data URI از مرحله قبل) و دستورالعمل‌های پرامپت شما.

* max_tokens: روی 300 تنظیم شده است (یا در صورت نیاز تنظیم کنید).

* تلاش‌های مجدد برای استحکام فعال شده‌اند.

  • ورودی: Data URI از گره "ساخت Data URI".
  • خروجی: پاسخ JSON از AIMLAPI حاوی تحلیل هوش مصنوعی (توضیحات و متن استخراج شده).
  • مشکلات احتمالی: خطاهای احراز هویت API، مهلت زمانی شبکه، تجاوز از محدودیت‌های نرخ API یا محدودیت‌های توکن، یا یک payload درخواست با فرمت نادرست.

۷. ارسال پاسخ به تلگرام

  • گره: Telegram (عملیات: sendMessage)
  • هدف: توضیحات تولید شده توسط هوش مصنوعی و متن استخراج شده را به عنوان یک پاسخ در چت تلگرام به کاربر ارسال می‌کند.
  • پیکربندی:

* متن: محتوای پاسخ هوش مصنوعی را از choices[0].message.content در پاسخ AIMLAPI استخراج می‌کند. در صورت خالی بودن محتوا، متن جایگزین را شامل می‌شود.

* شناسه چت: از chat.id از گره اصلی Telegram Trigger استفاده می‌کند.

* شناسه پیام پاسخ: برای پاسخ مستقیم به پیام اصلی کاربر تنظیم شده است.

* غیرفعال کردن پیش‌نمایش وب: برای تمیز نگه داشتن پاسخ فعال شده است.

  • ورودی: JSON پاسخ AIMLAPI از گره "تحلیل GPT-4o Vision در AIMLAPI".
  • خروجی: تأیید ارسال موفقیت‌آمیز پیام.
  • مشکلات احتمالی: chat.id یا message.id نامعتبر، محدودیت‌های نرخ API تلگرام، یا قطعی سرویس.

جدول خلاصه

نام گرهنوع گرهنقش عملکردیگره(های) ورودیگره(های) خروجی
۱. دریافت پیام تلگرامTelegram Triggerدریافت ورودی از تلگرامندارد۲. شبیه‌سازی نشانگر تایپ
۲. شبیه‌سازی نشانگر تایپTelegramتجربه کاربری: وضعیت تایپ۱. دریافت پیام تلگرام۳. دریافت عکس از تلگرام
۳. دریافت عکس از تلگرامTelegramبازیابی فایل عکس از تلگرام۲. شبیه‌سازی نشانگر تایپ۴. تبدیل به Base64
۴. تبدیل به Base64Extract From Fileتبدیل باینری به رشته base64۳. دریافت عکس از تلگرام۵. ساخت Data URI
۵. ساخت Data URICode (JavaScript)نرمال‌سازی MIME و ساخت URI۴. تبدیل به Base64۶. تحلیل GPT-4o Vision در AIMLAPI
۶. تحلیل GPT-4o Vision در AIMLAPIHTTP Requestتحلیل تصویر و OCR هوش مصنوعی۵. ساخت Data URI۷. ارسال پاسخ به تلگرام
۷. ارسال پاسخ به تلگرامTelegramارسال پاسخ هوش مصنوعی به کاربر۶. تحلیل GPT-4o Vision در AIMLAPIندارد

بازتولید گردش کار

1. ایجاد یک ربات تلگرام:

* با @BotFather در تلگرام تعامل کنید.

* دستورالعمل‌ها را برای ایجاد یک ربات جدید و دریافت توکن API خود دنبال کنید.

2. راه‌اندازی اعتبارنامه‌های AIMLAPI:

* در AIMLAPI ثبت نام کنید.

* کلید API خود را دریافت کنید.

3. پیکربندی n8n:

* در n8n، یک گردش کار جدید ایجاد کنید.

* گره‌ها را همانطور که در بالا توضیح داده شد، اضافه کنید.

* گره‌های تلگرام: گره‌های تلگرام را با استفاده از توکن API ربات خود پیکربندی کنید. ممکن است برای دریافت پیام‌ها در زمان واقعی، نیاز به راه‌اندازی یک webhook برای گره تریگر داشته باشید.

* گره HTTP Request: گره HTTP Request را با URL AIMLAPI، متد و جزئیات احراز هویت با استفاده از کلید AIMLAPI خود پیکربندی کنید.

* گره Code: کد جاوا اسکریپت را برای ساخت Data URI پیاده‌سازی کنید.

* گره Extract From File: برای استخراج داده‌های باینری به یک ویژگی پیکربندی کنید.

4. اتصال گره‌ها: گره‌ها را در توالی صحیح همانطور که در تشریح آمده است، پیوند دهید.

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

Nodeهای استفاده‌شده

سوالات متداول

این گردش کار n8n چه کاری انجام می‌دهد؟

این گردش کار یک ربات تلگرام را راه‌اندازی می‌کند که می‌تواند تصاویر را دریافت کند، محتوای آن‌ها را با استفاده از GPT-4o Vision تحلیل کند، متن قابل مشاهده را استخراج کند (OCR) و خلاصه‌ای از تحلیل را به کاربر بازگرداند.

چه ابزارهایی برای ساخت این ربات لازم است؟

شما به n8n، یک حساب تلگرام برای ربات خود، و دسترسی به API هوش مصنوعی (مانند AIMLAPI برای GPT-4o Vision) نیاز دارید.

چگونه ربات تصاویر را پردازش می‌کند؟

ربات ابتدا تصویر را از تلگرام دریافت کرده، آن را به فرمت base64 کدگذاری می‌کند، سپس این داده‌ها را به همراه یک پرامپت به نقطه پایانی GPT-4o Vision ارسال می‌کند تا تحلیل و استخراج متن انجام شود.

آیا این گردش کار می‌تواند متن را از تصاویر استخراج کند؟

بله، این گردش کار از قابلیت‌های OCR GPT-4o Vision برای استخراج متن قابل مشاهده از تصاویر استفاده می‌کند.

workflowهای مرتبط

این workflow در کاتالوگ Axeto.ai بایگانی شده است. لایسنس اصلی متعلق به سازنده workflow است.