دستیار پرسش و پاسخ اسناد شرکتی با Google Drive و GPT-4 Mini

دستیار پرسش و پاسخ اسناد شرکتی با Google Drive و GPT-4 Mini

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

دانلود workflow

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

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

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

دستیار پرسش و پاسخ اسناد شرکتی مبتنی بر هوش مصنوعی با Google Drive و GPT-4 Mini

این گردش کار تیم شما را قادر می‌سازد تا در مورد اسناد شرکتی ذخیره شده در Google Drive سؤال بپرسند. این سیستم از هوش مصنوعی برای درک پرس‌وجوها، بازیابی اطلاعات مرتبط و ارائه پاسخ‌های مختصر و مستند استفاده می‌کند.

دسته‌بندی‌ها: ویکی داخلی، AI RAG

کاتالوگ Axeto: https://axeto.ai/n8n

---

۱. نمای کلی گردش کار

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

  • دریافت و نمایه‌سازی اسناد: این بخش به‌طور مداوم یک پوشه مشخص در Google Drive را رصد می‌کند. هنگامی که اسناد جدیدی اضافه می‌شوند، به‌طور خودکار آن‌ها را دانلود کرده، محتوایشان را به قطعات قابل مدیریت پردازش می‌کند، این قطعات را به بردارهای جاسازی (vector embeddings) تبدیل کرده و در یک پایگاه داده برداری در حافظه (in-memory vector database) ذخیره می‌کند. این فرآیند یک پایگاه دانش قابل جستجو از فایل‌های شرکت شما ایجاد می‌کند.
  • پرسش کاربر و پاسخ هوش مصنوعی: این بخش یک رابط برای پرسیدن سؤالات توسط کاربران فراهم می‌کند. این بخش یک Webhook را در دسترس قرار می‌دهد که پرسش‌های کاربر را دریافت می‌کند، زمینه مکالمه را حفظ می‌کند، پایگاه دانش اسناد نمایه‌شده را برای اطلاعات مرتبط جستجو می‌کند و از GPT-4 Mini برای تولید پاسخ‌های دقیق، همراه با ارجاع به اسناد منبع، استفاده می‌کند.

---

۲. جزئیات گره‌ها (Nodes)

۲.۱ بلوک پردازش اسناد: ساخت پایگاه دانش

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

گره‌ها (Nodes):

  • Watch Company Docs Folder

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

* هدف: پوشه مشخصی در Google Drive را برای افزودن فایل‌های جدید نظارت می‌کند.

* پیکربندی: برای بررسی دوره‌ای پوشه (مثلاً هر دقیقه) و فعال شدن در رویدادهای فایل جدید تنظیم شده است.

* خروجی: متادیتای فایل، شامل شناسه فایل (file ID) برای اسناد جدید اضافه شده.

* ملاحظات: از صحت مجوزهای Google Drive و پیکربندی پوشه اطمینان حاصل کنید. به محدودیت‌های نرخ (rate limits) API Google Drive توجه داشته باشید.

  • Fetch New Document

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

* هدف: محتوای یک سند جدید شناسایی شده را با استفاده از یک حساب سرویس (service account) از Google Drive دانلود می‌کند.

* پیکربندی: برای دانلود محتوای باینری فایل شناسایی شده توسط گره تریگر (trigger node) پیکربندی شده است.

* ورودی: شناسه فایل (file ID) از گره "Watch Company Docs Folder".

* خروجی: داده‌های باینری فایل آماده برای استخراج محتوا.

* ملاحظات: نیاز به احراز هویت صحیح حساب سرویس (service account) دارد. خطاهای احتمالی مانند یافت نشدن فایل، فرمت‌های پشتیبانی نشده یا زمان‌بندی دانلود را مدیریت کنید.

  • Load Document Content

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

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

* پیکربندی: برای پردازش داده‌های باینری و استفاده از حالت تقسیم متن سفارشی (custom text splitting mode) تنظیم شده است.

* ورودی: داده‌های باینری سند از گره "Fetch New Document".

* خروجی: محتوای متنی استخراج شده، آماده برای تقسیم‌بندی (chunking).

* ملاحظات: سازگاری با فرمت‌های مختلف اسناد حیاتی است. موارد محتوای خالی یا غیرقابل استخراج را مدیریت کنید.

  • Split into Searchable Chunks

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

* هدف: متن سند استخراج شده را به قطعات کوچک‌تر و همپوشان تقسیم می‌کند تا جستجوی معنایی (semantic search) بهینه شود.

* پیکربندی: با همپوشانی قطعه (chunk overlap) (مثلاً ۲۰۰ کاراکتر) پیکربندی شده است تا زمینه بین قطعات حفظ شود.

* ورودی: محتوای متنی از گره "Load Document Content".

* خروجی: آرایه‌ای از قطعات متن.

* ملاحظات: اندازه قطعه و همپوشانی به طور قابل توجهی بر کیفیت بازیابی تأثیر می‌گذارد.

  • Generate Document Embeddings

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

* هدف: هر قطعه متن را با استفاده از مدل جاسازی (embedding model) OpenAI به یک نمایش برداری عددی (embedding) تبدیل می‌کند.

* پیکربندی: از جاسازی‌های OpenAI استفاده می‌کند. نیاز به اعتبارنامه معتبر API OpenAI دارد.

* ورودی: قطعات متن از گره "Split into Searchable Chunks".

* خروجی: جاسازی‌های برداری برای هر قطعه متن.

* ملاحظات: از پیکربندی صحیح کلید API OpenAI خود اطمینان حاصل کنید. استفاده از API و محدودیت‌های احتمالی نرخ را نظارت کنید.

  • Store in Knowledge Base

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

* هدف: جاسازی‌های سند تولید شده و قطعات متنی مربوطه را در یک پایگاه داده برداری در حافظه (in-memory vector database) ذخیره می‌کند، که تحت یک کلید مشخص (مثلاً "company docs") نمایه‌سازی می‌شود.

* پیکربندی: در حالت "insert" با memoryKey تعریف شده تنظیم شده است.

* ورودی: جاسازی‌ها و محتوای متنی از گره‌های قبلی.

* خروجی: تأیید درج موفقیت‌آمیز در فروشگاه برداری (vector store).

* ملاحظات: ذخیره‌سازی در حافظه برای مجموعه داده‌های متوسط مناسب است؛ برای پایگاه‌های دانش بسیار بزرگ، ذخیره‌سازی دائمی را در نظر بگیرید. از محدودیت‌های حافظه آگاه باشید.

۲.۲ بلوک رابط چت و پرس و جوی هوش مصنوعی: پاسخ به سوالات کاربر

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

گره‌ها (Nodes):

  • Receive User Question

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

* هدف: به عنوان نقطه ورود برای پرس و جوهای کاربر عمل می‌کند و درخواست‌های HTTP POST را می‌پذیرد.

* پیکربندی: با یک مسیر مشخص (مثلاً /chat-input) راه‌اندازی شده و برای دریافت payload های JSON حاوی سوال کاربر و session_id برای ردیابی مکالمه پیکربندی شده است.

* خروجی: سوال کاربر و شناسه جلسه (session ID) را به عامل هوش مصنوعی (AI agent) ارسال می‌کند.

* ملاحظات: نقطه پایانی وب‌هوک (webhook endpoint) را به طور مناسب ایمن کنید. داده‌های ورودی را برای پارامترهای مورد انتظار اعتبارسنجی کنید.

  • Conversation History

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

* هدف: تاریخچه‌ای از پیام‌های اخیر در یک مکالمه را برای ارائه زمینه به هوش مصنوعی حفظ می‌کند.

* پیکربندی: از session_id از درخواست ورودی برای مدیریت تاریخچه‌های مکالمه جداگانه استفاده می‌کند. برای ذخیره تعداد مشخصی از تبادلات اخیر (مثلاً ۱۰ مورد آخر) پیکربندی شده است.

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

* خروجی: یک پنجره زمینه (context window) حاوی پیام‌های گذشته مرتبط برای عامل هوش مصنوعی.

* ملاحظات: اطمینان حاصل کنید که session_id به طور مداوم توسط کلاینت ارائه می‌شود.

  • Search Company Documents

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

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

* پیکربندی: به عنوان ابزاری برای عامل هوش مصنوعی پیکربندی شده است که تعداد مشخصی از نتایج برتر (مثلاً ۵ مورد) را بازیابی می‌کند. از memoryKey "company docs" استفاده می‌کند.

* ورودی: پرس و جوی کاربر.

* خروجی: لیستی از مرتبط‌ترین قطعات سند.

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

  • OpenAI Chat Model

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

* هدف: مدل زبان زیربنایی (GPT-4 Mini) را که عامل هوش مصنوعی برای تولید پاسخ‌ها استفاده می‌کند، فراهم می‌کند.

* پیکربندی: برای استفاده از یک مدل خاص (مثلاً gpt-4.1-mini) تنظیم شده است. نیاز به اعتبارنامه API OpenAI دارد.

* ورودی: اعلان (prompt)، تاریخچه مکالمه و زمینه سند بازیابی شده.

* خروجی: پاسخ متنی تولید شده توسط هوش مصنوعی.

* ملاحظات: استفاده از API OpenAI و هزینه‌ها را نظارت کنید.

  • Company Knowledge Assistant

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

* هدف: گره اصلی منطق هوش مصنوعی. این گره فرآیند درک پرس و جوی کاربر، استفاده از ابزار "Search Company Documents"، گنجاندن تاریخچه مکالمه و بهره‌گیری از "OpenAI Chat Model" برای تولید پاسخ نهایی را هماهنگ می‌کند.

* پیکربندی: شامل یک اعلان سیستمی (system prompt) است که هوش مصنوعی را برای پاسخ دقیق، ذکر منابع و حفظ لحن حرفه‌ای هدایت می‌کند.

* ورودی: سوال کاربر، تاریخچه مکالمه، ابزار جستجو و مدل چت.

* خروجی: پاسخ نهایی تولید شده توسط هوش مصنوعی.

* ملاحظات: اعلان سیستمی را برای عملکرد بهینه تنظیم کنید. از توهمات احتمالی هوش مصنوعی یا بازیابی ناقص اطلاعات آگاه باشید.

  • Send Answer to User

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

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

* پیکربندی: برای بازگرداندن متن پاسخ پیکربندی شده است.

* ورودی: پاسخ تولید شده توسط هوش مصنوعی از گره "Company Knowledge Assistant".

* خروجی: یک پاسخ HTTP به کلاینتی که پرس و جو را آغاز کرده است.

* ملاحظات: اطمینان حاصل کنید که فرمت پاسخ سازگار است و خطاهای احتمالی را به طور صحیح مدیریت می‌کند.

۳. خلاصه گردش کار

نام گره (Node Name)نوع گره (Node Type)نقش عملکردی (Functional Role)گره(های) ورودی (Input Node(s))گره(های) خروجی (Output Node(s))
بخش پردازش اسناد
Watch Company Docs Foldern8n-nodes-base.googleDriveTriggerشناسایی فایل‌های جدید در یک پوشه مشخص Google Drive.NoneFetch New Document
Fetch New Documentn8n-nodes-base.googleDriveدانلود محتوای یک سند تازه شناسایی شده.Watch Company Docs FolderLoad Document Content
Load Document Content@n8n/n8n-nodes-langchain.documentDefaultDataLoaderاستخراج محتوای متنی ساده از داده‌های سند باینری.Fetch New DocumentSplit into Searchable Chunks
Split into Searchable Chunks@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitterتقسیم متن سند به قطعات کوچک‌تر و همپوشان برای جستجوی معنایی.Load Document ContentGenerate Document Embeddings
Generate Document Embeddings@n8n/n8n-nodes-langchain.embeddingsOpenAiتبدیل قطعات متن به بردارهای تعبیه شده (embeddings).Split into Searchable ChunksStore in Knowledge Base
Store in Knowledge Base@n8n/n8n-nodes-langchain.vectorStoreInMemoryذخیره بردارهای تعبیه شده و متن سند در یک پایگاه داده برداری در حافظه.Generate Document Embeddings
بخش رابط چت و پرس و جوی هوش مصنوعی
Receive User Questionn8n-nodes-base.webhookنقطه ورود برای پرس و جوهای کاربر از طریق HTTP POST.NoneCompany Knowledge Assistant
Conversation History@n8n/n8n-nodes-langchain.memoryBufferWindowحفظ زمینه مکالمه برای عامل هوش مصنوعی.Receive User QuestionCompany Knowledge Assistant
Search Company Documents@n8n/n8n-nodes-langchain.vectorStoreInMemoryبازیابی قطعات مرتبط سند از پایگاه داده برداری بر اساس پرس و جو.Company Knowledge AssistantCompany Knowledge Assistant
OpenAI Chat Model@n8n/n8n-nodes-langchain.lmChatOpenAiمدل زبان GPT-4 Mini برای تولید پاسخ‌های هوش مصنوعی.Company Knowledge AssistantCompany Knowledge Assistant
Company Knowledge Assistant@n8n/n8n-nodes-langchain.agentهماهنگ‌کننده پردازش پرس و جو، بازیابی دانش و تولید پاسخ.Receive User Question, Conversation History, Search Company Documents, OpenAI Chat ModelSend Answer to User
Send Answer to Usern8n-nodes-base.respondToWebhookارسال پاسخ تولید شده توسط هوش مصنوعی به کاربر به عنوان یک پاسخ HTTP.Company Knowledge AssistantNone

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

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

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

این گردش کار پوشه مشخصی در Google Drive را برای اسناد جدید نظارت می‌کند، آن‌ها را دانلود کرده، محتوا را استخراج می‌کند، به قطعات کوچک‌تر تقسیم می‌کند، بردارهای جاسازی (embeddings) تولید می‌کند و در یک پایگاه داده برداری ذخیره می‌کند.

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

این گردش کار از مدل GPT-4 Mini برای تولید پاسخ‌های دقیق و مستند به پرسش‌های کاربران استفاده می‌کند.

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

کافیست اسناد جدید را در پوشه مشخص شده در Google Drive که توسط گردش کار نظارت می‌شود، بارگذاری کنید. سیستم به طور خودکار آن‌ها را پردازش خواهد کرد.

آیا پاسخ‌ها شامل ارجاع به منابع هستند؟

بله، این گردش کار به گونه‌ای طراحی شده است که پاسخ‌های ارائه شده شامل ارجاع به اسناد منبع باشند تا دقت و قابلیت اطمینان آن‌ها افزایش یابد.

workflowهای مرتبط

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