گردش کار خروجی تلگرام چت‌بات هوش مصنوعی Axeto

گردش کار خروجی تلگرام چت‌بات هوش مصنوعی Axeto

11 دقیقه مطالعه · منتشر شده ۱۴۰۵/۴/۱۸

دانلود workflow

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

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

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

گردش کار خروجی تلگرام چت‌بات هوش مصنوعی: مرکز تماس (آماده تولید، بخش ۶)

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

دسته‌بندی‌ها: پشتیبانی، هوش مصنوعی

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

---

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

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

موارد استفاده هدف

  • ارسال پاسخ‌های چت‌بات: ارسال پیام‌های پردازش‌شده از ماژول‌های هوش مصنوعی یا منطقی به کاربران تلگرام.
  • تولید صدای هوش مصنوعی: ایجاد و ارسال پیام‌های صوتی تولید شده توسط هوش مصنوعی با پشتیبانی چندزبانه با استفاده از API MiniMax.
  • بهینه‌سازی عملکرد: کش کردن داده‌های ارائه‌دهنده با استفاده از Redis برای کاهش بار پایگاه داده و بهبود زمان پاسخ‌دهی.
  • بایگانی داده‌ها: ثبت تمام تعاملات چت در یک پایگاه داده PostgreSQL برای پشتیبان‌گیری، حسابرسی و تجزیه و تحلیل احتمالی.
  • آمادگی برای تولید: پیاده‌سازی مدیریت خطا و مقیاس‌پذیری حالت صف برای عملیات قابل اعتماد.

بلوک‌های منطقی

۱. دریافت ورودی و مقداردهی اولیه: دریافت پیام‌ها از تریگرهای مختلف و آماده‌سازی ساختار داده.

۲. مدیریت داده‌های ارائه‌دهنده و کش (Caching): واکشی اطلاعات ضروری ارائه‌دهنده، با استفاده از Redis برای کش کردن و PostgreSQL به عنوان پشتیبان.

۳. تصمیم‌گیری نوع پیام و مدیریت پیام صوتی: تعیین اینکه آیا پیام صوتی مورد نیاز است، فراخوانی API MiniMax برای تولید متن به گفتار (TTS) و ارسال صدا از طریق تلگرام.

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

۵. ثبت چت در PostgreSQL: ثبت تمام پیام‌های ورودی و خروجی برای ماندگاری داده‌ها.

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

---

۲. تجزیه و تحلیل بلوک به بلوک

۲.۱ دریافت ورودی و مقداردهی اولیه

هدف: دریافت پیام‌های ورودی از منابع مختلف (سایر گردش کارها یا ابزارهای تست) و استانداردسازی فرمت داده‌ها برای پردازش بعدی.

گره‌ها (Nodes):

  • Execute Workflow Trigger (نقطه ورود برای پیام‌ها از سایر گردش کارها)
  • Langchain Chat Trigger (نقطه ورود جایگزین برای تست یا ادغام Langchain)
  • Set (گره ورودی: آماده‌سازی و نرمال‌سازی داده‌های ورودی)
  • Set (گره Test Fields: آماده‌سازی داده‌های تست برای اشکال‌زدایی)

جزئیات:

  • Execute Workflow Trigger: نقطه ورود اصلی تولید، که داده‌های بارگذاری شده را از گردش کارهای بالادستی دریافت می‌کند.
  • Langchain Chat Trigger: امکان تست دستی یا ادغام با سیستم‌های خارجی از طریق Webhook را فراهم می‌کند.
  • Set (Input): داده‌های ورودی را ساختاربندی می‌کند و اطمینان حاصل می‌کند که فیلدهای مورد نیاز وجود دارند و برای بقیه گردش کار به درستی قالب‌بندی شده‌اند.
  • Set (Test Fields): مجموعه‌ای کنترل‌شده از داده‌ها را برای اهداف توسعه و اشکال‌زدایی فراهم می‌کند.

---

۲.۲ مدیریت داده‌های ارائه‌دهنده و کش (Caching)

هدف: بازیابی کارآمد داده‌های پیکربندی مخصوص ارائه‌دهنده. این گره، کش Redis را برای سرعت اولویت‌بندی می‌کند و در صورت عدم وجود داده در کش، به کوئری PostgreSQL بازمی‌گردد و سپس کش را به‌روزرسانی می‌کند.

گره‌ها (Nodes):

  • If (بررسی می‌کند که آیا اطلاعات ارائه‌دهنده مورد نیاز است)
  • Redis (بازیابی داده‌ها از کش)
  • If (بررسی می‌کند که آیا کش داده‌ای را برگردانده است)
  • PostgreSQL (بارگذاری داده‌ها از پایگاه داده در صورت عدم وجود در کش)
  • Redis (کش کردن داده‌های بازیابی شده از پایگاه داده)
  • Code (تجزیه داده‌های کش شده)
  • Set (نرمال‌سازی داده‌های ارائه‌دهنده)

جزئیات:

  • If (Provider No): جریان را بر اساس اینکه آیا اطلاعات ارائه‌دهنده از قبل در دسترس است یا خیر، هدایت می‌کند.
  • Redis (Provider Cache): تلاش می‌کند تا جزئیات ارائه‌دهنده را با استفاده از زمان انقضا (TTL) ۱۵ دقیقه‌ای از Redis بازیابی کند. نیاز به اعتبارنامه‌های پیکربندی شده Redis دارد.
  • If (Provider Cache): گردش کار را بر اساس اینکه آیا کش Redis حاوی داده‌های معتبر بوده است یا خیر، منشعب می‌کند.
  • PostgreSQL (Load Provider Data): در صورت خالی بودن کش، کوئری را در برابر جدول sys_provider (یا معادل آن) اجرا می‌کند. برای رفتار غیر مسدودکننده، روی "continue on error" پیکربندی شده است.
  • Redis (Save Provider Cache): داده‌های ارائه‌دهنده بازیابی شده را با TTL ۱۵ دقیقه‌ای در Redis ذخیره می‌کند. خطاهای احتمالی نوشتن را به طور مؤثر مدیریت می‌کند.
  • Code (Parse Cache): رشته داده‌های کش شده را به یک شیء JSON قابل استفاده تبدیل می‌کند.
  • Set (Provider): داده‌های ارائه‌دهنده را برای استفاده در گره‌های بعدی، تجمیع و قالب‌بندی می‌کند.

---

۲.۳ تصمیم‌گیری نوع پیام و مدیریت پیام صوتی

هدف: تعیین اینکه آیا پیام خروجی باید یک پیام صوتی باشد. در صورت مثبت بودن، با API MiniMax برای تولید گفتار به متن (TTS) تعامل می‌کند، صدا را دانلود کرده و از طریق تلگرام ارسال می‌کند.

گره‌ها (Nodes):

  • Switch (مسیردهی بر اساس نوع رسانه پیام)
  • If (بررسی می‌کند که آیا ارائه‌دهنده از پیام‌های صوتی پشتیبانی می‌کند)
  • Switch (مسیردهی بر اساس زبان برای TTS)
  • Set (پیکربندی پارامترهای TTS برای زبان‌های خاص: چینی، یوه، ژاپنی، انگلیسی)
  • HTTP Request (فراخوانی API MiniMax برای تولید TTS)
  • HTTP Request (دانلود فایل صوتی تولید شده)
  • Telegram (ارسال پیام صوتی)

جزئیات:

  • Switch (Media Switch): جریان را بر اساس اینکه آیا محتوای پیام صوتی است یا متنی، هدایت می‌کند.
  • If (Provider Voice): قابلیت‌های ارائه‌دهنده را برای تعیین اینکه آیا تولید پیام صوتی پشتیبانی می‌شود، بررسی می‌کند.
  • Switch (Language Switch): تنظیمات زبان مناسب را برای درخواست TTS انتخاب می‌کند.
  • Set (Language Nodes): پارامترهای خاص (مانند مدل صوتی، کد زبان) را برای API MiniMax TTS بر اساس زبان انتخاب شده پیکربندی می‌کند.
  • HTTP Request (Minimax TTS): درخواستی را با متن و پارامترهای صوتی به API MiniMax ارسال می‌کند تا یک فایل صوتی تولید کند. برای "continue on error" پیکربندی شده است.
  • HTTP Request (Download Minimax Audio): فایل صوتی تولید شده توسط MiniMax را دانلود می‌کند. این گره حیاتی است و برای جلوگیری از ارسال پیام‌های صوتی ناقص یا نامعتبر، گردش کار را در صورت خطا "متوقف" می‌کند.
  • Telegram (Telegram Voice Output): فایل صوتی دانلود شده را به عنوان یک پیام صوتی به چت تلگرام مشخص شده ارسال می‌کند.

---

۲.۴ خروجی پیام متنی یا پاسخ به تلگرام

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

گره‌ها (Nodes):

  • Switch (تعیین می‌کند که آیا پیام یک پاسخ است)
  • If (وضعیت پاسخ را برای تلگرام تأیید می‌کند)
  • Telegram (ارسال پیام پاسخ)
  • Telegram (ارسال پیام متنی استاندارد)
  • Set (نهایی کردن داده‌های خروجی)

جزئیات:

  • Switch (Media Switch1): بین پیام‌های پاسخ و پیام‌های متنی معمولی تمایز قائل می‌شود.
  • If (If Reply): یک بررسی شرطی برای هدایت پیام به گره ارسال تلگرام صحیح.
  • Telegram (Telegram Reply Output): پیامی را ارسال می‌کند که به طور خاص به عنوان پاسخی به پیام قبلی در چت پیوند داده شده است. نیاز به reply_to_message_id دارد.
  • Telegram (Telegram Output): یک پیام متنی جدید و مستقل به چت تلگرام ارسال می‌کند.
  • Set (Output): یک گره نهایی برای ساختاربندی هرگونه داده قبل از پایان گردش کار.

---

۲.۵ ثبت چت در PostgreSQL

هدف: حفظ سابقه دائمی از تمام تعاملات چت با درج پیام‌های ورودی و خروجی در یک جدول پایگاه داده PostgreSQL.

گره‌ها (Nodes):

  • If (تعیین می‌کند که آیا پیام برای ثبت، ورودی است یا خروجی)
  • PostgreSQL (درج داده‌های پیام ورودی)
  • PostgreSQL (درج داده‌های پیام خروجی)

جزئیات:

  • If (If Input): فرآیند ثبت را بر اساس اینکه آیا پیام فعلی یک پیام ورودی کاربر است یا یک پاسخ ربات خروجی، منشعب می‌کند.
  • PostgreSQL (Create Chat Log Input): یک دستور SQL INSERT را برای ثبت جزئیات یک پیام ورودی اجرا می‌کند.
  • PostgreSQL (Create Chat Log Output): یک دستور SQL INSERT را برای ثبت جزئیات یک پیام ربات خروجی اجرا می‌کند.

---

۲.۶ مدیریت خطا و کنترل جریان

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

استراتژی‌های کلیدی:

  • خطاهای غیر مسدودکننده (continue): گره‌هایی که با سرویس‌های خارجی مانند MiniMax TTS، Redis و PostgreSQL تعامل دارند، اغلب برای "continue on error" پیکربندی می‌شوند. این به گردش کار اجازه می‌دهد تا حتی اگر یک عملیات خاص با شکست مواجه شود، ادامه یابد و از توقف کل فرآیند توسط یک نقطه شکست جلوگیری می‌کند.
  • خطاهای مسدودکننده (stop): عملیات حیاتی، مانند دانلود صدای تولید شده از MiniMax TTS (Download Minimax Audio)، برای "stop" on error تنظیم شده‌اند. این امر برای جلوگیری از ارسال پیام‌های صوتی خراب یا ناقص به کاربران، حیاتی است.

گره‌های با مدیریت خطای خاص:

  • Download Minimax Audio (HTTP Request): در صورت خطا، گردش کار را متوقف می‌کند.
  • Minimax TTS (HTTP Request): گردش کار را در صورت خطا ادامه می‌دهد.
  • گره‌های Redis: گردش کار را ادامه می‌دهند در صورت خطا.
  • گره‌های PostgreSQL: گردش کار را ادامه می‌دهند در صورت خطا.

---

۳. جدول خلاصه

نام نود (Node Name)نوع نود (Node Type)نقش عملکردی (Functional Role)نود(های) ورودی (Input Node(s))نود(های) خروجی (Output Node(s))
Execute Workflow TriggerexecuteWorkflowTriggerنقطه ورود اصلی گردش کار (Workflow)N/AInput
Langchain Chat Trigger@n8n/n8n-nodes-langchain.chatTriggerنقطه ورود برای تست/یکپارچه‌سازی خارجیN/ATest Fields
Inputsetنرمال‌سازی داده‌های ورودیExecute Workflow Trigger, Test FieldsIf Provider No
Test Fieldssetآماده‌سازی داده‌های تستLangchain Chat TriggerInput
If Provider Noifبررسی در دسترس بودن اطلاعات ارائه‌دهنده (Provider)InputProvider Cache (True), Media Switch (False)
Provider Cacheredisبازیابی داده‌های ارائه‌دهنده از حافظه پنهان RedisIf Provider NoIf Provider Cache
If Provider Cacheifبررسی اینکه آیا Redis داده‌های معتبری برگردانده استProvider CacheParse Cache (True), Load Provider Data (False)
Load Provider Datapostgresپرس‌وجو از داده‌های ارائه‌دهنده در PostgreSQLIf Provider CacheSave Provider Cache
Save Provider Cacheredisذخیره داده‌های ارائه‌دهنده در حافظه پنهان RedisLoad Provider DataProvider
Parse Cachecodeتجزیه رشته داده‌های حافظه پنهان به JSONIf Provider CacheProvider
Providersetنرمال‌سازی فیلدهای داده ارائه‌دهندهSave Provider Cache, Parse CacheMedia Switch, If Input
Media Switchswitchمسیریابی بر اساس نوع رسانه پیام (صوتی/متنی)ProviderIf Provider Voice (Voice), Output (Text)
If Provider Voiceifبررسی اینکه آیا ارائه‌دهنده از پیام‌های صوتی پشتیبانی می‌کندMedia SwitchSwitch (True), Telegram Output (False)
Switch (Language Switch)switchمسیریابی بر اساس کد زبانIf Provider Voiceنودهای Set مخصوص زبان
Set (Chinese,Yue)setپیکربندی پارامترهای TTS چینی/یویهSwitchMinimax TTS
Set (Chinese)setپیکربندی پارامترهای TTS چینیSwitchMinimax TTS
Set (Japanese)setپیکربندی پارامترهای TTS ژاپنیSwitchMinimax TTS
Set (English)setپیکربندی پارامترهای TTS انگلیسیSwitchMinimax TTS
Minimax TTShttpRequestتولید پیام صوتی با هوش مصنوعی از طریق API MiniMaxنودهای Set زبانDownload Minimax Audio
Download Minimax AudiohttpRequestدانلود فایل صوتی تولید شدهMinimax TTSTelegram Voice Output, If Reply
Telegram Voice Outputtelegramارسال پیام صوتی به تلگرامDownload Minimax AudioIf Reply
Media Switch1switchتعیین اینکه آیا پیام یک پاسخ استIf Provider No (False branch)If Reply (Reply), Output (Text)
If Replyifتأیید وضعیت پاسخ برای ارسال به تلگرامMedia Switch1Telegram Reply Output (True), Telegram Output (False)
Telegram Reply Outputtelegramارسال پیام پاسخ به تلگرامIf ReplyOutput
Telegram Outputtelegramارسال پیام متنی استاندارد به تلگرامIf Reply, Media Switch (Text path)Output
Outputsetنهایی‌سازی داده‌های خروجیTelegram Reply Output, Telegram Outputپایان گردش کار (End of workflow)
If Inputifتمایز ورودی/خروجی برای ثبت وقایع (logging)ProviderCreate Chat Log Input (Input), Create Chat Log Output (Output)
Create Chat Log Inputpostgresدرج پیام ورودی در جدول گزارش چت (chat log)If InputCreate Chat Log Output
Create Chat Log Outputpostgresدرج پیام خروجی در جدول گزارش چت (chat log)If Input, Create Chat Log InputN/A

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

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

این گردش کار n8n چه کاری انجام می‌دهد؟

این گردش کار پیام‌های پردازش‌شده از چت‌بات‌های هوش مصنوعی را دریافت کرده و آن‌ها را به کاربران تلگرام ارسال می‌کند. همچنین قابلیت تولید پیام‌های صوتی با هوش مصنوعی را دارد.

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

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

چگونه این گردش کار از عملکرد آماده تولید اطمینان حاصل می‌کند؟

این گردش کار با استفاده از کشینگ (Redis) برای بهبود سرعت و ثبت داده‌ها (PostgreSQL) برای بایگانی و حسابرسی، عملکرد بهینه و قابل اعتمادی را برای محیط‌های تولیدی فراهم می‌کند.

آیا این گردش کار از تولید صدای هوش مصنوعی پشتیبانی می‌کند؟

بله، این گردش کار می‌تواند با استفاده از API MiniMax، متن را به گفتار تبدیل کرده و پیام‌های صوتی با پشتیبانی چندزبانه تولید و ارسال کند.

workflowهای مرتبط

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