مقدمه
مدیریت اسناد با n8n
مدیریت اسناد با n8n: آموزش ساخت Workflow هوشمند Context-Aware Chunking در n8n | انتقال اسناد Google Drive به Pinecone با OpenRouter و Gemini
اگر قصد دارید یک سیستم هوش مصنوعی مبتنی بر RAG (Retrieval-Augmented Generation) بسازید، تنها ذخیره کردن متن در یک Vector Database کافی نیست. کیفیت جستجو و بازیابی اطلاعات تا حد زیادی به نحوه تقسیمبندی متن (Chunking)، تولید Embedding و همچنین میزان اطلاعات زمینهای (Context) هر بخش وابسته است. به همین دلیل مدیریت اسناد با n8n به یکی از بهترین روشها برای ساخت پایگاه دانش هوشمند تبدیل شده است.
Workflow معرفیشده در این آموزش دقیقاً با همین هدف طراحی شده است. ابتدا این Template یک سند را از Google Drive دریافت میکند، سپس متن آن را استخراج کرده و به بخشهای مختلف تقسیم میکند. در ادامه برای هر بخش، یک Agent مبتنی بر مدل زبانی OpenRouter توضیح کوتاهی از جایگاه آن بخش در کل سند تولید میکند. این توضیح به متن اصلی اضافه شده و پس از آن با استفاده از مدل Embedding گوگل Gemini به بردارهای معنایی تبدیل میشود. در نهایت تمام این اطلاعات در پایگاه داده برداری Pinecone ذخیره خواهند شد.
مزیت اصلی این روش نسبت به Chunking معمولی این است که هر بخش از متن علاوه بر محتوای خودش، دارای اطلاعات زمینهای نیز خواهد بود. همین موضوع باعث میشود هنگام جستجوی معنایی، مدل هوش مصنوعی ارتباط دقیقتری میان سؤال کاربر و اسناد موجود برقرار کند و پاسخهای باکیفیتتری تولید شود.
قبل از شروع
اگر هنوز n8n را نصب نکردهاید، پیشنهاد میکنیم ابتدا مقاله «آموزش n8n» را مطالعه کنید. در آن مقاله، مراحل نصب با Node.js و Docker، راهاندازی اولیه و ساخت اولین Workflow بهصورت کامل آموزش داده شده است. پس از نصب و راهاندازی، به این مقاله بازگردید و مراحل پیادهسازی این Workflow را دنبال کنید.
مدیریت اسناد با n8n
این Workflow چه کاری انجام میدهد؟
این Workflow یک پایپلاین کامل برای آمادهسازی اسناد جهت استفاده در سیستمهای RAG ایجاد میکند. روند کلی آن به این صورت است:
- دریافت فایل از Google Drive
- تبدیل فایل به متن
- تقسیم متن به بخشهای مستقل
- پردازش هر بخش بهصورت جداگانه
- تولید Context اختصاصی برای هر بخش توسط مدل هوش مصنوعی
- ترکیب Context و متن اصلی
- تولید بردارهای معنایی (Embeddings)
- ذخیره اطلاعات در پایگاه داده Pinecone
در پایان، تمامی بخشهای سند بهصورت هوشمند و همراه با اطلاعات زمینهای در پایگاه داده برداری ذخیره میشوند و آماده استفاده در Chatbotها، سیستمهای پاسخگویی هوشمند و موتورهای جستجوی معنایی خواهند بود.
کاربردهای این Workflow
این Template در پروژههای متنوعی قابل استفاده است، از جمله:
- ساخت Chatbotهای مبتنی بر اسناد سازمانی
- ایجاد پایگاه دانش برای شرکتها
- پیادهسازی سیستم RAG برای مدلهای زبانی
- جستجوی معنایی روی فایلهای Google Drive
- ایندکس کردن مستندات فنی
- مدیریت دانش داخلی سازمانها
- ایجاد دستیار هوش مصنوعی برای اسناد آموزشی
- ساخت موتور جستجوی داخلی برای فایلهای متنی
- آمادهسازی داده برای Agentهای هوش مصنوعی
- ذخیره اسناد در Vector Database با کیفیت بازیابی بسیار بالا
هسته اصلی این Template بر پایه مدیریت اسناد با n8n طراحی شده است تا کیفیت جستجوی معنایی را افزایش دهد.
مدیریت اسناد با n8n
پیشنیازهای اجرای Workflow
برای اجرای این Workflow به موارد زیر نیاز دارید:
| پیشنیاز | توضیحات |
|---|---|
| نصب n8n | اجرای Workflow |
| حساب Google | دسترسی به Google Drive |
| Google Drive OAuth Credential | دانلود فایل |
| OpenRouter API Key | تولید Context توسط مدل زبانی |
| حساب OpenRouter | انتخاب مدلهای مختلف AI |
| Google Gemini API Key | تولید Embedding |
| حساب Google AI Studio | دریافت API |
| حساب Pinecone | ذخیره بردارهای معنایی |
| Pinecone API Key | اتصال به Vector Database |
| Pinecone Index | مانند context-rag-test |
| فایل Google Docs | منبع داده Workflow |
برای اجرای صحیح لازم است تمام Credentialها و سرویسهای معرفیشده را از قبل پیکربندی کنید تا Workflow بدون خطا اجرا شود.
آشنایی کوتاه با سرویسهای استفاده شده
Google Drive
Google Drive فضای ذخیرهسازی ابری گوگل است. در این Workflow فایلهای Google Docs مستقیماً از Drive دانلود شده و به متن ساده تبدیل میشوند تا قابل پردازش باشند.
OpenRouter
OpenRouter یک سرویس واسط برای دسترسی به مدلهای مختلف هوش مصنوعی است. بهجای اتصال مستقیم به هر مدل، تنها با یک API میتوانید از مدلهای متنوع مانند GPT، Claude، Gemini، DeepSeek و بسیاری مدلهای دیگر استفاده کنید. در این Template از OpenRouter برای تولید Context هر بخش از سند استفاده شده است.
Google Gemini
Gemini مدل هوش مصنوعی گوگل است. در این Workflow از مدل text-embedding-004 برای تبدیل متن به بردارهای معنایی استفاده میشود تا امکان جستجوی برداری با دقت بالا فراهم شود.
Pinecone
Pinecone یکی از محبوبترین پایگاههای داده برداری (Vector Database) است. این سرویس امکان ذخیره میلیونها بردار و انجام Semantic Search را با سرعت بسیار بالا فراهم میکند و یکی از انتخابهای اصلی پروژههای RAG محسوب میشود.
فایل JSON این Workflow را از این قسمت دانلود کنید.
رمز فایل: danixai.com
آموزش Import کردن Workflow
- وارد داشبورد n8n شوید.
- روی Import from File کلیک کنید.
- فایل JSON را انتخاب کنید.
- Workflow ایجاد خواهد شد.
- Credentialهای موردنیاز را تنظیم کنید.
ساختار Workflow
جریان اجرای این Template به شکل زیر است:
Manual Trigger
↓
Google Drive
↓
Extract Text
↓
Code
↓
Split Out
↓
Loop Over Items
↓
AI Agent (OpenRouter)
↓
Set
↓
Default Data Loader
↓
Recursive Character Text Splitter
↓
Google Gemini Embeddings
↓
Pinecone Vector Store
این ساختار باعث میشود هر بخش از سند بهصورت مستقل پردازش شود و پیش از تبدیل به بردار، یک Context اختصاصی نیز برای آن تولید گردد.
آموزش کامل Nodeهای Workflow
1.Manual Trigger (When clicking “Test workflow”)
وظیفه Node
این Node نقطه شروع Workflow است و اجرای فرآیند را هنگام کلیک روی گزینه Test Workflow آغاز میکند.
ورودی
ورودی ندارد.
خروجی
یک سیگنال برای شروع اجرای Workflow تولید میکند.
تنظیمات مهم
در این Template تنظیمات خاصی برای این Node اعمال نشده است، زیرا تنها برای اجرای دستی استفاده میشود.
نکات قابل تغییر
-
میتوان آن را با Schedule Trigger جایگزین کرد.
-
امکان جایگزینی با Webhook وجود دارد.
-
میتوان از Google Drive Trigger برای اجرای خودکار هنگام اضافه شدن فایل جدید استفاده کرد.
دلیل استفاده در Workflow
در زمان توسعه و تست Workflow، اجرای دستی سادهترین روش برای بررسی عملکرد کل فرآیند است.
2.Get Document From Google Drive
وظیفه Node
این Node فایل موردنظر را از Google Drive دانلود میکند.
فایل انتخابشده از نوع Google Docs است و هنگام دانلود بهصورت خودکار به فایل متنی (Plain Text) تبدیل میشود.
ورودی
-
شناسه فایل (File ID)
-
Credential مربوط به Google Drive
خروجی
محتوای فایل بهصورت Binary Data برای مراحل بعدی Workflow آماده میشود.
تنظیمات مهم
-
Operation: Download
-
Google File Conversion: فعال
-
خروجی: text/plain
-
انتخاب فایل از طریق File ID
نکات قابل تغییر
-
امکان دانلود فایلهای مختلف وجود دارد.
-
میتوان File ID را بهصورت داینامیک دریافت کرد.
-
امکان دریافت فایل از Folderهای مختلف نیز وجود دارد.
-
میتوان این Node را با Trigger مربوط به Google Drive ترکیب کرد تا اسناد جدید بهصورت خودکار پردازش شوند.
دلیل استفاده در Workflow
تمام دادههای موردنیاز Workflow از این سند دریافت میشوند، بنابراین این Node نقطه ورود اطلاعات به کل سیستم محسوب میشود.
4.Extract Text Data From Google Document
وظیفه Node
پس از دانلود فایل از Google Drive، اطلاعات هنوز بهصورت فایل (Binary Data) هستند و امکان پردازش مستقیم متن وجود ندارد. وظیفه این Node استخراج محتوای متنی فایل و تبدیل آن به دادهای قابل پردازش در n8n است.
در این Template از عملیات Extract Text استفاده شده تا تمام متن موجود در سند Google Docs بدون قالببندیهای اضافی استخراج شود.
ورودی
-
فایل Binary دریافتشده از Node قبلی
خروجی
-
متن کامل سند در قالب یک رشته (String)
تنظیمات مهم
-
Operation: Text
-
استخراج خودکار متن از فایل
نکات قابل تغییر
-
امکان استخراج متن از PDF
-
استخراج متن از فایلهای Word
-
استخراج از HTML
-
استخراج از فایلهای متنی دیگر
دلیل استفاده در Workflow
تقریباً تمام Nodeهای هوش مصنوعی روی متن کار میکنند، نه فایل خام. بنابراین این مرحله، فایل را به دادهای تبدیل میکند که در ادامه بتوان آن را پردازش کرد.
مدیریت اسناد با n8n
4.Split Document Text Into Sections (Code)
وظیفه Node
این Node یکی از مهمترین بخشهای Workflow است.
ابتدا کل سند به قسمتهای کوچکتر تقسیم میشود تا هر بخش بهصورت مستقل وارد فرآیند RAG گردد.
سپس JavaScript موجود در Node، متن بر اساس یک جداکننده (Separator) مشخص تقسیم میشود. سپس نتیجه به شکل آرایهای از Sectionها ذخیره خواهد شد.
در نهایت کل آرایه برای استفاده AI Agent بهصورت JSON ذخیره میشود تا Agent بتواند علاوه بر بخش فعلی، کل ساختار سند را نیز مشاهده کند.
ورودی
متن استخراجشده از Google Docs
خروجی
-
آرایهای از بخشهای سند
-
نسخه JSON از کل سند
تنظیمات مهم
این Node از JavaScript سفارشی استفاده میکند.
عملیات اصلی آن شامل موارد زیر است:
-
تشخیص جداکننده متن
-
تقسیم سند
-
ساخت آرایه Section
-
ذخیره نسخه JSON کل سند
نکات قابل تغییر
در این قسمت میتوانید:
-
جداکننده متن را تغییر دهید.
-
روش Chunk کردن را عوض کنید.
-
Chunkهای بزرگتر یا کوچکتر ایجاد کنید.
-
متن را بر اساس Headingها تقسیم کنید.
-
تقسیمبندی بر اساس پاراگراف انجام دهید.
-
تقسیمبندی بر اساس تعداد کلمات انجام شود.
دلیل استفاده در Workflow
اگر کل سند مستقیماً وارد مدل Embedding شود:
-
هزینه پردازش افزایش پیدا میکند.
-
کیفیت Retrieval کاهش مییابد.
-
پاسخهای AI دقت کمتری خواهند داشت.
به همین دلیل ابتدا متن به بخشهای کوچکتر تقسیم میشود.
5.Prepare Sections For Looping (Split Out)
وظیفه Node
در پایان مرحله قبل، تمام بخشهای سند داخل یک آرایه قرار گرفتهاند.
اما AI Agent باید هر بخش را جداگانه پردازش کند.
وظیفه Split Out این است که آرایه را به چندین Item مستقل تبدیل کند.
ورودی
آرایه Sectionها
خروجی
هر Section بهصورت یک Item مستقل
به عنوان مثال:
Item 1
Section اول
Item 2
Section دوم
Item 3
Section سوم
…
تنظیمات مهم
Field To Split Out
section
نکات قابل تغییر
میتوان هر آرایه دیگری را نیز Split کرد.
دلیل استفاده در Workflow
Loop Over Items فقط روی Itemهای مستقل کار میکند.
6.Loop Over Items
وظیفه Node
این Node تمام Sectionهای تولیدشده را یکییکی پردازش میکند.
به جای اینکه کل سند وارد AI شود، هر قسمت بهصورت جداگانه ارسال خواهد شد.
این روش چند مزیت مهم دارد:
-
مصرف کمتر Token
-
سرعت بیشتر
-
کنترل بهتر روی پردازش
-
مدیریت خطاها
-
کیفیت بالاتر Embedding
ورودی
لیست Sectionها
خروجی
هر بار فقط یک Section
تنظیمات مهم
در این Template تنظیمات پیشفرض استفاده شده است.
نکات قابل تغییر
میتوان:
-
Batch Size را تغییر داد.
-
چند Chunk را همزمان پردازش کرد.
-
سرعت اجرای Workflow را کنترل نمود.
دلیل استفاده در Workflow
تقریباً تمام سیستمهای حرفهای RAG از پردازش مرحلهای اسناد استفاده میکنند.
7.AI Agent – Prepare Context
این Node مهمترین قسمت کل Workflow محسوب میشود.
دلیل اصلی کیفیت بالای این Template نیز همین Agent است.
وظیفه Node
برای هر Section، یک توضیح کوتاه تولید میکند که مشخص کند آن بخش در کجای سند قرار گرفته و درباره چه موضوعی صحبت میکند.
Agent همزمان دو داده دریافت میکند:
-
کل سند
-
فقط Chunk فعلی
سپس ارتباط میان این دو را تحلیل کرده و Context مناسب تولید میکند.
ورودی
Agent دو ورودی اصلی دارد:
کل سند که به Agent دید کلی از ساختار فایل میدهد و Chunk فعلی که باید برای آن توضیح نوشته شود.
خروجی
خروجی این Node تنها یک متن کوتاه است.
برای مثال:
-
این بخش درباره معرفی پروژه است.
-
این قسمت مراحل نصب را توضیح میدهد.
-
این بخش به تنظیمات API اختصاص دارد.
-
این قسمت نحوه استفاده از سیستم را شرح میدهد.
تنظیمات مهم
نوع Agent
Conversational Agent
Prompt سفارشی
Define Prompt
مدل زبانی
OpenRouter Chat Model
نکات قابل تغییر
میتوانید Prompt را شخصیسازی کنید.
برای مثال:
-
Context طولانیتر تولید شود.
-
خلاصه مدیریتی نوشته شود.
-
کلیدواژه استخراج گردد.
-
عنوان برای هر Chunk ساخته شود.
-
دستهبندی موضوعی انجام شود.
-
زبان خروجی فارسی یا انگلیسی باشد.
دلیل استفاده در Workflow
اگر این Node حذف شود، سیستم همچنان کار خواهد کرد.
اما کیفیت Retrieval کاهش پیدا میکند زیرا Chunkها دیگر اطلاعات زمینهای نخواهند داشت.
این همان ویژگی است که Context-Aware Chunking را از Chunking معمولی متمایز میکند.
8.Concatenate the Context and Section Text (Set)
وظیفه Node
پس از اینکه AI Agent برای هر بخش از سند یک توضیح زمینهای (Context) تولید میکند، این Node وظیفه دارد Context و متن اصلی آن بخش را با یکدیگر ترکیب کند.
به بیان ساده، متن نهایی که وارد فرآیند تولید Embedding میشود، دیگر تنها شامل Chunk اصلی نیست؛ بلکه ابتدا Context تولیدشده توسط هوش مصنوعی و سپس متن همان Chunk قرار میگیرد.
ساختار داده تولیدشده بهصورت زیر خواهد بود:
Context تولید شده توسط AI
متن اصلی بخش
این روش باعث میشود مدل Embedding اطلاعات کاملتری از مفهوم متن دریافت کند و در نتیجه بردار معنایی دقیقتری تولید شود.
ورودی
-
خروجی AI Agent (متن Context)
-
متن Chunk جاری
خروجی
یک فیلد جدید با نام section_chunk که شامل Context و متن اصلی است.
تنظیمات مهم
در این Node از Set Node برای ایجاد یک فیلد جدید استفاده شده است. مقدار این فیلد بهصورت داینامیک از خروجی AI Agent و متن Section ساخته میشود.
نکات قابل تغییر
در صورت نیاز میتوانید:
-
Context را در انتهای متن قرار دهید.
-
بین Context و متن اصلی جداکننده اضافه کنید.
-
عنوان سند را نیز به ابتدای متن اضافه کنید.
-
متادیتاهایی مانند شماره بخش، تاریخ یا نویسنده را به متن اضافه کنید.
دلیل استفاده در Workflow
هدف اصلی این Node، افزایش کیفیت Embeddingها است. هرچه اطلاعات بیشتری درباره جایگاه متن در اختیار مدل قرار گیرد، بازیابی اطلاعات در آینده دقیقتر خواهد بود.
به همین دلیل کیفیت Embeddingها نسبت به روشهای معمول افزایش پیدا میکند.
9.Recursive Character Text Splitter
وظیفه Node
این Node متن را برای ورود به مدل Embedding آماده میکند.
اگر اندازه متن از محدودیت مدل بیشتر باشد، آن را به قسمتهای کوچکتر تقسیم میکند تا هیچ بخشی از داده از دست نرود.
در این Template مقدار Chunk Size برابر 100000 تنظیم شده است؛ بنابراین در اغلب اسناد، متن بدون تقسیم مجدد وارد مرحله بعد میشود. با این حال وجود این Node باعث میشود Workflow برای اسناد بزرگ نیز آماده باشد.
ورودی
فیلد section_chunk
خروجی
یک یا چند قطعه متن استاندارد برای تولید Embedding
تنظیمات مهم
-
Chunk Size: 100000
-
استفاده از Recursive Character Splitter
نکات قابل تغییر
میتوانید بسته به مدل Embedding مقدار Chunk Size را تغییر دهید. برای مثال:
| سناریو | مقدار پیشنهادی |
|---|---|
| اسناد کوتاه | 2000 تا 4000 کاراکتر |
| کتابها | 1000 تا 2000 کاراکتر |
| مستندات فنی | 1500 تا 3000 کاراکتر |
| مقالات آموزشی | 1000 تا 2500 کاراکتر |
دلیل استفاده در Workflow
وجود این Node باعث میشود محدودیت Token یا طول متن مدلهای Embedding مشکلی در اجرای Workflow ایجاد نکند.
10.Default Data Loader
وظیفه Node
این Node متن آمادهشده را به فرمتی تبدیل میکند که برای Node مربوط به Pinecone قابل استفاده باشد.
در واقع Data Loader نقش واسط میان متن و Vector Store را ایفا میکند.
ورودی
متن پردازششده توسط Text Splitter
خروجی
یک Document استاندارد شامل:
-
متن
-
متادیتا
-
ساختار قابل استفاده توسط Pinecone
تنظیمات مهم
در این Template از تنظیمات پیشفرض استفاده شده است.
نکات قابل تغییر
در پروژههای حرفهای میتوانید متادیتاهای بیشتری به هر Document اضافه کنید؛ مانند:
-
نام فایل
-
شناسه سند
-
دستهبندی
-
تاریخ ایجاد
-
نویسنده
-
منبع داده
-
URL فایل
-
شماره صفحه
این اطلاعات در آینده برای فیلتر کردن نتایج جستجو بسیار مفید خواهند بود.
دلیل استفاده در Workflow
Node مربوط به Pinecone انتظار دارد دادهها در قالب Document دریافت شوند. Data Loader این قالب استاندارد را ایجاد میکند.
11.Embeddings Google Gemini
وظیفه Node
اکنون متن آماده تولید بردار معنایی است.
پس از آماده شدن متن، این Node متن را به مدل Embedding گوگل ارسال میکند. در نتیجه خروجی آن یک بردار عددی (Embedding Vector) خواهد بود.
Embeddingها نمایش ریاضی مفهوم متن هستند و موتورهای جستجوی معنایی از آنها برای یافتن نزدیکترین محتوا استفاده میکنند.
ورودی
متن آمادهشده توسط Data Loader
خروجی
Embedding Vector
مدل مورد استفاده
models/text-embedding-004
این مدل یکی از مدلهای قدرتمند گوگل برای تولید Embedding است و کیفیت بسیار مناسبی در بازیابی اطلاعات معنایی دارد.
تنظیمات مهم
-
مدل:
text-embedding-004 -
Credential مربوط به Google Gemini
نکات قابل تغییر
میتوانید:
-
مدل Embedding را تغییر دهید.
-
از مدلهای جدیدتر Gemini استفاده کنید.
-
از سرویسهای دیگری مانند OpenAI Embeddings یا Cohere بهره ببرید.
دلیل استفاده در Workflow
بدون تولید Embedding امکان ذخیره اطلاعات در Vector Database و انجام جستجوی معنایی وجود نخواهد داشت.
12.Pinecone Vector Store
وظیفه Node
این آخرین مرحله Workflow است.
در این Node، متن همراه با Embedding تولیدشده در پایگاه داده برداری Pinecone ذخیره میشود.
بعد از این مرحله، دادهها آماده استفاده در هر سیستم RAG خواهند بود.
ورودی
-
Document
-
Embedding
خروجی
ثبت موفق اطلاعات در Index انتخابشده
تنظیمات مهم
-
Mode: Insert
-
Pinecone Index:
context-rag-test
نکات قابل تغییر
در پروژههای واقعی میتوانید:
-
Indexهای مختلف ایجاد کنید.
-
Namespace تعریف کنید.
-
متادیتا ذخیره کنید.
-
اطلاعات قبلی را بهروزرسانی کنید.
-
عملیات Upsert بهجای Insert انجام دهید.
-
دادههای قدیمی را حذف کنید.
دلیل استفاده در Workflow
Pinecone یکی از سریعترین پایگاههای داده برداری است و امکان جستجوی میلیونها بردار را با تأخیر بسیار کم فراهم میکند. به همین دلیل انتخاب مناسبی برای سیستمهای RAG و دستیارهای هوش مصنوعی محسوب میشود.
در نهایت، دادهها برای استفاده در موتور جستجوی معنایی آماده خواهند بود.
نحوه اتصال Nodeها به یکدیگر
ترتیب اتصال Nodeها در این Workflow کاملاً هدفمند طراحی شده است:
-
Manual Trigger اجرای فرآیند را آغاز میکند.
-
Google Drive فایل را دانلود میکند.
-
Extract From File متن را استخراج میکند.
-
Code متن را به بخشهای مختلف تقسیم میکند.
-
Split Out هر بخش را به یک Item مستقل تبدیل میکند.
-
Loop Over Items هر بخش را جداگانه پردازش میکند.
-
AI Agent با کمک OpenRouter برای هر بخش Context تولید میکند.
-
Set متن Context و Chunk را با هم ترکیب میکند.
-
Recursive Character Text Splitter در صورت نیاز متن را خردتر میکند.
-
Default Data Loader متن را به قالب Document تبدیل میکند.
-
Google Gemini Embeddings بردار معنایی تولید میکند.
-
Pinecone Vector Store متن و بردار را در پایگاه داده ذخیره میکند.
این ترتیب باعث میشود هر Chunk نهتنها شامل متن اصلی، بلکه دارای اطلاعات زمینهای نیز باشد و در نتیجه کیفیت جستجوی معنایی بهطور قابل توجهی افزایش یابد.
نحوه شخصیسازی Workflow
یکی از مزیتهای مدیریت اسناد با n8n این است که تقریباً تمام بخشهای Workflow، از Promptها و مدلهای هوش مصنوعی گرفته تا روش Chunking و Triggerها، قابل شخصیسازی هستند.
تغییر Promptهای هوش مصنوعی
Prompt مورد استفاده در Node AI Agent تعیین میکند که مدل زبانی چه نوع Contextی برای هر Chunk تولید کند.
برای مثال میتوانید به جای یک توضیح کوتاه:
-
خلاصه کامل هر بخش را تولید کنید.
-
کلیدواژههای اصلی را استخراج کنید.
-
عنوان مناسب برای هر Chunk ایجاد کنید.
-
دستهبندی موضوعی انجام دهید.
-
خروجی را به زبان فارسی یا انگلیسی تولید کنید.
-
اطلاعاتی مانند مخاطب هدف یا سطح اهمیت هر بخش را نیز به Context اضافه کنید.
توجه داشته باشید که هرچه Prompt طولانیتر و پیچیدهتر باشد، هزینه استفاده از مدل زبانی و زمان اجرای Workflow نیز افزایش خواهد یافت.
تغییر مدل هوش مصنوعی
در این Template از طریق OpenRouter میتوان به مدلهای مختلف دسترسی داشت.
در صورت نیاز میتوانید مدلهای سریعتر، ارزانتر یا دقیقتر را جایگزین کنید. انتخاب مدل مناسب به عواملی مانند بودجه، سرعت موردنیاز و کیفیت خروجی بستگی دارد.
تغییر مدل Embedding
در این Workflow از مدل text-embedding-004 گوگل استفاده شده است.
در پروژههای آینده میتوانید مدلهای جدیدتر یا سرویسهای دیگر را جایگزین کنید تا کیفیت بازیابی اطلاعات یا هزینه پردازش را بهینه کنید.
تغییر منبع داده
در این Template دادهها از Google Drive دریافت میشوند، اما این بخش بهراحتی قابل تغییر است.
برای مثال میتوانید اطلاعات را از منابع زیر دریافت کنید:
-
فایلهای PDF
-
فایلهای Word
-
پایگاه داده
-
Google Sheets
-
Notion
-
Airtable
-
Dropbox
-
OneDrive
-
Webhook
-
APIهای اختصاصی
تغییر Trigger
در حال حاضر Workflow با Manual Trigger اجرا میشود.
در پروژههای واقعی میتوانید از Triggerهای زیر استفاده کنید:
-
Schedule Trigger برای اجرای زمانبندیشده
-
Webhook برای اجرای خودکار
-
Google Drive Trigger هنگام ایجاد فایل جدید
-
Triggerهای مربوط به ایمیل یا سایر سرویسها
تغییر روش Chunking
روش تقسیم متن یکی از مهمترین بخشهای هر سیستم RAG است.
میتوانید متن را بر اساس موارد زیر تقسیم کنید:
-
تعداد کاراکتر
-
تعداد کلمات
-
پاراگراف
-
Headingها
-
فصلهای کتاب
-
صفحات PDF
-
ساختار Markdown
انتخاب روش مناسب، تأثیر مستقیمی بر کیفیت بازیابی اطلاعات خواهد داشت.
افزودن Metadata
یکی از بهترین روشها برای بهبود عملکرد سیستم RAG، ذخیره متادیتا در کنار هر Chunk است.
برای مثال میتوانید اطلاعات زیر را اضافه کنید:
-
نام فایل
-
دستهبندی
-
نویسنده
-
تاریخ ایجاد
-
نسخه سند
-
شماره صفحه
-
URL منبع
-
برچسبها (Tags)
این اطلاعات امکان فیلتر کردن نتایج و مدیریت بهتر دادهها را فراهم میکنند.
مدیریت اسناد با n8n
مزایای استفاده از این Workflow
مهمترین مزیت مدیریت اسناد با n8n افزایش دقت سیستمهای RAG و بهبود کیفیت Retrieval است. در ادامه به مزایای دیگر این Template اشاره میکنیم:
-
افزایش کیفیت جستجوی معنایی با استفاده از Context-Aware Chunking.
-
تولید Embeddingهای دقیقتر با کمک اطلاعات زمینهای.
-
استفاده از Google Drive بهعنوان منبع داده بدون نیاز به دانلود دستی فایلها.
-
ذخیره اطلاعات در Pinecone با سرعت و مقیاسپذیری بالا.
-
امکان استفاده از مدلهای مختلف هوش مصنوعی از طریق OpenRouter.
-
ساختار ماژولار که توسعه و نگهداری Workflow را ساده میکند.
-
قابلیت پردازش اسناد بزرگ بهصورت مرحلهای.
-
امکان شخصیسازی تقریباً تمام بخشهای فرآیند.
-
مناسب برای ساخت Chatbotهای مبتنی بر اسناد.
-
قابل استفاده در پروژههای آموزشی، سازمانی و تجاری.
نکات مهم
برای دستیابی به بهترین نتیجه، نکات زیر را در نظر داشته باشید:
-
از اسناد دارای ساختار مناسب و منظم استفاده کنید.
-
Promptهای کوتاه و دقیق معمولاً خروجی بهتری تولید میکنند.
-
در صورت پردازش حجم بالای اسناد، هزینه APIها را مدیریت کنید.
-
متادیتاهای مفید را همراه هر Chunk ذخیره کنید.
-
اندازه Chunkها را متناسب با نوع محتوا تنظیم کنید.
-
عملکرد Retrieval را پس از هر تغییر بررسی کنید.
-
Credentialهای سرویسها را بهصورت امن نگهداری کنید.
-
برای اسناد بسیار بزرگ، از اجرای زمانبندیشده استفاده کنید.
-
در صورت تغییر مدل Embedding، دادههای قبلی را در صورت نیاز مجدداً ایندکس کنید.
-
هنگام استفاده از Context-Aware Chunking در n8n بهتر است اندازه Chunkها و Promptها را متناسب با نوع اسناد تنظیم کنید.
مدیریت اسناد با n8n
خطاهای رایج (Troubleshooting)
1.دانلود نشدن فایل از Google Drive
علت:
Credential یا دسترسی به فایل بهدرستی تنظیم نشده است.
راهحل:
-
بررسی Google Drive OAuth
-
اطمینان از دسترسی حساب به فایل
-
بررسی صحیح بودن File ID
2.خطای OpenRouter
علت:
API Key نامعتبر یا اتمام اعتبار حساب.
راهحل:
-
بررسی API Key
-
انتخاب مدل فعال
-
بررسی محدودیتهای حساب OpenRouter
3.خطای تولید Embedding
علت:
اشکال در Google Gemini API یا محدودیت مدل.
راهحل:
-
بررسی Credential
-
اطمینان از فعال بودن API
-
کاهش حجم متن در صورت نیاز
4.ذخیره نشدن داده در Pinecone
علت:
Index وجود ندارد یا تنظیمات اتصال اشتباه است.
راهحل:
-
بررسی نام Index
-
بررسی API Key
-
اطمینان از فعال بودن پروژه Pinecone
5.کیفیت پایین نتایج جستجو
علت:
Chunkها بیش از حد بزرگ یا کوچک هستند یا Context مناسبی تولید نشده است.
راهحل:
-
بازنگری در روش Chunking
-
بهبود Prompt
-
افزودن Metadata
-
آزمایش اندازههای مختلف Chunk
جمعبندی
Workflow معرفیشده در این مقاله یک نمونه حرفهای برای پیادهسازی مدیریت اسناد با n8n است که با ترکیب Google Drive، OpenRouter، Google Gemini و Pinecone، فرآیند آمادهسازی اسناد برای سیستمهای RAG را بهصورت کاملاً خودکار انجام میدهد.
برخلاف بسیاری از Templateهای ساده که تنها متن را به بخشهای کوچک تقسیم و ذخیره میکنند، این Workflow برای هر بخش یک Context اختصاصی تولید میکند و سپس متن غنیشده را به بردارهای معنایی تبدیل میکند. نتیجه این رویکرد، افزایش دقت جستجوی معنایی و ارائه پاسخهای مرتبطتر در Chatbotها و دستیارهای هوش مصنوعی است.
همچنین طراحی ماژولار Workflow باعث شده است بتوانید بهراحتی مدل هوش مصنوعی، روش Chunking، منبع داده، Triggerها، متادیتا و حتی پایگاه داده برداری را متناسب با نیاز پروژه تغییر دهید. اگر قصد دارید یک پایگاه دانش هوشمند، موتور جستجوی معنایی یا سامانه پاسخگویی مبتنی بر اسناد ایجاد کنید، این Template میتواند نقطه شروع بسیار مناسبی برای پروژههای شما باشد.
سؤالات متداول
1.آیا Context-Aware Chunking در n8n برای همه پروژههای RAG مناسب است؟
بله، در اکثر پروژههای مبتنی بر RAG استفاده از Context-Aware Chunking در n8n باعث بهبود کیفیت بازیابی اطلاعات و ارائه پاسخهای دقیقتر میشود. البته برای دستیابی به بهترین نتیجه، باید اندازه Chunkها، Promptها و مدل Embedding را متناسب با نوع اسناد و نیاز پروژه تنظیم کنید.
2.آیا این Workflow فقط با Google Docs کار میکند؟
خیر. با تغییر Node مربوط به دریافت فایل میتوانید اسناد را از منابع دیگری مانند PDF، Word، پایگاه داده، Notion یا APIهای مختلف دریافت کنید.
3.آیا استفاده از Pinecone الزامی است؟
خیر. در صورت نیاز میتوانید Vector Databaseهای دیگری که توسط n8n پشتیبانی میشوند را جایگزین Pinecone کنید.
4.چرا قبل از تولید Embedding از AI Agent استفاده شده است؟
هدف AI Agent تولید Context برای هر Chunk است. این Context باعث میشود Embeddingها اطلاعات کاملتری از مفهوم متن داشته باشند و کیفیت بازیابی اطلاعات افزایش یابد.
5.آیا میتوان مدل هوش مصنوعی را تغییر داد؟
بله. از آنجا که Workflow از OpenRouter استفاده میکند، میتوانید مدلهای مختلف را بدون تغییر ساختار کلی Workflow جایگزین کنید.
GIT


