چتباتهای هوش مصنوعی به یکی از ابزارهای کاربردی برای پاسخگویی به کاربران، ارائه خدمات آنلاین و خودکارسازی فرایندهای کسبوکار تبدیل شدهاند. با کمک این ابزارها میتوان سیستمی ساخت که سؤالهای کاربران را دریافت کند، منظور آنها را تحلیل کند و پاسخ مناسبی ارائه دهد.
برای ساخت چنین سیستمی لزوماً نیازی به توسعه یک نرمافزار از ابتدا ندارید. با استفاده از n8n میتوانید اجزای مختلف چتبات را به یکدیگر متصل کنید و رفتار آن را از طریق یک Workflow مدیریت کنید.
در این آموزش از CMSNevis یاد میگیریم چگونه با استفاده از Chat Trigger، مدل زبانی و AI Agent یک چتبات هوش مصنوعی بسازیم. سپس نحوه آزمایش آن، مدیریت مکالمه و توسعه چتبات برای استفاده در پروژههای واقعی را بررسی میکنیم.
چتبات چیست و چگونه با n8n ساخته میشود؟
چتبات نرمافزاری است که پیامهای کاربران را دریافت میکند و بر اساس قوانین، دادهها یا مدلهای هوش مصنوعی به آنها پاسخ میدهد.
چتباتهای ساده معمولاً بر اساس کلمات کلیدی و قواعد از پیش تعیینشده کار میکنند؛ اما چتبات مبتنی بر مدل زبانی میتواند درخواستهای متنوعتری را تحلیل کند و پاسخهایی متناسب با متن ورودی تولید کند.
در n8n، بهجای اینکه تمام منطق سیستم را از ابتدا برنامهنویسی کنید، میتوانید از Nodeهای مختلف برای ساخت Workflow استفاده کنید.
برای مثال، یک چتبات ساده میتواند این مراحل را طی کند:
- دریافت پیام کاربر.
- ارسال پیام به مدل زبانی.
- تولید پاسخ.
- نمایش پاسخ به کاربر.
در مراحل بعدی میتوانید حافظه مکالمه، ابزارهای اختصاصی، پایگاه دانش یا اتصال به سرویسهای دیگر را نیز اضافه کنید.
برای ساخت چتبات با n8n به چه چیزهایی نیاز داریم؟
پیش از شروع، موارد زیر را آماده کنید:
- یک نمونه فعال از n8n
- دسترسی به مدل زبانی سازگار با قابلیتهای AI در n8n
- اعتبارنامه معتبر برای سرویس مدل زبانی، در صورت استفاده از سرویس خارجی
- آشنایی مقدماتی با ساخت Workflow و اتصال Nodeها
در این آموزش از یک مدل زبانی سازگار با n8n استفاده میکنیم. برای نمونه، میتوانید از OpenAI Chat Model استفاده کنید؛ البته ارائهدهنده دیگری نیز در صورت پشتیبانی نسخه نصبشده قابل استفاده است.
توجه داشته باشید که اشتراک یک سرویس هوش مصنوعی لزوماً به معنی دسترسی رایگان به API آن نیست. هزینه مدل، محدودیت درخواستها و شرایط استفاده را در سرویس انتخابی خود بررسی کنید.
تفاوت چتبات ساده با AI Agent چیست؟
برای ساخت چتبات، ابتدا باید مشخص کنید که سیستم شما چه وظیفهای دارد.
یک چتبات ساده میتواند پیام را به مدل زبانی ارسال کند و پاسخ را برگرداند. اما AI Agent میتواند علاوه بر استفاده از مدل زبانی، در صورت اتصال ابزارهای مناسب، برای انجام برخی وظایف از آن ابزارها نیز استفاده کند.
| قابلیت | چتبات ساده | چتبات مبتنی بر AI Agent |
|---|---|---|
| دریافت پیام کاربر | بله | بله |
| تولید پاسخ با مدل زبانی | بله | بله |
| حفظ زمینه مکالمه | با پیادهسازی مناسب | با پیادهسازی مناسب |
| استفاده از ابزارهای متصل | نیازمند طراحی جداگانه | از قابلیتهای اصلی |
| دریافت اطلاعات از API | با اتصال مناسب | از طریق ابزارهای متصل |
| انجام عملیات خارجی | با Workflow و منطق مشخص | با ابزارهای مجاز و کنترلشده |
در این مقاله از AI Agent استفاده میکنیم تا ساختار چتبات قابلیت توسعه داشته باشد.
آموزش ساخت چتبات هوش مصنوعی در n8n
مرحله اول: ایجاد Workflow جدید
وارد پنل n8n شوید و یک Workflow جدید ایجاد کنید.
برای مدیریت بهتر پروژه، میتوانید نام آن را AI Chatbot بگذارید.
در این Workflow، قرار است پیام کاربر دریافت شود، به مدل زبانی برسد و پاسخ تولیدشده در اختیار رابط گفتوگو قرار بگیرد.
مرحله دوم: اضافه کردن Chat Trigger
یک Node از نوع Chat Trigger به Workflow اضافه کنید.
این Node برای دریافت پیامهای گفتوگویی و شروع اجرای Workflow استفاده میشود.
در تنظیمات Chat Trigger، گزینههای مربوط به رابط چت را بررسی کنید. بسته به نسخه n8n، ممکن است بتوانید رابط گفتوگو را برای آزمایش در محیط n8n نمایش دهید یا تنظیمات مربوط به نحوه دسترسی به آن را مشخص کنید.
برای شروع، از سادهترین روش آزمایشی در دسترس استفاده کنید.
ساختار اولیه Workflow به این شکل است:
Chat Trigger → AI Agent
در این مرحله هنوز مدل زبانی به ایجنت متصل نشده است؛ بنابراین باید مرحله بعدی را نیز انجام دهید.
مرحله سوم: اضافه کردن AI Agent
یک Node از نوع AI Agent اضافه کنید و خروجی Chat Trigger را به ورودی اصلی آن متصل کنید.
AI Agent درخواست کاربر را دریافت میکند و از مدل زبانی و قابلیتهای متصلشده برای تولید پاسخ استفاده میکند.
در نسخههای مختلف n8n ممکن است نام یا جزئیات بعضی تنظیمات تغییر کرده باشد. هنگام ساخت Workflow، به ورودیهای اصلی و ورودیهای مخصوص مدل، ابزارها و حافظه توجه کنید.
مرحله چهارم: اتصال مدل زبانی
برای اینکه چتبات بتواند پاسخ تولید کند، باید یک Chat Model به AI Agent متصل کنید.
برای مثال، مراحل زیر را انجام دهید:
- یک Node از نوع
OpenAI Chat Modelیا مدل سازگار دیگری اضافه کنید. - در صورت نیاز، Credential مربوط به ارائهدهنده را ایجاد کنید.
- کلید API معتبر را در بخش Credentials وارد کنید.
- یک مدل در دسترس و سازگار انتخاب کنید.
- خروجی مربوط به مدل را به ورودی Chat Model در AI Agent متصل کنید.
ساختار مفهومی Workflow اکنون چنین است:
Chat Trigger: دریافت پیامAI Agent: مدیریت پاسخگوییChat Model: تحلیل متن و تولید پاسخ
نکته امنیتی: کلید API را داخل متن پیام، کد عمومی یا خروجی چت قرار ندهید. اطلاعات اتصال را در بخش Credentials نگه دارید و دسترسی آن را محدود کنید.
مرحله پنجم: تعریف نقش و دستورالعمل چتبات
برای اینکه چتبات رفتار مشخصی داشته باشد، باید دستورالعملی برای آن تعریف کنید.
برای مثال، اگر قصد دارید یک دستیار عمومی فارسی بسازید، میتوانید از متن زیر استفاده کنید:
«تو یک دستیار هوش مصنوعی فارسیزبان هستی. به سؤالهای کاربر با زبانی روشن، محترمانه و قابل فهم پاسخ بده. اگر اطلاعات کافی برای پاسخ نداری، این موضوع را صریح بیان کن و اطلاعات را حدس نزن. پاسخها را متناسب با سؤال کاربر تنظیم کن و از توضیحات غیرضروری خودداری کن. بدون مجوز صریح، هیچ عملیات خارجی یا تغییری در اطلاعات کاربران انجام نده.»
این دستورالعمل را در بخش مربوط به System Message یا تنظیمات دستورالعمل AI Agent وارد کنید؛ نام دقیق فیلد ممکن است با نسخه n8n متفاوت باشد.
اگر چتبات را برای یک کسبوکار میسازید، بهتر است نقش آن را مشخصتر تعریف کنید. برای مثال، یک دستیار فروش باید با یک دستیار برنامهنویسی یا پشتیبانی فنی دستورالعمل یکسانی نداشته باشد.
به یاد داشته باشید که دستورالعمل مدل بهتنهایی تضمین امنیت نیست. مجوزها و محدودیتهای عملیات باید در خود Workflow نیز اعمال شوند.
مرحله ششم: آزمایش چتبات
پس از تکمیل اتصالها، Workflow را ذخیره کنید و رابط گفتوگوی آزمایشی را باز کنید.
چند پیام مختلف ارسال کنید تا عملکرد چتبات را بررسی کنید.
آزمایش اول: سؤال عمومی
«n8n چیست و چه کاربردی دارد؟»
چتبات باید یک پاسخ متنی مرتبط تولید کند.
آزمایش دوم: سؤال چندمرحلهای
«برای ساخت یک فروشگاه اینترنتی چه بخشهایی لازم است؟»
پس از دریافت پاسخ، سؤال دیگری مانند «کدام بخش را باید اول پیادهسازی کنم؟» مطرح کنید.
در این مرحله بررسی کنید که آیا چتبات میتواند ارتباط میان پیامها را حفظ کند یا خیر. حفظ زمینه مکالمه به نحوه مدیریت تاریخچه و حافظه بستگی دارد و نباید بدون پیکربندی مناسب فرض شود.
آزمایش سوم: سؤال مبهم
«این کار را چطور انجام بدهم؟»
اگر زمینه کافی وجود ندارد، چتبات باید سؤال روشنکننده بپرسد یا مشخص کند که برای پاسخ به اطلاعات بیشتری نیاز دارد.
مرحله هفتم: بررسی Execution
اگر چتبات پاسخ نمیدهد یا خروجی غیرمنتظرهای تولید میکند، جزئیات اجرای Workflow را بررسی کنید.
به این موارد توجه کنید:
- آیا Chat Trigger پیام را دریافت کرده است؟
- آیا AI Agent اجرا شده است؟
- آیا مدل زبانی بهدرستی پاسخ داده است؟
- آیا خطایی در Credentials وجود دارد؟
- آیا خروجی نهایی به رابط گفتوگو بازگردانده شده است؟
- آیا درخواست به دلیل محدودیت سرویس مدل یا خطای شبکه شکست خورده است؟
اگر مدل پاسخ تولید میکند اما در رابط چت نمایش داده نمیشود، باید علاوه بر Node مدل، تنظیمات خروجی و نحوه اتصال رابط گفتوگو به Workflow را نیز بررسی کنید.
چگونه حافظه را به چتبات اضافه کنیم؟
در یک گفتوگوی واقعی، کاربر انتظار دارد چتبات پیامهای قبلی را تا حدی در نظر بگیرد.
برای مثال:
کاربر: «اسم پروژه من CMSNevis است.»
کاربر: «اسم پروژه من چه بود؟»
اگر چتبات فقط پیام آخر را دریافت کند، ممکن است نتواند پاسخ صحیح بدهد. برای حل این مسئله باید تاریخچه یا حافظه مکالمه را بهدرستی مدیریت کنید.
مراحل کلی افزودن حافظه
۱. تنظیمات AI Agent را باز کنید.
۲. ورودی مربوط به Memory را بررسی کنید.
۳. یک گزینه حافظه سازگار با نسخه n8n خود انتخاب کنید.
۴. در صورت نیاز، شناسه نشست یا Session ID را به شکل پایدار مدیریت کنید.
۵. چند پیام مرتبط ارسال کنید و بررسی کنید که اطلاعات پیامهای قبلی در دسترس پاسخگویی قرار میگیرد یا خیر.
نوع حافظه و نحوه ماندگاری آن به گزینه انتخابی بستگی دارد. بعضی روشها برای نگهداری زمینه یک گفتوگو مناسب هستند، اما برای ذخیره دائمی تاریخچه کاربران یا نگهداری اطلاعات در بلندمدت باید راهکار جداگانهای طراحی کنید.
نکته مهم: شناسه نشست را طوری مدیریت کنید که مکالمات کاربران مختلف با یکدیگر ترکیب نشوند. در چتبات عمومی، این موضوع یک مسئله مهم امنیتی و حریم خصوصی است.
چگونه به چتبات ابزار اضافه کنیم؟
یکی از مزیتهای استفاده از AI Agent این است که میتوانید ابزارهای مشخصی در اختیار آن قرار دهید.
برای مثال، یک چتبات فروش ممکن است به ابزاری برای دریافت اطلاعات محصول نیاز داشته باشد. یک دستیار فنی نیز ممکن است از ابزار جستوجو در مستندات استفاده کند.
برای اضافه کردن ابزار:
- کاربرد موردنظر را مشخص کنید.
- ابزار یا Workflow مناسب را بسازید.
- ورودی و خروجی آن را مشخص کنید.
- ابزار را به ورودی Tools در AI Agent متصل کنید.
- دستورالعمل لازم برای استفاده از ابزار را تنظیم کنید.
- چند درخواست آزمایشی اجرا کنید.
برای نمونه، میتوانید ابزاری بسازید که اطلاعات یک محصول را از API فروشگاه دریافت کند. در این حالت باید دسترسی API، شناسه محصول و خروجی ابزار را بهدرستی مدیریت کنید.
بهتر است هر ابزار فقط مجوزهای موردنیاز خود را داشته باشد. اگر چتبات صرفاً برای پاسخگویی به پرسشهای مشتریان ساخته شده است، لزوماً نباید به ابزار حذف سفارش یا تغییر اطلاعات حساب کاربری دسترسی داشته باشد.
چگونه چتبات را به سایت متصل کنیم؟
اگر میخواهید چتبات را در سایت خود قرار دهید، باید رابط گفتوگو را به Workflow متصل کنید.
در برخی نسخهها و پیکربندیهای n8n، میتوان از رابط چت مرتبط با Chat Trigger استفاده کرد. در پروژههای اختصاصی نیز میتوان یک رابط کاربری جداگانه ساخت و پیامها را از طریق یک مسیر ارتباطی مناسب به n8n فرستاد.
برای مثال، در سایت CMSNevis میتوانید یک رابط چت طراحی کنید که پیام کاربر را دریافت کند و پاسخ را نمایش دهد.
در این حالت باید موارد زیر را در نظر بگیرید:
- نحوه احراز هویت یا دسترسی کاربران
- مسیر ارتباطی امن میان سایت و Workflow
- مدیریت نشستهای مکالمه
- محدودیت تعداد درخواستها
- مدیریت خطا و نمایش پیام مناسب به کاربر
- جلوگیری از افشای کلیدهای API
- کنترل دسترسی به اطلاعات اختصاصی
اگر از Webhook برای دریافت پیام استفاده میکنید، Endpoint را بدون بررسی امنیتی و محدودیت دسترسی در اختیار عموم قرار ندهید.
چگونه چتبات را به پایگاه دانش متصل کنیم؟
اگر چتبات باید درباره اطلاعات اختصاصی یک کسبوکار پاسخ دهد، صرفاً اتصال مدل زبانی کافی نیست.
برای مثال، اگر میخواهید چتبات به سؤالات کاربران درباره مستندات، راهنمای محصولات یا فایلهای داخلی پاسخ دهد، باید یک منبع اطلاعاتی معتبر برای آن فراهم کنید.
یکی از روشهای رایج، استفاده از معماری RAG است. در این روش، سیستم ابتدا بخشهای مرتبط با سؤال را از پایگاه دانش بازیابی میکند و سپس آنها را همراه سؤال در اختیار مدل قرار میدهد.
برای یادگیری این فرایند، مقاله «آموزش RAG در n8n؛ ساخت سیستم پرسشوپاسخ از روی فایلها» را مطالعه کنید.
اگر اطلاعات شما در یک Vector Database ذخیره میشود، میتوانید از قابلیتهای بازیابی برداری و Nodeهای سازگار برای اتصال آن به فرایند پاسخگویی استفاده کنید.
این کار باعث میشود چتبات به اطلاعات مشخصی دسترسی داشته باشد؛ البته کیفیت پاسخ همچنان به صحت اسناد، کیفیت بازیابی و رفتار مدل وابسته است.
خطاهای رایج هنگام ساخت چتبات با n8n
چتبات هیچ پاسخی نمیدهد
ابتدا بررسی کنید که Chat Trigger پیام را دریافت میکند و Workflow اجرا میشود. سپس اتصال AI Agent، مدل زبانی و خروجی نهایی را بررسی کنید.
خطای اعتبارنامه مدل زبانی
کلید API، وضعیت دسترسی سرویس، نام مدل و محدودیتهای حساب را بررسی کنید. اگر از یک ارائهدهنده خارجی استفاده میکنید، ممکن است خطای شبکه یا محدودیت سرویس نیز باعث شکست درخواست شود.
چتبات پیامهای قبلی را به خاطر نمیسپارد
بررسی کنید که حافظه به AI Agent متصل شده باشد و شناسه نشست در پیامهای یک گفتوگو ثابت بماند. اگر هر پیام با شناسه نشست متفاوت پردازش شود، ممکن است زمینه مکالمه حفظ نشود.
پاسخها دقیق نیستند
دستورالعمل چتبات را بازبینی کنید. اگر پاسخ به اطلاعات اختصاصی نیاز دارد، منبع معتبر یا پایگاه دانش مناسب را به سیستم متصل کنید. همچنین با سؤالهای مختلف، رفتار چتبات را آزمایش کنید.
هزینه اجرای چتبات بالا است
تعداد درخواستها، طول مکالمات، میزان استفاده از مدل و فراخوانی ابزارها را بررسی کنید. میتوانید برای طول تاریخچه، تعداد درخواستها و مصرف منابع محدودیت تعیین کنید.
اطلاعات کاربران با یکدیگر ترکیب میشوند
مدیریت Session ID و مجوزهای دسترسی را بررسی کنید. اطلاعات یک کاربر نباید بدون مجوز در اختیار کاربر دیگر قرار بگیرد.
نکات امنیتی برای چتباتهای واقعی
چتباتی که فقط در محیط آزمایشی اجرا میشود با سامانهای که کاربران واقعی از آن استفاده میکنند تفاوت دارد.
پیش از انتشار چتبات، این موارد را بررسی کنید:
- اعتبارنامههای سرویسها را در Credentials نگه دارید.
- برای درخواستهای عمومی، محدودیت نرخ درخواست در نظر بگیرید.
- اطلاعات حساس کاربران را بدون ضرورت ذخیره نکنید.
- دسترسی هر کاربر به تاریخچه و دادههای اختصاصی خودش را کنترل کنید.
- ابزارهای دارای امکان تغییر یا حذف اطلاعات را محدود کنید.
- برای عملیات حساس، تأیید انسانی یا کنترل مستقل در Workflow قرار دهید.
- خطاها را ثبت کنید، اما از ثبت غیرضروری رمزها و اطلاعات محرمانه خودداری کنید.
- رفتار چتبات را با ورودیهای نامعتبر و تلاش برای دور زدن دستورالعملها آزمایش کنید.
مدل زبانی ممکن است پاسخ نادرست تولید کند یا ورودی مخرب را بهدرستی تشخیص ندهد. بنابراین، نباید امنیت سیستم را فقط به دستورالعملهای متنی مدل وابسته کنید.
سؤالات متداول درباره ساخت چتبات با n8n
آیا برای ساخت چتبات با n8n باید برنامهنویسی بلد باشیم؟
برای ساخت چتبات اولیه، معمولاً به برنامهنویسی پیشرفته نیاز ندارید. میتوانید با اتصال Nodeها و تنظیمات آنها یک سیستم ساده بسازید. با این حال، برای ساخت رابط اختصاصی، اتصال APIهای پیچیده و پیادهسازی کنترلهای امنیتی، دانش فنی بیشتر مفید است.
آیا ساخت چتبات با n8n رایگان است؟
هزینه به روش استقرار n8n، مدل زبانی، تعداد درخواستها و سرویسهای جانبی بستگی دارد. حتی اگر n8n را روی سرور شخصی اجرا کنید، استفاده از یک API هوش مصنوعی خارجی ممکن است هزینه جداگانه داشته باشد.
آیا میتوان چتبات n8n را به تلگرام متصل کرد؟
بله. میتوانید پیامهای تلگرام را دریافت کنید، آنها را به Workflow هوش مصنوعی بفرستید و پاسخ را به کاربر برگردانید. برای این سناریو، مقالههای مربوط به اتصال تلگرام به OpenAI و ساخت ربات هوش مصنوعی تلگرام نیز مرتبط هستند.
آیا چتبات میتواند اطلاعات اختصاصی شرکت را ارائه کند؟
بله، به شرطی که یک منبع اطلاعاتی مناسب مانند API، پایگاه داده یا سیستم RAG به آن متصل شود. همچنین باید دسترسی کاربران به اطلاعات محرمانه بهدرستی کنترل شود.
تفاوت چتبات با AI Agent چیست؟
چتبات به رابط یا سیستم گفتوگویی گفته میشود که پیام را دریافت میکند و پاسخ میدهد. AI Agent میتواند بخشی از ساختار چتبات باشد که علاوه بر تولید پاسخ، از ابزارهای متصل برای انجام وظایف مشخص استفاده میکند.
جمعبندی
با n8n میتوانید بدون توسعه یک سیستم کامل از ابتدا، چتبات هوش مصنوعی بسازید و اجزای آن را در قالب یک Workflow مدیریت کنید.
در این آموزش، مراحل ایجاد Chat Trigger، اتصال AI Agent و مدل زبانی، تعریف دستورالعمل و آزمایش پاسخگویی را بررسی کردیم. همچنین دیدیم که برای توسعه چتبات میتوان حافظه، ابزارها و پایگاه دانش را به آن اضافه کرد.
پیشنهاد میکنیم ابتدا یک چتبات ساده بسازید و آن را با چند سؤال آزمایش کنید. سپس متناسب با نیاز پروژه، قابلیتهایی مانند حفظ زمینه مکالمه، اتصال به API و بازیابی اطلاعات از اسناد را به آن اضافه کنید.





