Tiledesk 即時通訊引擎

Sale Database Tools Enhance User Experience and Sales Efficiency
Post Reply
surovy27
Posts: 2
Joined: Tue Dec 03, 2024 3:16 am

Tiledesk 即時通訊引擎

Post by surovy27 »

在 Tiledesk,人類和聊天機器人從第一天起就並肩工作。人類和聊天機器人都透過基於文字的全雙工通道進行通信,我們通常將其稱為即時訊息傳遞或簡稱為聊天,因此為我們的即時訊息引擎選擇正確的技術是至關重要的一步。 我們最初探索了許多開源即時通訊引擎。最後,在放棄所有這些之後(原因見下文)——我們決定建立我們自己的開源訊息傳遞引擎。我們選擇 MQTT 協定是因為它的靈活性,並利用RabbitMQ提供的強大的訊息代理程式和 MQTT 支援來實現我們的解決方案。在這篇短文中,我將告訴您為什麼我們選擇 MQTT 協議,以及有關即時通訊內部架構的 Tiledesk 設計的一些細節。 MQTT ,代表訊息佇列遙測傳輸,是一種簡單且輕量級的訊息傳遞協定。該協定非常適合物聯網 (IoT),因為它旨在支援持續的低頻寬連接,即在資源同樣有限的設備之間傳輸的最大資料量非常有限的連接。 MQTT 按照發布-訂閱模式運行,允許設備透過處理設備之間訊息的代理進行非同步通訊。 MQTT 協定的使用最初是為了促進物聯網領域的通訊而設計的,但由於用於物聯網訊息傳遞的原理和方法適用於看似非常不同的領域,因此已擴展到經常意想不到的領域。一個令人驚訝的方面是它的採用,例如在即時訊息傳遞中。 Facebook (Meta) 等大公司已採用它作為其訊息應用程式的協議。 一般來說,聊天用戶端(即能夠與其他類似應用程式即時發送和接收訊息的應用程式)具有與物聯網設備類似的特徵。 典型的訊息應用程式(例如 Facebook Messenger、WhatsApp 或 Telegram)有以下要求: 能夠管理聯絡人清單。 能夠即時發送和接收「直接」短信,即從一個聯絡人到另一個聯絡人。 允許聯絡人之間進行「群組」對話,其中一個聯絡人同時向一組參與者發送訊息。 監控聯絡人的「線上」狀態,即即時判斷線上或離線狀態。 支援二進位檔案傳輸,如影像、影片、文件、地理位置等。 支援使用靈活且不斷發展的模式(例如輪播和畫廊)交換元資料。 存檔交換訊息的歷史記錄。 在這種情況下,事實證明,MQTT 協定在實現訊息功能方面特別有效,本質上涵蓋了上面列出的第 2、3、4、5 和 6 點。這種有效性促使 Tiledesk 選擇採用 MQTT 作為其名為chat21的開源即時訊息引擎。


我們利用此功能允許使用者僅寫入包含/app/tilechat/users/ USER ID 的主題。使用者永遠不能直接在收件者的主題上書寫。這種機制確保每個客戶端只能將訊息寫入指定的路徑,如下例所示:並使用 AMQP 發布操作將其轉送至指定的接收者路徑,遵循以下模式: /apps/tilechat/users/RECIPIENT-USER-ID/SENDER-USER-ID/messages/clientadded 接收者透過 MQTT 發布通知接收訊息,該通知一旦解碼,就會通知新訊息到達,如路徑的特定末端(例如「/clientadded」)所示。 透過此系統的實現,Chat21創建了一個功能上相當於「收件匣」的結構,其中訊息不是直接在客戶端之間傳輸,而是由觀察者(Chat21伺服器)介導,從而允許在隱私、安全性、資料持久性和 斯洛維尼亞電話號碼數據 特定訊息策略的應用,包括封鎖使用者的能力。 採用基於 RabbitMQ JWT 令牌的細粒度安全模型進一步增強了系統安全性,該模型將使用者操作限制在指定的位置,從而防止未經授權的存取或修改他人的郵箱。 總而言之,所討論的訊息系統的操作模型受到SMTP/POP3 電子郵件協議原理的啟發,其中訊息被發送到指定的郵件伺服器郵箱(路徑「/outgoing」),隨後由觀察者重定向發送到收件人的收件匣,一旦收件者與RabbitMQ 建立連接,它們就可用。 與僅提供與訊息傳遞相關的功能的基於 MQTT 的原始訊息傳遞引擎相比,Tiledesk添加了一些面向「支援」聊天的功能。這些代表了傳統群組聊天的演變,其特點是可以「即時」實例化,並可以將一個或多個聊天機器人與同一群組內的人員一起託管,以優化請求的管理。

Image

此外,該平台支援創建匿名用戶,保證簡化和立即存取支援服務,以及創建具有高級身份驗證機制的用戶。 最後,Tiledesk 整合了一個強大的自動化引擎,能夠透過使用無程式碼、基於人工智慧的生成工具來解釋和實現複雜的邏輯。這使得自動化工作流程的設計變得靈活且易於訪問,從而提高支援服務效率、縮短回應時間並根據特定用戶需求自訂互動。 結論 說到數字。實際上,使用我們的即時訊息引擎,我們平均每秒交換 200 則訊息,峰值僅為 500 則訊息/秒。選擇經過市場驗證的協議和平台(例如 MQTT 和 RabbitMQ)是正確的選擇。由於靈活的標準 (MQTT),我們可以非常快速地發展訊息傳遞引擎,滿足所有即將推出的 Tiledesk 需求。我們有很多未來的需求。由於AI在Tiledesk的滲透,消息引擎最先受到了AI浪潮的影響。例如,我們正在添加廣播文字訊息的功能,這是生成式 AI 所必需的功能,目的是透過盡快返回訊息文字(或其一部分)來減少產生 LLM 回應的長時間延遲。對於 XMPP,這是一個不可能的進展,而 MQTT/RabbitMQ 則提供了極大的靈活性。大型訊息傳遞廠商已經轉而選擇 MQTT 進行訊息傳遞(例如Facebook Messenger),而且可能還會有更多。我們發布了開源Chat21 引擎,讓每個人都有機會使用它或將其用作自己的訊息傳遞引擎的原型。它是 MIT 許可證,具有最大的靈活性。
Post Reply