
برای ساخت RAG با n8n به دو Workflow جدا نیاز دارید: یکی سند را میخواند، Chunk میکند و Embedding را ذخیره میکند؛ دیگری سؤال را Embed میکند، متن مرتبط را میگیرد و پاسخ مستند میسازد. جداکردن این دو مسیر، خطا و هزینه پردازش دوباره را کم میکند.
این آموزش از HTTP Request استفاده میکند تا قرارداد API روشن بماند. هاست n8n پاستا اجرای دائمی Workflow را فراهم میکند و API هوش مصنوعی پاستا مسیر سازگار با OpenAI برای Embedding و گفتگو دارد.
معماری Workflow ورود سند
- Webhook یا Trigger دریافت فایل؛
- استخراج متن؛
- Code node برای پاکسازی و Chunking؛
- Loop Over Items برای Batchها؛
- HTTP Request به
POST /embeddings؛ - ذخیره متن، Metadata و بردار؛
- ثبت وضعیت موفق یا خطای قابل Retry.
Credential امن بسازید
کلید را داخل JSON یا Code node ننویسید. یک Header Auth Credential بسازید و Header زیر را به آن بدهید:
Authorization: Bearer {{$env.PAASTA_AI_KEY}}
برای این Workflow کلیدی با مدلهای مجاز و سقف مصرف جدا بسازید. خروجی Execution را هم بررسی کنید تا متن حساس در Log طولانیمدت باقی نماند.
Chunking در Code node
const text = $json.text.replace(/\s+/g, " ").trim();
const size = 2200;
const overlap = 250;
const chunks = [];
for (let start = 0; start < text.length; start += size - overlap) {
chunks.push({
json: {
documentId: $json.documentId,
content: text.slice(start, start + size),
chunkIndex: chunks.length,
}
});
}
return chunks;
این نسخه برای شروع است. برای PDF و Markdown بهتر است مرز عنوان و پاراگراف حفظ شود. اندازه را با آزمون Retrieval تنظیم کنید.