
پاسخ به سوالات اسناد با RAG، Supabase و OpenAI
9 دقیقه مطالعه · منتشر شده ۱۴۰۵/۵/۶
دانلود workflow
فایل JSON آماده import در n8n — credentialها باید در n8n شما تنظیم شوند.
- فایل JSON را دانلود کنید.
- در n8n: Workflows → Import from File.
- Credentialهای هر node را متصل کنید.
- workflow را فعال کنید.
شناسه workflow: 6345 · منبع: کاتالوگ Axeto
پاسخ به سوالات از اسناد با RAG با استفاده از Supabase، OpenAI و Cohere Reranker
این گردش کار یک سیستم بازیابی-افزوده تولید (RAG) را برای پاسخگویی به سوالات بر اساس یک سند خاص، یعنی PDF "قوانین گلف"، نشان میدهد. این سیستم شامل دریافت سند، برداریسازی با فراداده و یک فرآیند پرسش و پاسخ هوش مصنوعی چند مرحلهای است. این سیستم از Supabase به عنوان فروشگاه برداری، OpenAI برای تولید امبدینگها و مدلسازی زبان، و Cohere برای رتبهبندی مجدد نتایج جستجو جهت بهبود ارتباط استفاده میکند. این گردش کار از دریافت سند اولیه و پرسش و پاسخ تعاملی از طریق رابط چت پشتیبانی میکند.
موارد استفاده کلیدی:
- دریافت و نمایهسازی اسناد: بارگذاری و نمایهسازی اسناد خاص دامنه، غنیسازی آنها با فراداده برای جستجوی معنایی مؤثر.
- پرسش و پاسخ متنی: امکان پرسیدن سوالات توسط کاربران و دریافت پاسخهای مبتنی بر محتوای نمایهشده، با بازیابی مبتنی بر هوش مصنوعی.
- ارتباط بهبود یافته: استفاده از رتبهبندی مجدد هوش مصنوعی برای اولویتبندی مرتبطترین اطلاعات قبل از تولید پاسخ.
- تعامل چت در زمان واقعی: تسهیل یک رابط مکالمهای برای کاربران جهت پرسوجو از پایگاه دانش.
ساختار گردش کار:
گردش کار به طور منطقی به دو بخش اصلی تقسیم میشود:
1. دریافت و برداریسازی اسناد: این بخش فرآیند دانلود یک سند، استخراج متن آن، تقسیمبندی آن به بخشهای معنادار با فرادادههای مرتبط، تولید امبدینگهای برداری برای این بخشها و ذخیره آنها در یک پایگاه داده برداری Supabase را مدیریت میکند.
2. عامل پرسش و پاسخ RAG: این بخش کوئریهای ورودی کاربر را از یک رابط چت مدیریت میکند. از یک عامل هوش مصنوعی برای تفسیر کوئری استفاده میکند، بخشهای مرتبط سند را از Supabase بازیابی میکند (با بهبود رتبهبندی مجدد Cohere)، و سپس از یک مدل چت OpenAI برای تدوین پاسخی جامع بر اساس زمینه بازیابی شده استفاده میکند.
---
۱. دریافت و برداریسازی اسناد
این بخش بر آمادهسازی اسناد شما برای بازیابی تمرکز دارد. یک PDF را دانلود میکند، متن آن را استخراج میکند، آن را به بخشهای مبتنی بر قاعده تقسیم میکند، فراداده را اضافه میکند، امبدینگها را تولید میکند و همه چیز را در Supabase ذخیره میکند.
گرههای (Nodes) درگیر:
-
Manual Trigger: فرآیند دریافت سند را آغاز میکند. -
Download File(Google Drive): سند PDF مشخص شده را دریافت میکند. -
Extract from File: محتوای متنی خام را از PDF استخراج میکند. -
Code: متن استخراج شده را به قواعد مجزا تقسیم میکند و شماره قواعد و عناوین را به عنوان فراداده استخراج میکند. -
Default Data Loader(LangChain): دادههای قاعده استخراج شده را با فراداده در قالب سند قالببندی میکند. -
Embeddings OpenAI1: امبدینگهای برداری را برای هر بخش سند با استفاده از OpenAI تولید میکند. -
Upload to Supabase: امبدینگها و فراداده را در فروشگاه برداری Supabase درج میکند. -
Sticky Note: مستندات و زمینه را برای این بخش فراهم میکند.
جزئیات گرهها:
| نام گره (Node Name) | نوع گره (Node Type) | نقش | گره ورودی (Input Node(s)) | گره خروجی (Output Node(s)) | محتوای یادداشت چسبان (Sticky Note Content) |
|---|---|---|---|---|---|
| Manual Trigger | Trigger | فرآیند دریافت سند را شروع میکند. | None | Download File | |
| Download File | Google Drive File | سند "Rules\_of\_Golf\_Simplified.pdf" را دانلود میکند. | Manual Trigger | Extract from File | |
| Extract from File | PDF Extractor | محتوای متنی را از PDF دانلود شده استخراج میکند. | Download File | Code | |
| Code | JavaScript Code | متن را به قواعد تقسیم میکند، فراداده را استخراج میکند. | Extract from File | Default Data Loader, Upload to Supabase | # Vectorize Document w/ Metadata (this code node is set up for the golf rules PDF specifically) |
| Default Data Loader | Document Loader (LangChain) | دادهها را با فراداده در قالب سند آماده میکند. | Code | Upload to Supabase | |
| Embeddings OpenAI1 | Embeddings (OpenAI) | امبدینگهای برداری را برای بخشهای سند تولید میکند. | Default Data Loader | Upload to Supabase | |
| Upload to Supabase | Vector Store (Supabase) | امبدینگها و فراداده را در Supabase درج میکند. | Code, Embeddings OpenAI1 | ||
| Sticky Note | Sticky Note | زمینه را برای فرآیند برداریسازی فراهم میکند. |
---
۲. عامل پرسش و پاسخ RAG
این بخش به تعاملات کاربر میپردازد. پیامهای چت را دریافت میکند، از یک عامل هوش مصنوعی برای درک پرسوجو استفاده میکند، اطلاعات مرتبط را با استفاده از امبدینگها و رتبهبندی مجدد از Supabase بازیابی میکند و سپس با یک مدل OpenAI پاسخ نهایی را تولید میکند.
گرههای (Nodes) درگیر:
-
When chat message received(محرک چت): نقطه ورود برای سوالات کاربر. -
Metadata Agent(عامل هوش مصنوعی LangChain): اطلاعات خاصی مانند شماره قوانین را از پرسوجوی کاربر استخراج میکند تا به بازیابی هدفمند کمک کند. -
RAG Agent/RAG Agent 2(عامل هوش مصنوعی LangChain): عامل اصلی مسئول پردازش پرسوجو، بازیابی اسناد و تولید پاسخ نهایی. -
Supabase Vector Store/Supabase Vector Store1: با پایگاه داده برداری Supabase برای انجام جستجوهای شباهت ارتباط برقرار میکند. -
Reranker Cohere/Reranker Cohere1: نتایج جستجوی اولیه را از Supabase برای بهبود ارتباط، دوباره رتبهبندی میکند. -
Embeddings OpenAI/Embeddings OpenAI2: امبدینگهایی را برای پرسوجوی کاربر ایجاد میکند تا جستجوی برداری را تسهیل کند. -
GPT 4.1-mini/GPT 4.1-mini1(مدل چت OpenAI از طریق OpenRouter): مدل زبانی مورد استفاده برای ترکیب پاسخ نهایی. -
Sticky Notes: توضیحات مربوط به اجزای مختلف خط لوله RAG را ارائه میدهد.
جزئیات گره (Node Details):
| نام گره (Node Name) | نوع گره (Node Type) | نقش (Role) | گره ورودی (Input Node(s)) | گره خروجی (Output Node(s)) | محتوای یادداشت چسبان (Sticky Note Content) |
|---|---|---|---|---|---|
| When chat message received | Chat trigger | سوالات کاربر را از طریق رابط چت دریافت میکند. | None | RAG Agent | # RAG Agent |
| Metadata Agent | AI Agent (LangChain) | شماره قوانین یا سایر فرادادهها را از پرسوجوی کاربر استخراج میکند. | GPT 4.1-mini1 | RAG Agent 2 | # Metadata Agent |
| RAG Agent / RAG Agent 2 | AI Agent (LangChain) | بازیابی و تولید را هماهنگ میکند؛ به سوال کاربر پاسخ میدهد. | When chat message received, Supabase Vector Store | بلوک RAG Agent نقش و تنظیمات عامل هوش مصنوعی را نشان میدهد. | |
| Supabase Vector Store / 1 | Vector Store (Supabase) | اسناد مرتبط را بر اساس امبدینگهای پرسوجو از Supabase بازیابی میکند. | Embeddings OpenAI / 2, Reranker Cohere / 1 | RAG Agent / 2 | Vector Store w/ Reranker بهبودهای بازیابی را توضیح میدهد. |
| Reranker Cohere / 1 | Reranker (Cohere) | اسناد بازیابی شده از Supabase را برای ارتباط بهتر دوباره رتبهبندی میکند. | Supabase Vector Store / 1 | Supabase Vector Store / 1 | |
| Embeddings OpenAI / 2 | Embeddings (OpenAI) | امبدینگهای برداری را برای پرسوجوی کاربر ایجاد میکند. | When chat message received | Supabase Vector Store / 1 | |
| GPT 4.1-mini / 1 | Chat Model (OpenAI/OpenRouter) | پاسخ نهایی را بر اساس پرسوجو و زمینه بازیابی شده تولید میکند. | RAG Agent / 2 | ||
| Sticky Note | Sticky Note | هدف عامل فراداده را مستند میکند. |
---
۳. جدول خلاصه
| نام نود (Node Name) | نوع نود (Node Type) | نقش عملکردی (Functional Role) | نود(های) ورودی (Input Node(s)) | نود(های) خروجی (Output Node(s)) | یادداشت چسبان (Sticky Note) |
|---|---|---|---|---|---|
| Manual Trigger | Trigger | شروع ورود اسناد | None | Download File | |
| Download File | Google Drive File | دانلود فایل قوانین PDF | Manual Trigger | Extract from File | |
| Extract from File | PDF Extractor | استخراج متن از PDF | Download File | Code | |
| Code | JavaScript Code | تقسیم متن به قوانین همراه با فراداده | Extract from File | Default Data Loader, Upload to Supabase | # Vectorize Document w/ Metadata (this code node is set up for the golf rules PDF specifically) |
| Default Data Loader | Document Loader (LangChain) | آمادهسازی اسناد با فراداده | Code | Upload to Supabase | |
| Embeddings OpenAI1 | Embeddings (OpenAI) | ایجاد امبدینگ برای اسناد | Default Data Loader | Upload to Supabase | |
| Upload to Supabase | Vector Store (Supabase) | درج امبدینگها در پایگاه داده برداری | Code, Embeddings OpenAI1 | ||
| When chat message received | Chat trigger | نقطه ورود برای سوالات کاربر | None | RAG Agent | # RAG Agent |
| Metadata Agent | AI Agent (LangChain) | استخراج شماره قانون از سوال | GPT 4.1-mini1 | RAG Agent 2 | # Metadata Agent |
| RAG Agent / RAG Agent 2 | AI Agent (LangChain) | پردازش پرس و جو، بازیابی اسناد، تولید پاسخ | When chat message received, Supabase Vector Store | RAG Agent block notes the AI agent role and setup. | |
| Supabase Vector Store / 1 | Vector Store (Supabase) | بازیابی اسناد مرتبط از Supabase | Embeddings OpenAI / 2, Reranker Cohere / 1 | RAG Agent / 2 | Vector Store w/ Reranker explains retrieval enhancements. |
| Reranker Cohere / 1 | Reranker (Cohere) | رتبهبندی مجدد اسناد بازیابی شده بر اساس ارتباط | Supabase Vector Store / 1 | Supabase Vector Store / 1 | |
| Embeddings OpenAI / 2 | Embeddings (OpenAI) | ایجاد امبدینگ برای پرس و جوی کاربر | When chat message received | Supabase Vector Store / 1 | |
| GPT 4.1-mini / 1 | Chat Model (OpenAI/OpenRouter) | تولید پاسخ نهایی بر اساس زمینه | RAG Agent / 2 | ||
| Sticky Note | Sticky Note | مستندسازی هدف عامل فراداده (Metadata Agent). |
Nodeهای استفادهشده
سوالات متداول
RAG چیست و چگونه کار میکند؟▾
RAG (Retrieval-Augmented Generation) سیستمی است که با ترکیب بازیابی اطلاعات از یک پایگاه دانش با قابلیتهای تولید متن مدلهای زبان بزرگ، به سوالات پاسخ میدهد. ابتدا اطلاعات مرتبط با پرسش بازیابی شده و سپس به عنوان زمینه برای تولید پاسخ توسط مدل زبان استفاده میشود.
نقش Supabase در این گردش کار چیست؟▾
Supabase به عنوان پایگاه داده برداری عمل میکند. امبدینگهای (نمایشهای عددی) بخشهای مختلف اسناد در آن ذخیره میشوند تا بتوان به سرعت اطلاعات مرتبط با پرسش کاربر را بازیابی کرد.
چرا از OpenAI و Cohere در این گردش کار استفاده میشود؟▾
OpenAI برای تولید امبدینگهای متنی و همچنین برای تولید پاسخ نهایی بر اساس اطلاعات بازیابی شده استفاده میشود. Cohere برای رتبهبندی مجدد نتایج بازیابی شده به کار میرود تا اطمینان حاصل شود که مرتبطترین اطلاعات در ابتدا به مدل زبان ارائه میشوند و پاسخ دقیقتری تولید میشود.
این گردش کار چه نوع اسنادی را میتواند پردازش کند؟▾
این گردش کار به طور خاص برای پردازش فایلهای PDF طراحی شده است، اما با تغییر گرههای مربوط به استخراج فایل و بارگذاری داده، میتوان آن را برای انواع دیگر اسناد متنی نیز تطبیق داد.
workflowهای مرتبط
- تحلیل خودکار مناقصهها با n8n، LlamaParse و GeminiDocument Extraction
- اتوماسیون API Clarify با n8n و عوامل هوش مصنوعیEngineering
- ارزیابی ریسک بلاکچین با GPT-4o و n8n: امنیت و توکنومیکSecOps
- پرسش و پاسخ صوتی جلسات گذشته با OpenAI و PineconeInternal Wiki
- چتبات واتساپ: پاسخ به سوالات با PDF، Google Drive و RAGSupport Chatbot
- ربات تلگرام هوشمند با جستجوی وب و GPT-5Personal Productivity
