共用方式為


Azure Databricks 上的生成式 AI 應用程式簡介

馬賽克 AI 支援簡單且複雜的生成式人工智慧應用程式,從檢索增強生成(RAG)聊天機器人到工具調用代理程式。 瞭解 Gen AI 應用程式和代理程式系統背後的重要概念、探索常見的設計模式,並取得建置、評估及調整 Gen AI 應用程式的教學課程。

瞭解 Gen AI 應用程式概念

熟悉基本 Gen AI 應用程式概念。

了解馬賽克 AI 如何在 Gen AI 開發期間解決關鍵挑戰。

嘗試使用 Mosaic AI 建置生成式 AI 應用程式

開始使用下列 Notebook 教材:

當您準備好進行更複雜的作業時,請參閱進階指南和教學課程:

什麼是 Gen AI 應用程式?

Gen AI 應用程式是一種應用程式,其使用生成式 AI 模型(例如大型語言模型、影像生成模型和文字轉語音模型)來創建新的輸出、自動化複雜任務,或根據使用者輸入進行智慧互動。 雖然 Gen AI 應用程式可以使用各種模型,但本指南著重於 LLM 支援的應用程式。

雖然 LLM 支援的 Gen AI 應用程式可以以不同的方式建置,但它們通常屬於兩種架構模式的其中一種:

類型 1:整合型 LLM + 提示 類型 2 (建議): 代理程式系統
是什麼? 具有精心設計提示的單一 LLM。 多個互動元件(LLM 呼叫、擷取器、API 呼叫)協調在一起 -- 範圍從簡單的鏈結到複雜的多代理程序系統。
範例使用案例 內容分類: 使用 LLM 將客戶支援票證分類為預先定義的主題。 智慧助理: 結合文件擷取、多次 LLM 呼叫和外部 API 來研究、分析和生成全面的報告。
最適合 簡單、專注的工作、快速原型,以及清楚、定義完善的提示。 複雜的工作流程、需要多個功能的工作,以及需要反映先前步驟的工作。
主要優點 更簡單的實作、更快速的開發,以及較低的作業複雜度。 更可靠且易於維護、更好的控制和彈性、更容易測試和驗證,以及元件層級優化。
限制 較不具彈性、更難優化,且功能有限。 更複雜的實作、更初始的設定,以及需要元件協調。

針對大部分的企業使用案例,Databricks 建議 代理程式系統 藉由將系統分成較小的定義元件,開發人員可以更妥善地管理複雜度,同時維護企業應用程式所需的高等級控制和合規性。

馬賽克 AI 具有適用於整合型系統和代理程式系統的工具和功能,本檔的其餘部分涵蓋建置這兩種類型的 Gen AI 應用程式。

若要深入瞭解代理系統與整合型模型背後的理論, 請參閱 Databricks 創始人的部落格文章:

什麼是代理程序系統?

代理程式系統是一種 AI 驅動系統,可以自主感知、決定及採取行動,以達成目標。 不同於只有在出現提示時才會產生輸出的獨立 LLM,代理系統擁有一定程度的 自主性。 以新式 LLM 為基礎的代理程式系統會使用 LLM 作為「大腦」來解譯內容、下一步作的原因,以及發出 API 呼叫、擷取機制和工具調用等動作來執行工作。

代理程序系統是具有 LLM 核心的系統。 該系統:

  1. 接收來自另一個代理程式的使用者要求或訊息。
  2. 如何繼續的原因:要擷取哪些數據、要套用哪些邏輯、要呼叫哪些工具,或是否要向使用者要求更多輸入。
  3. 執行計劃,並可能呼叫多個工具或委派給子代理程式。
  4. 傳回答案或提示用戶進行其他釐清。

藉由橋接 一般智慧 (LLM 的預先定型功能)和數據 智慧 (您企業特有的特殊知識和 API),代理程式系統可啟用高影響力的企業使用案例,例如進階客戶服務流程、數據豐富的分析 Bot,以及複雜作業工作的多代理程式協調流程。

代理程式系統可以做什麼?

代理程式系統可以:

  • 動態規劃行動
  • 將狀態從一個步驟移至下一個步驟
  • 在不持續人為介入的情況下,根據新資訊調整其策略

當系統詢問時,獨立 LLM 可能會輸出旅行行程,代理系統可以利用工具和 API 來自動擷取客戶資訊並自主預訂航班。 藉由結合 LLM 的「一般智慧」與「數據智慧」(領域特定數據或 API),代理程式系統就可以處理單一靜態模型難以解決的複雜企業使用案例。

能動性是一個連續體;您讓模型控制系統行為的自由度越大,應用程式就越具自主性。 在實務上,大部分的生產系統會謹慎限制代理程式的自主權,以確保合規性和可預測性,例如要求人為核准有風險的動作。

一般智慧與數據智慧

比較一般智慧與數據智慧的圖表。

  • 一般智能: 是指 LLM 透過廣泛的多樣化文本預訓練所獲得的固有知識。 這適用於語言流暢和一般推理。
  • 數據智慧: 是指貴組織的網域特定數據和 API。 這可能包括客戶記錄、產品資訊、知識庫或反映您唯一商務環境的檔。

代理程式系統會混合這兩種觀點:它們從 LLM 的廣泛、一般知識開始,然後引進即時或領域特定數據,以回答詳細問題或執行特製化動作。

代理程式系統範例

客戶與 gen AI 應用程式的互動流程圖。

請考慮客戶與人工智慧客服代理之間的呼叫中心場景:

客戶提出要求:「你能幫我退回我的最後一筆訂單嗎?

  1. 原因和計劃:假設查詢的意圖,代理程式「計劃」:「查閱使用者最近的訂單並檢查我們的傳回原則」。
  2. 尋找資訊(數據智慧):代理人查詢訂單資料庫以擷取相關訂單,並參考政策文件。
  3. 原因:代理程式會檢查該順序是否符合傳回視窗。
    • 可選的人工介入: 系統會檢查額外規則:如果商品屬於特定類別或超出正常退回期限,則升級至由人類處理。
  4. 動作:代理程式會觸發傳回程式併產生出貨標籤。
  5. 原因:代理程式會產生對客戶的回應。

AI 代理程式會回應客戶:「完成! 以下是您的出貨標籤...

這些步驟在人工客服中心的情境中是習以為常的。 在 代理程式系統 環境中,當系統呼叫專用工具或數據源來補充細節時,LLM 會進行“推理”。

代理程式系統所使用的工具和數據源。

複雜度層級:從 LLM 到代理程序系統

建置 AI 系統時,可能會遇到數種複雜度層級。

  • LLM (LLM + 提示)

    • 獨立 LLM 會根據來自龐大訓練數據集的知識回應文字提示。
    • 適用於簡單或一般查詢,但通常無法直接關聯到您實際的商務數據。

    LLM 回應使用者

  • 硬編碼代理系統 (「Chain」)

    • 開發人員會協調具決定性的預先定義步驟。 例如,RAG 應用程式一律可以從向量存放區擷取,並將結果與使用者提示合併。
    • 邏輯已確定,LLM 不會決定要呼叫下一個工具。

    硬式編碼的工具鏈

  • 工具呼叫代理系統

    • LLM 決定要在運行時間使用哪個工具,以及何時使用此工具。
    • 此方法支援動態且情境感知的決策,決定要使用哪些工具,例如CRM資料庫或Slack發布API。

    AI 代理程式會合理化計劃,並使用工具加以執行。

  • 多代理程式系統

    • 多個特製化代理程式,每個代理程式都有自己的函式或網域。
    • 協調器(有時是 AI 主管,有時基於規則)決定要在每個步驟調用的代理程式。
    • 代理人可以在不影響整體對話流程的情況下相互交接任務。

    協調器會管理多個 AI 代理程式。

建置任何 LLM 支援的應用程式時,請開始簡單。 當您真正需要它們以取得更佳的彈性或模型驅動決策時,引進更複雜的代理行為。 具決定性鏈結為定義完善的工作提供可預測的規則型流程,而更多的代理方法則以額外的複雜度和潛在延遲為代價。

馬賽克 AI 代理程式架構 與這些模式無關,因此在應用程式需求成長時,能夠輕鬆地開始簡單並發展為更高層級的自動化和自主性。

代理程式系統中的工具

在代理程式系統的內容中,工具是單次互動功能, LLM 可能會叫用以完成明確的任務。 AI 模型通常會為每個工具呼叫產生參數,而此工具提供直接的輸入輸出互動。 工具端沒有多回合記憶體。

一些常見的工具類別包括:

  • 擷取或分析數據的工具
    • 向量擷取工具: 查詢向量索引以找出最相關的文字區塊。
    • 結構化擷取工具: 查詢 Delta 資料表或使用 API 來擷取結構化資訊。
    • 網路搜尋工具: 搜尋因特網或內部網頁資料庫。
    • 傳統 ML 模型: 叫用 ML 模型來執行分類或回歸預測的工具,例如 scikit-learn 或 XGBoost 模型。
    • Gen AI 模型: 執行專門化生成的工具,例如程式碼或圖像生成,並傳回結果。
  • 修改外部系統狀態的工具
    • API 呼叫工具: 適用於「更新寄送狀態」等工作的CRM端點、內部服務或其他第三方整合。
    • 程式代碼執行工具: 在沙箱中執行使用者提供的 (或在某些情況下為 LLM 產生的) 程式代碼。
    • Slack 或電子郵件整合: 張貼訊息或傳送通知。
  • 執行邏輯或執行特定工作的工具
    • 程式代碼執行程式工具: 在沙箱中執行使用者提供或 LLM 產生的程式代碼,例如 Python 腳本。

若要深入了解馬賽克 AI 代理程式工具,請參閱 AI 代理程式工具

工具的主要特性

代理程式系統中的工具:

  • 執行單一定義完善的作業。
  • 請勿在該次調用之外維持持續的上下文。
  • 允許代理程式系統連線到 LLM 無法直接存取的外部資料或服務。

工具錯誤處理和安全性

因為每個工具呼叫都是外部作業,例如呼叫 API,所以系統應該正常處理失敗,例如 - 逾時、錯誤處理格式不正確的回應或無效的輸入。 在生產環境中,限制允許的工具呼叫數目、如果所有工具呼叫都失敗,則具有後援回應,並套用護欄以確保代理程式系統不會重複嘗試相同的失敗動作。

查看更多