تحلیل مواد غذایی از عکس تلگرام با هوش مصنوعی

تحلیل مواد غذایی از عکس تلگرام با هوش مصنوعی

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

دانلود workflow

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

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

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

تحلیل مواد تشکیل‌دهنده غذا از عکس‌های تلگرام با Gemini و Airtable

این گردش کار، تحلیل اطلاعات مواد تشکیل‌دهنده غذا را از عکس‌های ارسال شده از طریق تلگرام خودکار می‌کند. این سیستم از تشخیص نوری کاراکتر (OCR) برای استخراج متن از برچسب‌های محصول استفاده می‌کند، سپس با استفاده از تطابق تقریبی مبتنی بر هوش مصنوعی، با لیست‌های شخصی‌سازی شده مواد تشکیل‌دهنده "خوب" و "بد" که در Airtable ذخیره شده‌اند، مقایسه می‌کند. سیستم ایمنی محصول را بر اساس قوانین وتوی از پیش تعریف شده تعیین می‌کند و یک تحلیل دقیق را از طریق تلگرام به کاربر بازمی‌گرداند، ضمن اینکه نتایج را برای بایگانی ثبت می‌کند.

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

ساختار گردش کار

گردش کار به بخش‌های کلیدی زیر تقسیم می‌شود:

1. تعامل با تلگرام: دریافت عکس‌ها از کاربران و ارسال نتایج تحلیل.

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

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

4. استخراج متن با OCR: پردازش تصاویر برای استخراج محتوای متنی از برچسب‌ها.

5. تحلیل هوش مصنوعی: استفاده از ایجنت‌های هوش مصنوعی Gemini و LangChain برای تحلیل مواد تشکیل‌دهنده و تعیین ایمنی.

6. پردازش و ثبت نتایج: تجزیه خروجی هوش مصنوعی، ارسال پاسخ‌های تلگرام و ثبت نتایج در Airtable.

7. تکمیل گردش کار: پایان اجرای گردش کار.

---

تشریح گره‌های دقیق

۱. ورودی و خروجی تلگرام

این بخش ارتباط با کاربر از طریق تلگرام را مدیریت می‌کند.

  • Telegram Trigger

* نوع: n8n-nodes-base.telegramTrigger

* نقش: گوش دادن به پیام‌های ورودی تلگرام، به ویژه عکس‌ها، برای شروع گردش کار.

* پیکربندی: برای نظارت بر به‌روزرسانی‌های "پیام" و دانلود خودکار محتوای پیام پیکربندی شده است.

* ورودی: پیام‌های تلگرام از کاربران.

* خروجی: داده‌های پیام، از جمله فراداده عکس.

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

  • Get a file

* نوع: n8n-nodes-base.telegram

* نقش: دانلود عکس با بالاترین وضوح از پیام تلگرام برای پردازش OCR بعدی.

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

* ورودی: شناسه فایل عکس به‌دست‌آمده از Telegram Trigger.

* خروجی: فایل باینری تصویر.

* حالت‌های خطا: فایل یافت نشد، خطاهای دانلود، شناسه‌های فایل منقضی شده.

  • Send a text message

* نوع: n8n-nodes-base.telegram

* نقش: ارسال خلاصه تحلیل با فرمت HTML به کاربر تلگرام.

* پیکربندی: پیام‌ها را به شناسه چت فرستنده اصلی ارسال می‌کند، به پیام اصلی پاسخ می‌دهد و از حالت تجزیه HTML برای قالب‌بندی غنی استفاده می‌کند.

* ورودی: نتایج تجزیه شده هوش مصنوعی، شامل خلاصه و مواد تشکیل‌دهنده شناسایی شده.

* خروجی: تأیید تحویل پیام.

* حالت‌های خطا: خطاهای API تلگرام، شناسه چت نامعتبر، خطاهای قالب‌بندی پیام.

۲. بازیابی داده از Airtable

این بخش داده‌های شخصی را از Airtable برای اطلاع‌رسانی تحلیل هوش مصنوعی واکشی می‌کند.

  • Watchlist

* نوع: n8n-nodes-base.airtable

* نقش: واکشی ورودی‌های مواد تشکیل‌دهنده فعال دسته‌بندی شده به عنوان "Good Stuff" یا "Bad Stuff" از پایگاه Airtable شما.

* پیکربندی: جدول "Watchlist" را جستجو می‌کند و رکوردهایی را که فیلد "Status" آن‌ها روی "Active" تنظیم شده است، فیلتر می‌کند.

* ورودی: توسط Telegram Trigger راه‌اندازی می‌شود.

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

* حالت‌های خطا: خطاهای API Airtable، اعتبارنامه‌های نامعتبر، عدم یافتن رکوردهای مطابق.

  • Preferences

* نوع: n8n-nodes-base.airtable

* نقش: واکشی تنظیمات کاربر، مانند شخصیت هوش مصنوعی و تنظیمات زبان، از Airtable.

* پیکربندی: تمام رکوردها را از جدول "Preferences" یک بار در هر اجرای گردش کار می‌خواند.

* ورودی: خروجی گره Watchlist.

* خروجی: جفت‌های کلید-مقدار نشان‌دهنده تنظیمات (مثلاً "Persona"، "Language").

* حالت‌های خطا: مشکلات API Airtable، کلیدهای تنظیمات گمشده.

۳. تجمیع و آماده‌سازی داده

این گره داده‌ها را برای ساخت اعلان هوش مصنوعی ادغام و قالب‌بندی می‌کند.

  • Data Aggregation

* نوع: n8n-nodes-base.code

* نقش: استخراج تنظیمات شخصیت و زبان، فیلتر کردن مواد تشکیل‌دهنده فعال به لیست‌های مجزا "Bad" و "Good"، و تولید یک شیء JSON تمیز مناسب برای استفاده در اعلان هوش مصنوعی.

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

* متغیرهای کلیدی:

* persona: شخصیت هوش مصنوعی (پیش‌فرض "A helpful assistant").

* language: زبان هدف (پیش‌فرض "English").

* bad_list: لیست مواد تشکیل‌دهنده "Bad" با جداکننده کاما.

* good_list: لیست مواد تشکیل‌دهنده "Good" با جداکننده کاما.

* ورودی: خروجی‌های گره‌های Airtable Watchlist و Preferences.

* خروجی: یک شیء JSON حاوی داده‌های تجمیع شده برای تولید اعلان.

* حالت‌های خطا: کلیدهای ورودی گمشده، مجموعه داده‌های خالی غیرمنتظره، خطاهای عبارت جاوا اسکریپت.

۴. استخراج متن OCR

این بخش بر استخراج متن از تصویر آپلود شده تمرکز دارد.

  • AI OCR Agent

* نوع: @n8n/n8n-nodes-langchain.agent

* نقش: استفاده از اعلان هوش مصنوعی برای استخراج تمام محتوای متنی از فایل تصویر.

* پیکربندی: داده‌های باینری تصویر را به عنوان ورودی می‌گیرد و انتظار خروجی متنی را دارد. اعلان به هوش مصنوعی دستور می‌دهد که "متن کامل را به عنوان خروجی از سند استخراج کن، گویی که در حال خواندن آن بودی."

* ورودی: داده‌های باینری تصویر از گره Get a file.

* خروجی: متن OCR استخراج شده، که معمولاً در فیلد output یافت می‌شود.

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

  • OpenAI Chat Model

* نوع: @n8n/n8n-nodes-langchain.lmChatOpenAi

* نقش: به عنوان مدل پایه تشخیص نوری کاراکتر (OCR) عمل می‌کند. این تنظیم از یک نقطه پایانی سازگار با OpenAI که یک مدل تخصصی OCR را اجرا می‌کند (مانند benhaotang/Nanonets-OCR-s:F16) استفاده می‌کند.

* پیکربندی: به طور خاص برای وظایف OCR پیکربندی شده است، با فرمت پاسخ تنظیم شده روی متن.

* ورودی: داده‌های باینری تصویر از فایل تلگرام.

* خروجی: متن خام OCR.

* حالت‌های خطا: عدم دسترسی به مدل محلی، خطاهای احراز هویت API، مهلت زمانی پردازش.

۵. تحلیل هوش مصنوعی

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

  • AI Agent

* نوع: @n8n/n8n-nodes-langchain.agent

* نقش: انجام تطابق تقریبی مواد تشکیل‌دهنده استخراج شده از طریق OCR با لیست‌های "Bad" و "Good". منطق وتو را اعمال می‌کند و یک نتیجه JSON شامل پیام خلاصه دقیق در قالب HTML تولید می‌کند.

* پیکربندی:

* قالب اعلان به طور پویا شخصیت، زبان، لیست مواد تشکیل‌دهنده و متن OCR را تزریق می‌کند.

* قوانین سختگیرانه: مواد تشکیل‌دهنده "Bad" بر مواد تشکیل‌دهنده "Good" اولویت دارند. یافته‌های متناقض به عنوان "Bad" پرچم‌گذاری می‌شوند. یک محصول تنها در صورتی "Safe" در نظر گرفته می‌شود که هیچ مورد "Bad" شناسایی نشود.

* خروجی: یک شیء JSON شامل detected_bad، detected_good، یک مقدار بولی is_safe و یک رشته HTML summary_msg.

* ورودی: متن OCR از AI OCR Agent و داده‌های تجمیع شده از گره Data Aggregation.

* خروجی: نتیجه تحلیل JSON که در یک فیلد متنی جاسازی شده است.

* حالت‌های خطا: توهمات هوش مصنوعی، خروجی JSON نامعتبر، خطاهای تزریق اعلان، عدم دقت در تطابق تقریبی.

  • Google Gemini Chat Model

* نوع: @n8n/n8n-nodes-langchain.lmChatGoogleGemini

* نقش: ارائه بک‌اند مدل زبان برای تحلیل گره AI Agent. از مدل Gemini Flash Lite برای پردازش کارآمد استفاده می‌کند.

* پیکربندی: دما روی مقدار پایین (0.2) تنظیم شده است تا نتایج قطعی‌تر و سازگارتری تضمین شود.

* ورودی: اعلان تولید شده توسط گره AI Agent.

* خروجی: متن تحلیل با فرمت JSON.

* حالت‌های خطا: محدودیت‌های سهمیه API، شکست‌های احراز هویت، خرابی مدل.

۶. تجزیه و پاسخ نتایج

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

  • JSON Parse & Routing

* نوع: n8n-nodes-base.code

* نقش: استخراج شیء JSON از خروجی متنی AI Agent و تجزیه آن برای استفاده بیشتر. شامل مدیریت خطا برای مواردی است که JSON یافت نمی‌شود.

* پیکربندی: از عبارات منظم برای یافتن و تجزیه زیررشته‌های JSON محصور در آکولاد استفاده می‌کند. در صورت شکست تجزیه، یک شیء JSON خطای پیش‌فرض را برمی‌گرداند.

* ورودی: خروجی متنی از گره AI Agent.

* خروجی: یک شیء JSON تجزیه شده با کلیدهایی مانند is_safe، summary_msg، detected_bad و detected_good.

* حالت‌های خطا: ساختار JSON گمشده در خروجی هوش مصنوعی، خرابی‌های عبارت منظم، خطاهای تجزیه JSON.

  • Send a text message

* نوع: n8n-nodes-base.telegram

* نقش: (همانطور که در بخش ۱ توضیح داده شد) پاسخ قالب‌بندی شده را به کاربر تلگرام ارسال می‌کند و خلاصه تجزیه شده و لیست مواد تشکیل‌دهنده شناسایی شده را در بر می‌گیرد.

  • Create a record

* نوع: n8n-nodes-base.airtable

* نقش: ثبت نتایج تحلیل در جدول "Logs" در Airtable برای اهداف نگهداری سوابق و حسابرسی.

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

* ورودی: نتایج JSON تجزیه شده و فراداده پیام تلگرام.

* خروجی: تأیید ایجاد موفقیت‌آمیز رکورد Airtable.

* حالت‌های خطا: خرابی‌های API Airtable، عدم تطابق انواع داده.

۷. تکمیل گردش کار

این گره نشان‌دهنده پایان اجرای گردش کار است.

  • Done!

* نوع: n8n-nodes-base.noOp

* نقش: به عنوان یک نگهدارنده برای علامت‌گذاری بصری تکمیل گردش کار پس از مرحله ثبت در Airtable عمل می‌کند.

* ورودی: خروجی گره Create a record.

* خروجی: ندارد (پایان مسیر گردش کار را نشان می‌دهد).

* حالت‌های خطا: ندارد؛ این گره صرفاً ساختاری است.

---

جدول خلاصه

نام نود (Node Name)نوع نود (Node Type)نقش عملکردی (Functional Role)نود(های) ورودی (Input Node(s))نود(های) خروجی (Output Node(s))یادداشت (Sticky Note)
Telegram Triggern8n-nodes-base.telegramTriggerدریافت پیام‌های عکس از کاربرانNoneWatchlistربات تلگرام خود را وصل کرده و توکن API را پیکربندی کنید. به عکس‌ها گوش می‌دهد و آن‌ها را به طور خودکار دانلود می‌کند.
Watchlistn8n-nodes-base.airtableدریافت لیست مواد تشکیل‌دهنده فعالTelegram TriggerPreferences
Preferencesn8n-nodes-base.airtableدریافت ترجیحات کاربر (شخصیت، زبان)WatchlistData Aggregation
Data Aggregationn8n-nodes-base.codeتجمیع و قالب‌بندی داده‌های مواد تشکیل‌دهندهPreferencesGet a fileاطمینان حاصل می‌کند که "مواد مضر" همیشه بر "مواد مفید" اولویت دارند. لیست شخصی و ترجیحات را از Airtable دریافت می‌کند.
Get a filen8n-nodes-base.telegramدانلود عکس با بالاترین وضوحData AggregationAI OCR Agent
AI OCR Agent@n8n/n8n-nodes-langchain.agentاستخراج متن OCR از عکسGet a fileAI AgentOCR از یک مدل سازگار با OpenAI محلی برای استخراج متن استفاده می‌کند. معماری ترکیبی هوش مصنوعی وظایف OCR و تجزیه و تحلیل را جدا می‌کند.
OpenAI Chat Model@n8n/n8n-nodes-langchain.lmChatOpenAiمدل OCR محلیGet a fileAI OCR Agentمدل زیربنایی برای استخراج OCR.
AI Agent@n8n/n8n-nodes-langchain.agentتجزیه و تحلیل مواد تشکیل‌دهنده، اعمال تطابق تقریبی و وتوAI OCR Agent, Data AggregationJSON Parse & Routingتطابق تقریبی با لیست‌های کاربر را انجام می‌دهد و ایمنی را بر اساس قوانین سخت‌گیرانه تعیین می‌کند.
Google Gemini Chat Model@n8n/n8n-nodes-langchain.lmChatGoogleGeminiبک‌اند هوش مصنوعی برای تجزیه و تحلیلAI AgentAI Agentتجزیه و تحلیل انجام شده توسط نود AI Agent را قدرت می‌بخشد.
JSON Parse & Routingn8n-nodes-base.codeتجزیه خروجی JSON هوش مصنوعی، مدیریت خطاهاAI AgentSend a text messageداده‌های ساختاریافته را به طور ایمن از پاسخ هوش مصنوعی استخراج می‌کند.
Send a text messagen8n-nodes-base.telegramارسال خلاصه تجزیه و تحلیل به کاربر تلگرامJSON Parse & RoutingCreate a recordبازخورد کاربر را در قالبی مکالمه‌ای ارائه می‌دهد.
Create a recordn8n-nodes-base.airtableثبت نتایج تجزیه و تحلیل در AirtableSend a text messageDone!تاریخچه تمام تجزیه و تحلیل‌های مواد تشکیل‌دهنده انجام شده را حفظ می‌کند.
Done!n8n-nodes-base.noOpنشان‌دهنده تکمیل WorkflowCreate a recordNoneنود ساختاری که نشان‌دهنده پایان مسیر اجرای Workflow است.

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

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

این گردش کار چگونه مواد تشکیل‌دهنده غذا را از عکس‌های تلگرام تحلیل می‌کند؟

این گردش کار ابتدا با استفاده از OCR متن را از عکس‌های مواد غذایی استخراج می‌کند. سپس، با استفاده از هوش مصنوعی Gemini، این متن را با لیست‌های شخصی‌سازی شده مواد تشکیل‌دهنده "خوب" و "بد" که در Airtable ذخیره شده‌اند، مقایسه می‌کند تا ایمنی و ترکیبات محصول را تعیین کند.

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

این گردش کار از ابزارهایی مانند n8n، OCR (برای تشخیص متن از تصاویر)، هوش مصنوعی Gemini (برای تحلیل هوشمندانه) و Airtable (برای ذخیره لیست مواد تشکیل‌دهنده و تنظیمات) استفاده می‌کند.

نتایج تحلیل چگونه به کاربر نمایش داده می‌شود؟

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

workflowهای مرتبط

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