在 Azure Databricks 上使用 DSPy 建立 AI 應用程式

本文介紹 DSPy,並提供範例筆記本示範如何在 Azure Databricks 上使用 DSPy 來建構與優化 AI 代理。

什麼是 DSPy?

DSPy 是一個用於程式化定義與優化 AI 代理的框架。 DSPy 可以自動化提示工程,並協調 LLM 微調以改善效能。

DSPy 包含數位元件,可簡化代理程式開發並改善代理程式品質:

  • 模組:在 DSPy 中,這些是處理特定文字轉換的元件,例如回答問題或摘要。 它們取代傳統的手寫提示,並可以從範例中學習,使其更容易適應。
  • 簽章:模組輸入和輸出行為的自然語言描述。 例如,「問題 -> 答案」指定模組應以問題作為輸入並傳回答案。
  • 編譯程式:這是 DSPy 的優化工具。 它透過調整模組以符合效能指標,從而改善 LM 管線,這可以是透過生成更好的提示或是微調模型來達成。
  • Program (DSPy):一組模組被連接成流水線來執行複雜任務。 DSPy 程式具有彈性,可讓您使用編譯程式來優化和調整它們。

建立文字分類器 DSPy 程式

下列筆記本示範如何建立執行文字分類的 DSPy 程式。 此範例示範 DSPy 的運作方式及其使用元件。

建立一個用於DSPy程式的文字分類器筆記本

拿筆記本

用 AI 搜尋索引搭配 DSPy 程式來做 RAG

以下筆記本說明如何建立 AI 搜尋索引,並與執行 RAG 的 DSPy 程式一起使用。

建立一個用於DSPy程式的文字分類器筆記本

拿筆記本

多代理系統含 Genie 與 DSPy

下列筆記本示範如何建立協調這些類型代理程式的多代理程式系統:

  • 精靈特工
  • 部署至 Model Serving 的代理
  • 使用 DSPy 建構的 UC 函式呼叫代理程式。

使用 Genie 和 DSPy 的多代理系統

拿筆記本

建立一個用於RAG的DSPy程式

這些筆記本會示範如何使用 DSPy 建立及優化基本 RAG 程式。 這些筆記本假設您正在使用無伺服器計算,並在筆記本層級安裝套件,以確保它們能夠獨立於 Databricks Runtime 版本運行。

第一部分:為 RAG DSPy 程式筆記本準備資料與 AI 搜尋索引

拿筆記本

第 2 部分:建立及優化 RAG 筆記本的 DSPy 程式

拿筆記本

將 LangChain 遷移至 DSPy

這些筆記本會示範如何將 LangChain 模型程式代碼移轉至 DSPy,並將其優化以提升效能。 這些筆記本假設您正在使用無伺服器計算,並在筆記本層級安裝套件,以確保它們能夠獨立於 Databricks Runtime 版本運行。

將 LangChain 模型程式代碼遷移至 DSPy 筆記本

拿筆記本

優化您已移轉的 DSPy 模型筆記本

拿筆記本