ساخت چتبات هوشمند | قسمت دوم
Nov. 25, 2025, 10:25 a.m. - توسط مدیر
معماری یک چتبات واقعی چگونه است؟
از Router تا RAG، LLM، Agent و Admin Panel
در دنیای امروز، ساخت چتبات دیگر به معنای «یک API ساده و یک مدل زبانی» نیست.
برای اینکه یک چتبات در محیط سازمانی واقعاً کار کند – نه اینکه فقط «دمو» باشد – باید روی معماری آن دقیق فکر کرد.
در این مقاله، معماری کامل چتباتی را توضیح میدهم که خودم در حال پیادهسازی آن هستم.
معماریای که میتواند:
-
سؤال کاربر را بفهمد
-
تصمیم بگیرد چطور پاسخ دهد
-
به منابع داخلی سازمان وصل باشد
-
عملیات واقعی انجام دهد
-
و در نهایت، از همه مهمتر: قابل اعتماد باشد
و نقطهٔ مرکزی همه اینها، Router است؛ ستونی که کل سیستم روی آن استوار است.
۱) Chat API — درگاه ورود کاربر به چتبات
اولین بخش معماری، لایه API است؛ جایی که پیام از کاربر دریافت و پاسخ برای او ارسال میشود.
وظایف Chat API
-
دریافت پیام خام کاربر
-
مدیریت session
-
اعتبارسنجی اولیه
-
ارسال پیام به Router
-
بازگرداندن خروجی نهایی
تکنولوژیهای استفادهشده
-
Django + DRF
-
JSON REST Contract
-
امکان اتصال به Web/Mobile/Widget
این لایه ساده است، اما بدون آن هیچچیز شروع نمیشود.
۲) Router — ستون فقرات چتبات
Router مهمترین بخش کل سیستم است.
هر پیام، قبل از هر چیز، از Router عبور میکند.
چرا Router اینقدر مهم است؟
چون تصمیم میگیرد پیام باید به کجا برود:
-
Flow
-
RAG
-
LLM
-
Ticketing
-
Agent
-
یا حتی بلوک امنیتی
اگر Router اشتباه کند، کل سیستم اشتباه میکند.
Router چگونه کار میکند؟
Router از دو بخش تشکیل شده است:
۱. Rule-Based Layer
قوانین ساده، قطعی و سریع:
-
اگر پیام دقیقاً با یکی از گزینههای Flow برابر بود → Flow
-
اگر ساختار پیام شبیه درخواست عملیاتی بود → Agent
-
اگر پیام واضحاً شکایت یا خطا بود → Ticket
۲. مدل NLP + Embedding
جایی که پیام مبهم است، از مدل اختصاصی استفاده میشود:
-
تبدیل جمله به embedding
-
مقایسه با دستههای مختلف (Flow / Knowledge / Action / Noise)
-
انتخاب بهترین مسیر
تکنولوژیهای Router
-
Python Logic Layer
-
Embedding:
multilingual-e5-large -
یک مدل اختصاصی کوچک مثل Logistic Regression یا Classifier سبک
-
Fast similarity search
Router جایی است که چتبات «هوشمند» میشود، اما همچنان قابل کنترل باقی میماند.
۳) Flow Manager + Admin Panel — کنترل مکالمات توسط تیم پشتیبانی
بخش Flow باعث میشود چتبات قابلپیشبینی باشد و رفتار ثابت داشته باشد.
وظایف Flow Manager
-
مدیریت درخت مکالمه
-
نمایش گزینهها
-
هدایت مرحلهبهمرحله
-
برگشت به مرحله قبل
-
پاسخ دادن به گرههای انتهایی (leaf nodes)
چرا Admin Panel مهم است؟
چون تیم پشتیبانی بدون نیاز به برنامهنویسی میتواند:
-
مسیرهای جدید تعریف کند
-
پاسخها را ویرایش کند
-
مسیرهای غیرفعال را حذف کند
-
تست سناریو انجام دهد
تکنولوژیها
-
Django Admin / React Panel
-
مدلهای FlowNode / UserFlowState
-
Session Tracking
Flow Manager پایهٔ پایداری چتبات است.
۴) LLM Core — تولید پاسخ طبیعی
LLM بخش هوشمند و زبانساز سیستم است.
وظایف LLM
-
فهم متن کاربر
-
تولید پاسخ انسانی
-
بازنویسی پاسخ RAG
-
تصمیمسازی برای Agent
-
خلاصهسازی یا ارجاع
LLM نباید همهٔ بار سیستم را به دوش بکشد.
به همین دلیل LLM را فقط در بخشی از مسیر استفاده میکنیم.
تکنولوژیها
-
Meta LLaMA 3.x
-
GPT در فضای Cloud (در صورت نیاز)
-
Wrapper اختصاصی Python
-
Prompt Engineering کنترلشده
۵) RAG Engine — اتصال به دانش داخلی سازمان
LLM هرچقدر هم قوی باشد، اطلاعات سازمان شما را ندارد.
برای همین از RAG استفاده میکنیم.
وظایف RAG
-
تبدیل سؤال به embedding
-
پیدا کردن پاسخ مناسب از دیتابیس، PDF، CRM، مستندات و…
-
بازگرداندن اطلاعات دقیق به LLM
-
جلوگیری از «حدس زدن» مدل
بدون RAG، چتبات فقط یک «ماشین حرفزن» است.
تکنولوژیها
-
Embedding:
intfloat/multilingual-e5-large -
Vector DB: Qdrant / ChromaDB
-
PreProcessor for Text Cleaning
-
Context Builder Layer
۶) Agent Layer — چتباتی که کار انجام میدهد، نه فقط حرف میزند
چتبات واقعی فقط جواب نمیدهد.
عملیات انجام میدهد:
-
وضعیت قسط
-
موجودی کیفپول
-
وضعیت سفارش
-
شارژ، اینترنت، امتیاز
-
اتصال به CRM
-
و هر API دیگری که لازم باشد
تکنولوژیها
-
Agent Executor در Python
-
Action Planning
-
فراخوانی APIهای داخلی (REST/JSON)
-
مدیریت نقشها و دسترسیها
Agent یکی از مهمترین بخشها برای تبدیل چتبات به دستیار سازمانی واقعی است.
۷) Ticket System — وقتی چتبات مطمئن نیست
هیچ چتباتی کامل نیست.
وقتی بات نتواند پاسخ قطعی بدهد یا موضوع حساس باشد:
-
پیام ثبت میشود
-
تیکت ساخته میشود
-
مسیر کار پیگیری میشود
به این ترتیب هیچ موضوعی گم نمیشود.
تکنولوژیها
-
Django models
-
HTTP APIs
-
ارتباط با پنل ادمین
جمعبندی: چتبات واقعی یک سیستم است، نه یک مدل
اگر قرار باشد فقط یک مدل LLM استفاده کنیم، خروجی یک ربات غیرقابل اعتماد خواهد بود.
اما یک چتبات واقعاً سازمانی باید این ۷ ستون را داشته باشد:
-
Chat API
-
Router ← ستون فقرات
-
Flow Manager + Admin Panel
-
LLM Core
-
RAG Engine
-
Agent Layer
-
Ticketing
چنین معماری باعث میشود:
چتبات پایدار باشد
قابلاعتماد باشد
قابلتوسعه باشد
قابلپیشبینی باشد
و در نهایت، به درد سازمان بخورد
دیدگاه ها (0)
هیچ دیدگاهی وجود ندارد.