چت با فایل‌های Supabase با هوش مصنوعی در n8n

اگر کلی فایل و داکیومنت در Supabase Storage نگه می‌دارید و هر بار برای پیدا کردن یک تکه اطلاعات باید چندین PDF و DOC را باز کنید، این ورک‌فلو مخصوص شماست. با سناریوی AI Agent To Chat With Files In Supabase Storage در n8n می‌توانید یک عامل هوش مصنوعی (AI Agent) بسازید که روی اسناد ذخیره‌شده در Supabase آموزش دیده و مثل یک چت‌بات، به سوال‌های شما درباره محتوای این فایل‌ها جواب می‌دهد.

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

این ورک‌فلو دقیقاً چه کاری انجام می‌دهد؟

این سناریو یک پیاده‌سازی ساده از RAG (Retrieval-Augmented Generation) روی Supabase است. یعنی:

  • فایل‌ها را از Supabase می‌گیرد،
  • آن‌ها را به متن و سپس به بردارها (vectors) تبدیل می‌کند،
  • در زمان سوال، نزدیک‌ترین بخش‌های مرتبط با پرسش شما را پیدا می‌کند،
  • و در نهایت با کمک یک مدل زبانی مثل OpenAI پاسخ نهایی را می‌سازد.

خروجی: یک Agent که می‌توانید با آن درباره اسناد ذخیره‌شده در Supabase چت کنید، بدون نیاز به سرویس‌های جانبی مثل Google Drive.

چه مشکل واقعی را حل می‌کند؟

در بسیاری از تیم‌ها و بیزینس‌ها اسناد مهم در یک استوریج متمرکز (مثل Supabase) نگه‌داری می‌شود، اما:

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

این ورک‌فلو باعث می‌شود:

  • بتوانید به زبان طبیعی (فارسی یا انگلیسی) از اسناد سؤال بپرسید،
  • خلاصه، نکات مهم و پاسخ‌های تحلیلی بگیرید،
  • و مطمئن باشید که پاسخ بر اساس داده‌های واقعی شما است، نه حدس و گمان مدل.

جریان کلی این ورک‌فلو در n8n

  • ۱. دریافت یا به‌روزرسانی فایل‌ها: یک Trigger (مثل Webhook یا Cron) متوجه می‌شود که فایل جدیدی در Supabase ذخیره شده یا فایل‌ها نیاز به ایندکس مجدد دارند.
  • ۲. دانلود و پردازش فایل: فایل از Supabase Storage دانلود می‌شود و با توجه به نوع آن (PDF، TXT، DOCX و …) متن استخراج می‌شود.
  • ۳. خرد کردن متن به چانک‌ها: متن به بخش‌های کوچک‌تر تقسیم می‌شود تا برای جست‌وجوی برداری مناسب شود.
  • ۴. تولید Embedding و ذخیره در پایگاه داده: هر بخش با کمک یک مدل Embedding (مثلاً OpenAI Embeddings) به بردار عددی تبدیل و در جدول مربوطه در Supabase/Postgres ذخیره می‌شود.
  • ۵. راه‌اندازی Webhook برای چت: یک Webhook در n8n برای دریافت پیام‌های کاربر (مثلاً از تلگرام، وب‌چت، فرم یا هر کلاینت دیگری) تنظیم می‌شود.
  • ۶. جست‌وجوی هوشمند: متن سوال کاربر نیز به بردار تبدیل شده و نزدیک‌ترین بخش‌های اسناد با vector similarity search پیدا می‌شود.
  • ۷. تولید پاسخ نهایی با LLM: بخش‌های پیدا شده به عنوان کانتکست همراه با سوال کاربر برای مدل زبانی (OpenAI و…) ارسال شده و پاسخ نهایی ساخته می‌شود.
  • ۸. ارسال جواب به کاربر: پاسخ نهایی به صورت پیام متنی در همان کانال ورودی (مثل تلگرام یا UI سایت) به کاربر برگردانده می‌شود.

نمونه کاربردهای AI Agent روی Supabase Storage

  • دستیار اسناد حقوقی: پرسیدن سوال‌هایی مثل «در این قرارداد شرایط فسخ چیست؟» یا «مهلت پرداخت در این سند چقدر است؟»
  • تحلیل گزارش‌ها و تحقیقات: برای گزارش‌های طولانی، از Agent بخواهید «سه نکته کلیدی این گزارش را بگو» یا «خلاصه مدیریتی بده».
  • آموزش داخلی و دانش‌بیس: قرار دادن داکیومنت‌های داخلی تیم (راهنماها، SOPها، مستندات محصول) و ساخت یک چت‌بات دانش‌بیس.
  • خلاصه‌سازی و استخراج اطلاعات: درخواست استخراج جدول‌ها، متغیرها یا داده‌های ضروری از میان متن‌های طولانی.

پیش‌نیازهای راه‌اندازی این سناریو

  • اکانت Supabase: برای Storage و پایگاه داده Postgres.
  • n8n در حال اجرا: روی سرور شخصی، Docker، VPS یا n8n Cloud.
  • کلید API مدل زبانی: مثل OpenAI API Key برای Embedding و پاسخ‌دهی.
  • جدول‌های لازم در پایگاه داده: حداقل یک جدول برای ثبت فایل‌ها و یک جدول برای ذخیره چانک‌های متن و بردارها.

مراحل کلی پیاده‌سازی در n8n

  1. ایمپورت کردن ورک‌فلو AI Agent To Chat With Files In Supabase Storage در n8n.
  2. تنظیم Credentials برای Supabase، OpenAI و هر سرویس ورودی (Webhook، تلگرام، فرم و …).
  3. ایجاد یا بررسی جدول‌های مورد نیاز در پایگاه داده: فایل‌ها، چانک‌ها، Embeddingها و در صورت نیاز تاریخچه چت.
  4. اجرای اولیه ورک‌فلو برای ایندکس کردن فایل‌های موجود در Supabase.
  5. تنظیم Webhook یا کانال چت (مثلاً Telegram Bot) برای ارسال سوال‌ها و دریافت جواب‌ها.
  6. تست با چند سوال ساده و سپس بهبود Prompt و پارامترهای مدل برای دقیق‌تر شدن پاسخ‌ها.

چطور این Agent را حرفه‌ای‌تر کنیم؟

  • افزودن حافظه مکالمه: با ذخیره تاریخچه گفتگو در دیتابیس، Agent می‌تواند چند سوال پشت سر هم را در یک کانتکست دنبال کند.
  • پشتیبانی چند فایل و چند منبع: برای هر سوال، فقط فایل‌ها یا فولدرهای مرتبط را کوئری کنید تا پاسخ‌ها دقیق‌تر شوند.
  • کنترل سطح دسترسی: می‌توانید برای هر کاربر یا نقش، مشخص کنید به کدام دسته اسناد اجازه پرسش داشته باشد.
  • هشدار و گزارش: گزارش روزانه از تعداد کوئری‌ها، دقت پاسخ‌ها و فایل‌هایی که بیشترین استفاده را داشته‌اند تولید کنید.

نکات مهم و خطاهای رایج

  • اگر پاسخ‌ها نامرتبط است، طول چانک‌ها، نوع Embedding و Prompt مدل زبانی را بررسی و تنظیم کنید.
  • در صورت کند بودن پاسخ‌گویی، می‌توانید فرآیند ایندکس اولیه را جدا کرده و فقط در هنگام تغییر فایل‌ها آن را اجرا کنید.
  • اگر حجم داده‌ها زیاد است، به استفاده از Indexهای مناسب و بهینه‌سازی کوئری‌های برداری در Supabase توجه کنید.

جمع‌بندی

ورک‌فلو AI Agent To Chat With Files In Supabase Storage یک راه حل آماده برای ساخت چت‌بات هوش مصنوعی روی اسناد واقعی شما است. با ترکیب n8n، Supabase و یک LLM مثل OpenAI، می‌توانید از میان کوهی از PDFها و متن‌ها، در چند ثانیه به جواب برسید.

اگر به دنبال ساخت یک دستیار داخلی، ربات تحلیل‌گر اسناد یا سرویس «Chat with your documents» هستید، این سناریو یکی از بهترین نقطه‌های شروع روی زیرساخت Supabase و n8n به حساب می‌آید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.