چت‌بات هوش مصنوعی تجارت الکترونیک با GPT-4 و Supabase

چت‌بات هوش مصنوعی تجارت الکترونیک با GPT-4 و Supabase

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

دانلود workflow

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

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

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

چت‌بات پشتیبانی مشتری تجارت الکترونیک با قدرت هوش مصنوعی با GPT-4 و Supabase

این گردش کار، یک چت‌بات پشتیبانی مشتری تجارت الکترونیک با قدرت هوش مصنوعی را نشان می‌دهد که GPT-4 را برای درک زبان طبیعی و Supabase را برای مدیریت داده‌های بک‌اند ادغام می‌کند. این سیستم برای رسیدگی به انواع پرس‌وجوهای مشتریان، از جمله بررسی وضعیت سفارش، مدیریت تیکت‌های پشتیبانی و توصیه‌های محصول طراحی شده است.

این گردش کار و موارد بیشتر را در کاتالوگ Axeto کاوش کنید.

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

چت‌بات با هوشمندی پرس‌وجوهای مشتریان را پردازش می‌کند:

  • دریافت و طبقه‌بندی: پیام‌های کاربر را دریافت کرده و قصد او را با استفاده از هوش مصنوعی تعیین می‌کند.
  • مسیریابی مبتنی بر قصد: جریان مکالمه را بر اساس قصد طبقه‌بندی شده به ماژول مناسب هدایت می‌کند.
  • مدیریت وضعیت سفارش: جزئیات سفارش را از Supabase بازیابی کرده و به‌روزرسانی‌های وضعیت را ارائه می‌دهد.
  • رسیدگی به تیکت پشتیبانی: ایجاد تیکت‌های پشتیبانی جدید، تولید شناسه‌های منحصربه‌فرد و پرس‌وجو از وضعیت تیکت‌های موجود، با اعلان‌های ایمیلی اختیاری.
  • پیشنهاد محصول: ارائه پیشنهادات شخصی‌سازی شده محصول یا دسته بندی بر اساس ورودی کاربر و داده‌های Supabase.
  • پاسخ به کاربران: ارائه پاسخ‌های واضح و مختصر به مشتری از طریق Webhook.

بلوک‌های عملکردی کلیدی:

1. دریافت ورودی و طبقه‌بندی قصد: نقطه ورود برای تمام پرس‌وجوهای کاربر، مسئول پردازش اولیه و تعیین قصد.

2. مسیریابی مبتنی بر قصد: یک مکانیزم مسیریابی مرکزی که گردش کار را بر اساس قصد شناسایی شده کاربر هدایت می‌کند.

3. رسیدگی به وضعیت سفارش: منطق اختصاصی برای مدیریت و پاسخگویی به پرس‌وجوهای وضعیت سفارش.

4. مدیریت تیکت پشتیبانی: یک ماژول جامع برای ایجاد، به‌روزرسانی و پرس‌وجو از تیکت‌های پشتیبانی.

5. پیشنهاد محصول: منطق برای تولید پیشنهادات محصول و دسته بندی.

6. تولید پاسخ: نهایی کردن و ارسال پاسخ مناسب به کاربر.

---

تحلیل گره‌های جزئی

۱. دریافت ورودی و طبقه‌بندی قصد

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

گره‌ها:

  • Webhook:

* نوع: n8n-nodes-base.webhook (HTTP Webhook - POST)

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

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

* اتصالات: داده‌ها را از کاربر دریافت کرده و به گره AI Agent ارسال می‌کند.

* ملاحظات: رسیدگی به درخواست‌های بالقوه ناقص یا خطاهای HTTP.

  • AI Agent:

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

* نقش: پرس‌وجوهای کاربر را به قصد‌های از پیش تعریف شده (order_status, support_ticket, product_recommendation, general) طبقه‌بندی کرده و ارجاعات محصول را استخراج می‌کند. این گره برای خروجی دادن با فرمت JSON دقیق پیکربندی شده است.

* پیکربندی: از یک اعلان سیستمی سفارشی با مثال‌هایی برای طبقه‌بندی دقیق استفاده می‌کند. پیام ورودی به صورت Here is the query of user {{ $json.body.message }} فرمت‌بندی می‌شود.

* اتصالات: داده‌ها را از Webhook دریافت کرده و خروجی JSON خود را به گره Code ارسال می‌کند.

* ملاحظات: احتمال طبقه‌بندی نادرست توسط هوش مصنوعی، خروجی JSON نامعتبر، یا محدودیت‌های نرخ API OpenAI.

  • Code:

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

* نقش: رشته JSON خروجی از AI Agent را به یک شیء قابل استفاده جاوا اسکریپت به نام category تجزیه می‌کند.

* پیکربندی: فیلد output را از پاسخ AI Agent تجزیه می‌کند.

* اتصالات: داده‌های تجزیه شده را از AI Agent دریافت کرده و به گره Switch ارسال می‌کند.

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

  • Switch:

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

* نقش: گردش کار را بر اساس مقدار category.intent مسیریابی می‌کند. این گره از چهار قصد مجزا پشتیبانی می‌کند: order_status, product_recommendation, support_ticket, و general.

* پیکربندی: از تطابق دقیق رشته برای مقادیر قصد استفاده می‌کند.

* اتصالات: گردش کار را به شاخه‌های مختلف هدایت می‌کند: Order Queries (برای order_statusRecommendations (برای product_recommendationAI Agent1 (برای support_ticket)، یا Respond to Webhook3 (برای general).

* ملاحظات: رسیدگی به سناریوهایی با مقادیر قصد غیرمنتظره یا گم شده.

  • Simple Memory1:

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

* نقش: زمینه مکالمه را برای حداکثر ۷ نوبت پیام، با کلید session_id دریافتی از وب‌هوک، حفظ می‌کند.

* اتصالات: حافظه مکالمه را برای طبقه‌بندی آگاه از زمینه به AI Agent ارائه می‌دهد.

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

---

۲. مسیریابی مبتنی بر قصد

این بلوک به عنوان یک توزیع‌کننده عمل می‌کند و گردش کار را به ماژول خاص مسئول رسیدگی به قصد طبقه‌بندی شده کاربر هدایت می‌کند.

گره‌ها:

  • Switch: (همانطور که در بخش ۱ توضیح داده شد) این گره فرآیند مسیریابی را آغاز می‌کند.
  • Order Queries: (گره AI Agent) قصد order_status را مدیریت می‌کند.
  • Recommendations: (گره AI Agent) قصد product_recommendation را مدیریت می‌کند.
  • AI Agent1: (گره AI Agent) قصد support_ticket را مدیریت می‌کند.
  • Respond to Webhook3: (گره Respond to Webhook) قصد general را با یک پاسخ پیش‌فرض مدیریت می‌کند.

---

۳. رسیدگی به وضعیت سفارش

این ماژول درخواست‌های مشتری در مورد وضعیت سفارش آن‌ها را پردازش می‌کند. اطلاعات لازم را استخراج کرده، Supabase را پرس‌وجو می‌کند و پاسخی را تدوین می‌کند.

گره‌ها:

  • Order Queries:

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

* نقش: order_id, product, یا customer_name را از پرس‌وجوی کاربر استخراج می‌کند. این گره برای فراخوانی ابزار getOrderStatus و سپس تولید پاسخی دوستانه با استفاده از LLM طراحی شده است.

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

* اتصالات: ابزار getOrderStatus را فراخوانی کرده، سپس OpenAI Chat Model1 را برای تولید پاسخ، و در نهایت گره Respond to Webhook را فراخوانی می‌کند.

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

  • getOrderStatus:

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

* نقش: جدول orders در Supabase را پرس‌وجو کرده و بر اساس order_id یا نام محصول فیلتر می‌کند.

* اعتبارنامه‌ها: به اعتبارنامه‌های API Supabase نیاز دارد.

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

  • OpenAI Chat Model1:

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

* نقش: پاسخی به زبان طبیعی که وضعیت سفارش را با استفاده از GPT-4o-mini شرح می‌دهد، تولید می‌کند.

* اعتبارنامه‌ها: به اعتبارنامه‌های API OpenAI نیاز دارد.

* ملاحظات: مشمول محدودیت‌های نرخ API OpenAI و تأخیرهای احتمالی پاسخ.

  • Simple Memory:

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

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

  • Respond to Webhook:

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

* نقش: پاسخ نهایی وضعیت سفارش را به صورت JSON به کاربر برمی‌گرداند.

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

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

---

۴. مدیریت تیکت پشتیبانی

این ماژول ایجاد و بررسی وضعیت تیکت‌های پشتیبانی را مدیریت می‌کند و با جدول support_tickets در Supabase تعامل دارد. این شامل منطقی برای تولید شناسه‌های تیکت منحصر به فرد و اطلاع‌رسانی به تیم پشتیبانی است.

گره‌ها:

  • AI Agent1:

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

* نقش: ایجاد تیکت پشتیبانی و پرس‌وجوهای وضعیت را از طریق منطق چند مرحله‌ای مدیریت می‌کند. اطلاعات لازم را جمع‌آوری کرده، شناسه‌های تیکت را تولید می‌کند و ابزارهای Supabase مربوطه را فراخوانی می‌کند.

* پیکربندی: از یک اعلان سیستمی دقیق برای هدایت استخراج user_email, product, issue, و ticket_id استفاده می‌کند. برای تولید شناسه تیکت از Code Tool و در صورت نیاز از createSupportTicket یا getTicketStatus استفاده می‌کند.

* اتصالات: با Code Tool, createSupportTicket, getTicketStatus تعامل دارد، اعلان‌های ایمیلی را از طریق گره Send (Gmail) ارسال می‌کند و در نهایت پیام نهایی کاربر را خروجی می‌دهد.

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

  • Code Tool:

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

* نقش: شناسه‌های تیکت پشتیبانی منحصر به فردی را با فرمت TKT-YYYYMMDD-RANDOM4DIGITS تولید می‌کند.

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

  • createSupportTicket:

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

* نقش: یک رکورد تیکت پشتیبانی جدید را با وضعیت اولیه "open" در جدول support_tickets Supabase درج می‌کند.

* اعتبارنامه‌ها: به اعتبارنامه‌های API Supabase نیاز دارد.

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

  • getTicketStatus:

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

* نقش: وضعیت و جزئیات یک تیکت پشتیبانی را با ticket_id آن از جدول support_tickets Supabase بازیابی می‌کند.

* اعتبارنامه‌ها: به اعتبارنامه‌های API Supabase نیاز دارد.

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

  • Send:

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

* نقش: هر زمان که یک تیکت پشتیبانی جدید ایجاد شود، یک اعلان ایمیلی به تیم پشتیبانی ارسال می‌کند.

* اعتبارنامه‌ها: به اعتبارنامه‌های OAuth2 Gmail نیاز دارد.

* ملاحظات: رسیدگی به خطاهای احتمالی SMTP یا OAuth، یا مشکلات مربوط به آدرس‌های ایمیل.

  • handle support tickets:

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

* نقش: یک مدل NLP داخلی که توسط AI Agent1 برای تفسیر ورودی کاربر و تولید پاسخ‌های مناسب مربوط به تیکت‌های پشتیبانی استفاده می‌شود.

* اعتبارنامه‌ها: به اعتبارنامه‌های API OpenAI نیاز دارد.

  • Simple Memory2:

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

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

  • Respond to Webhook2:

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

* نقش: پاسخ نهایی مربوط به اقدامات تیکت پشتیبانی را به صورت JSON به کاربر برمی‌گرداند.

---

۵. توصیه محصول

این ماژول درخواست‌های توصیه محصول یا دسته بندی را مدیریت می‌کند. ترجیحات کاربر را استخراج کرده، Supabase را برای موارد مرتبط پرس‌وجو می‌کند و پیشنهادات را ارائه می‌دهد.

گره‌ها:

  • Recommendations:

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

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

* پیکربندی: پیام سیستم، قوانین تفسیر ورودی و فراخوانی ابزارها را تعریف می‌کند. عامل قبل از تولید پاسخ منتظر پاسخ ابزار می‌ماند.

* اتصالات: یا getProductRecommendations یا getCategoryRecommendations را فراخوانی کرده و نتایج را از طریق گره Respond to Webhook1 ارسال می‌کند.

* ملاحظات: رسیدگی به اطلاعات محصول/دسته بندی گم شده یا پرس‌وجوهای مبهم کاربر.

  • getProductRecommendations:

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

* نقش: جدول products در Supabase را پرس‌وجو کرده و نتایج را بر اساس نام محصول فیلتر می‌کند.

* اعتبارنامه‌ها: به اعتبارنامه‌های API Supabase نیاز دارد.

  • getCategoryRecommendations:

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

* نقش: جدول products در Supabase را پرس‌وجو کرده و نتایج را بر اساس نام دسته بندی فیلتر می‌کند.

* اعتبارنامه‌ها: به اعتبارنامه‌های API Supabase نیاز دارد.

  • OpenAI Chat Model2:

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

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

* اعتبارنامه‌ها: به اعتبارنامه‌های API OpenAI نیاز دارد.

  • Simple Memory3:

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

* نقش: زمینه مکالمه را برای تعاملات توصیه محصول ذخیره می‌کند.

  • Respond to Webhook1:

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

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

---

۶. رسیدگی به پاسخ

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

گره‌ها:

  • Respond to Webhook (نمونه‌های متعدد):

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

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

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

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

---

جدول خلاصه

نام نود (Node Name)نوع نود (Node Type)نقش عملکردی (Functional Role)نود(های) ورودی (Input Node(s))نود(های) خروجی (Output Node(s))یادداشت چسبان (Sticky Note)
Webhookn8n-nodes-base.webhookنقطه ورود دریافت پیام‌های کاربر-AI Agent
AI Agent@n8n/n8n-nodes-langchain.agentطبقه‌بندی قصد و استخراج محصولWebhookCode
Coden8n-nodes-base.codeتجزیه خروجی JSON هوش مصنوعیAI AgentSwitch
Switchn8n-nodes-base.switchمسیریابی بر اساس قصدCodeOrder Queries, Recommendations, AI Agent1, Respond to Webhook3Sticky Note: "order_status\nproduct_recommendation\nsupport_ticket"
Simple Memory1@n8n/n8n-nodes-langchain.memoryBufferWindowحفظ زمینه مکالمهAI AgentAI AgentSession ID based context
Order Queries@n8n/n8n-nodes-langchain.agentاستخراج وضعیت سفارش و فراخوانی ابزارSwitch (order_status)OpenAI Chat Model1Calls getOrderStatus tool
getOrderStatusn8n-nodes-base.supabaseToolکوئری جدول سفارشات SupabaseOrder QueriesOpenAI Chat Model1Supabase credentials required
OpenAI Chat Model1@n8n/n8n-nodes-langchain.lmChatOpenAiتولید پاسخ وضعیت سفارشgetOrderStatusRespond to WebhookOpenAI API credentials required
Simple Memory@n8n/n8n-nodes-langchain.memoryBufferWindowحفظ زمینه کوئری سفارشOrder QueriesOrder QueriesSession ID based context
Respond to Webhookn8n-nodes-base.respondToWebhookارسال پاسخ وضعیت سفارشOpenAI Chat Model1-
AI Agent1@n8n/n8n-nodes-langchain.agentمدیریت منطق تیکت پشتیبانیSwitch (support_ticket)Code Tool, createSupportTicket, getTicketStatus, SendMulti-intent agent for tickets
Code Tool@n8n/n8n-nodes-langchain.toolCodeتولید شناسه‌های تیکت منحصر به فردAI Agent1AI Agent1TKT-YYYYMMDD-RANDOM4DIGITS format
createSupportTicketn8n-nodes-base.supabaseToolدرج تیکت جدید در SupabaseAI Agent1AI Agent1Supabase credentials required
getTicketStatusn8n-nodes-base.supabaseToolبازیابی وضعیت تیکت از SupabaseAI Agent1AI Agent1Supabase credentials required
Sendn8n-nodes-base.gmailToolارسال اعلان ایمیلAI Agent1AI Agent1Gmail OAuth2 credentials required
handle support tickets@n8n/n8n-nodes-langchain.lmChatOpenAiپردازش زبان طبیعی داخلی برای پاسخ‌های تیکتAI Agent1AI Agent1OpenAI API credentials required
Simple Memory2@n8n/n8n-nodes-langchain.memoryBufferWindowحفظ زمینه تیکتAI Agent1AI Agent1Session ID based context
Respond to Webhook2n8n-nodes-base.respondToWebhookارسال پاسخ تیکتAI Agent1-
Recommendations@n8n/n8n-nodes-langchain.agentاستخراج محصول/دسته بندیSwitch (product_recommendation)getProductRecommendations, getCategoryRecommendationsIdentifies recommendation type
getProductRecommendationsn8n-nodes-base.supabaseToolکوئری محصولات Supabase بر اساس نامRecommendationsOpenAI Chat Model2Supabase credentials required
getCategoryRecommendationsn8n-nodes-base.supabaseToolکوئری محصولات Supabase بر اساس دسته بندیRecommendationsOpenAI Chat Model2Supabase credentials required
OpenAI Chat Model2@n8n/n8n-nodes-langchain.lmChatOpenAiتولید پاسخ توصیهgetProduct/Category RecsRespond to Webhook1OpenAI API credentials required
Simple Memory3@n8n/n8n-nodes-langchain.memoryBufferWindowحفظ زمینه توصیهRecommendationsRecommendationsSession ID based context
Respond to Webhook1n8n-nodes-base.respondToWebhookارسال پاسخ توصیهOpenAI Chat Model2-
Respond to Webhook3n8n-nodes-base.respondToWebhookارسال پاسخ عمومیSwitch (general)-Default response for unclassified intents

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

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

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

این گردش کار پیام‌های مشتری را دریافت کرده، قصد آن‌ها را با استفاده از GPT-4 طبقه‌بندی می‌کند و سپس جریان مکالمه را به ماژول مناسب برای مدیریت وضعیت سفارش، تیکت‌های پشتیبانی یا توصیه‌های محصول هدایت می‌کند.

چه نقشی برای Supabase در این گردش کار وجود دارد؟

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

آیا این چت‌بات می‌تواند تیکت‌های پشتیبانی ایجاد کند؟

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

چگونه این گردش کار توصیه‌های محصول را ارائه می‌دهد؟

بر اساس ورودی کاربر و داده‌های موجود در Supabase، این گردش کار می‌تواند توصیه‌های محصول یا دسته‌بندی شخصی‌سازی شده را به مشتریان ارائه دهد.

workflowهای مرتبط

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