設計的智能體不聰明、不夠快?你需要一個語意路由器

2024.10.01

語意路由器是一種新模式,它使AI Agent能夠為正確的任務選擇正確的LLM,同時減少其對LLM 的依賴。

新興的智能體Agent工作流程模式嚴重依賴LLM 來執行推理和決策。每個Agent在任務執行期間多次呼叫LLM。對於由多個Agent組成的工作流程,呼叫次數呈指數級增長,導致成本和延遲。

有各種具有不同特性和功能的語言模型,例如小型語言模型、多模態模型和專門構建的特定任務的模型。 Agent可以使用這些模型來完成工作流程。這降低了成本和延遲,並提高了整體準確性。

語意路由器是一種模式,它使Agent能夠為正確的任務選擇正確的語言模型,同時也可以透過本地決策來減少對模型的依賴。在幕後,語義路由器使用儲存在向量資料庫中的嵌入向量將提示與一組現有短語(也稱為話語)相匹配,以將它們映射到特定路由。路由可以是最適合任務的LLM。因為語意搜尋決定了目標,所以我們稱之為語意路由器。

語義路由器使用與RAG 管道中的檢索器相同的技術來執行語義搜尋以找到正確的匹配。但它不是文字區塊,而是基於輸入返回單一預先定義的路由。

儘管將語意路由器實作為Agent和LLM 之間的自訂層在技術上是可行的,但開源Semantic Router 專案越來越受歡迎。

一、Semantic Router 是何神器?

Semantic Router,是一種創新的開源工具,由一家名為 Aurelio AI 的公司開發,可改變基於AI 的Agent的決策。此層透過利用語意向量空間更有效地路由請求,增強了LLM 和Agent的功能。與依賴緩慢的LLM 生成來做出工具使用決策的傳統方法不同,Semantic Router 利用語義意義的力量來做出快速且準確的選擇。

該專案提供與各種嵌入模型的無縫集成,包括Cohere 和OpenAI 等流行選項,以及透過HuggingFace 編碼器支援開源模型。這個專案利用內部記憶體向量資料庫,但如果想要使用Pinecone 和Qdrant 等主流向量資料庫引擎,也很容易輕鬆配置。語意路由器能夠根據使用者查詢做出決策,從而顯著縮短處理時間,通常從5000 毫秒縮短到僅100 毫秒。

憑藉其MIT 許可證,Semantic Router 是可擴展的,允許開發人員自由地將其合併到他們的專案中。該工具解決了AI 開發中的關鍵挑戰,包括安全性、可擴展性和速度,使其成為創建更有效率、更快速回應的Agent工作流程的寶貴資產。

二、語意路由器的關鍵組件

1.路由和話語Utterances

路由構成了Semantic Router 決策過程的支柱。每個路由都代表一個潛在的決策或操作,並由一組 Utterances 定義,這些 Utterances 是映射到特定路由的範例輸入。系統會將這些 Utterances 饋送到每個路由的語意設定檔中。我們將新輸入與這些話語進行比較,以找到最接近的匹配項。

在實踐中,這允許系統根據輸入的語義含義對輸入進行分類和響應,而不是依賴LLM 生成,因為LLM 生成可能會很慢或容易出錯。開發人員可以自訂路由以適應特定應用程式— 無論是篩選敏感主題、管理API 或在複雜的工作流程中編排工具。

2.編碼器和向量空間

為了將輸入與預先定義的話語進行比較,語意路由器使用編碼器將文字轉換為高維向量。這些向量位於語義空間中,其中向量之間的距離反映了相應文本的語義相似性。距離越短,輸入的語意相關性就越高。

Semantic Router 支援多種編碼方法,包括用於高效能API 驅動型工作流程的Cohere 和OpenAI 編碼器,以及用於尋求開源、本地可執行替代方案的使用者的Hugging Face 模型。開發人員可以靈活地選擇不同的編碼器,從而根據其特定的基礎設施自訂系統,從而平衡效能、成本和隱私問題。

3.決策層

一旦輸入被編碼並與預先定義的路由進行比較,語意路由器就會使用RouteLayer 做出決策。此層聚合路由和嵌入,並管理決策過程。它還支援混合路由,系統可以結合本地和基於雲端的模型來優化效能。

4.本地LLM 集成

對於希望保持對其LLM 的完全控製或減少對外部API 的依賴的開發人員,Semantic Router 透過LlamaCPP 和Hugging Face 模型提供對本地模型的支援。消費性硬體(如執行Apple Metal 硬體加速的MacBook 或Microsoft Copilot+ PC)可以完全執行路由決策和LLM 驅動的回應。這種本地執行模型不僅可以減少延遲和成本,還可以提高隱私和安全性。

5.可擴展性

在工作流程中添加更多工具和智慧體時,可擴展性成為一個問題。 LLM 的上下文視窗有限,這意味著它們難以處理大量資料或上下文。語意路由器透過將決策與LLM 解耦來解決這個問題,使其能夠同時處理數千個工具,而不會使系統過載。這種關注點分離使智能體能夠在不犧牲性能或準確性的情況下進行擴展。

三、使用案例和場景

眾所周知,一個智能體需要同時管理多個工具、API 或資料集,這特別適合Semantic Router。在典型的工作流程中,路由器可以根據輸入快速確定要使用的工具或API,而無需進行完整的LLM 查詢。這在虛擬助理系統、內容生成工作流程和大規模資料處理管道中特別有用。

例如,在虛擬助理中,Semantic Router 可以有效地將「安排會議」或「檢查天氣」等提示路由到適當的API 或工具,而無需LLM 參與每個決定。同樣,請求可以路由到經過微調的LLM,以回應醫學或法律術語。這不僅可以減少延遲,還可以確保為用戶提供一致、可靠的體驗。

語義路由器可用於評估是否應將提示直接發送到在本地運行的小型語言模型,或者是否必須透過呼叫在雲端中運行的功能強大的LLM 將其映射到函數及其參數。這在利用基於雲端的語言模型和本地語言模型的聯合語言模型的實現中尤其重要。

在智慧體工作流程時代,對高效能、可擴展和確定性決策系統的需求比以往任何時候都更加迫切。 Semantic Router 透過利用語義向量空間的強大功能來做出快速、可靠的決策,同時仍允許在需要時與LLM 集成,從而提供強大的解決方案。它的靈活性、速度和確定性使其成為希望建立下一代AI 系統的開發人員不可或缺的工具。

隨著LLM 的發展和多樣化,Semantic Router 等工具對於確保Agent系統能夠執行、擴展和提供一致的結果至關重要。這將有助於開發人員找到在其工作流程中使用AI 的新方法。

參考連結:https://thenewstack.io/semantic-router-and-its-role-in-designing-agentic-workflows/