PydanticAI 是一個強大的 Python 框架,旨在簡化使用生成式 AI 的生產級應用程式的開發。它由廣泛使用的數據驗證庫 Pydantic 背後的同一團隊構建,旨在將 FastAPI 的創新和人體工學設計帶入人工智慧應用程式開發領域。 PydanticAI 專注於類型安全、模組化以及與其他 Python 工具的無縫整合。
PydanticAI 圍繞著幾個關鍵概念:
代理程式是與大型語言模型 (LLM) 互動的主要介面。代理充當各種組件的容器,包括:
代理專為可重複使用性而設計,通常實例化一次並在整個應用程式中重複使用。
系統提示是開發者提供給LLM的說明。他們可以是:
單一代理可以使用靜態和動態系統提示,這些提示會依照執行時間定義的順序附加。
功能工具使法學碩士能夠存取外部資訊或執行系統提示本身不可用的操作。工具可以透過多種方式註冊:
工具參數是從函數簽章中提取的,用於建立工具的 JSON 模式。函數的文檔字串用於產生工具的描述以及模式中的參數描述。
相依性透過相依性注入系統向代理程式的系統提示、工具和結果驗證器提供資料和服務。依賴項是透過 RunContext 物件存取的。它們可以是任何 Python 類型,但資料類別是管理多個相依性的便捷方法。
結果是代理運行傳回的最終值。它們包裝在 RunResult(用於同步和非同步運行)或 StreamedRunResult(用於串流運行)中,提供對使用資料和訊息歷史記錄的存取。結果可以是純文字或結構化數據,並使用 Pydantic 進行驗證。
透過 @agent.result_validator 裝飾器新增的結果驗證器提供了一種添加進一步驗證邏輯的方法,特別是當驗證需要 IO 並且是非同步時。
PydanticAI 擁有多項關鍵功能,使其成為人工智慧應用程式開發的絕佳選擇:
代理可以透過多種方式運作:
代理程式運行可能代表整個對話,但對話也可以由多次運行組成,特別是在維護互動之間的狀態時。您可以使用 message_history 參數傳遞先前執行的訊息以繼續對話。
PydanticAI 提供了一個 settings.UsageLimits 結構來限制令牌和請求的數量。您可以透過 use_limits 參數將這些設定套用到運行函數。
settings.ModelSettings 結構可讓您透過溫度、max_tokens 和逾時等參數微調模型行為。您可以透過運行函數中的 model_settings 參數來應用這些。
可以使用@agent.tool裝飾器(對於需要上下文的工具)、@agent.tool_plain裝飾器(對於沒有上下文的工具)或透過Agent建構函式中的tools參數來註冊工具。
參數描述從文件字串中提取並新增到工具的 JSON 架構中。如果工具具有可以表示為 JSON 模式中的物件的單一參數,則該模式將簡化為該物件。
可以使用準備函數來自訂工具,該函數在每個步驟中呼叫以修改工具定義或從該步驟中省略工具。
代理程式執行期間交換的訊息可以透過 RunResult 和 StreamedRunResult 物件上的 all_messages() 和 new_messages() 方法存取。
訊息可以傳遞到 message_history 參數以在多個代理程式運行之間繼續對話。當message_history設定且不為空時,不會產生新的系統提示。
訊息格式與模型無關,允許訊息在不同的代理中使用,或與使用不同模型的相同代理一起使用。
PydanticAI 與 Pydantic Logfire 集成,這是一個可觀察平台,可讓您監控和調試整個應用程式。 Logfire 可用於:
要將 PydanticAI 與 Logfire 一起使用,請使用 logfire 可選組進行安裝:pip install 'pydantic-ai[logfire]'。然後,您需要設定 Logfire 專案並驗證您的環境。
PydanticAI 可以使用 pip 安裝:
也可以使用精簡安裝來使用特定型號,例如:
要將 PydanticAI 與 Logfire 一起使用,請使用 logfire 可選組安裝它:
範例可作為單獨的包裝提供:
單元測試驗證您的應用程式程式碼的行為是否符合預期。對於 PydanticAI,請遵循以下策略:
評估用於衡量 LLM 的表現,更像是基準測試而不是單元測試。評估的重點是衡量法學碩士在特定申請中的表現。這可以透過端到端測試、綜合獨立測試、使用 LLM 評估 LLM 或透過測量生產中的代理性能來完成。
PydanticAI 可用於多種用例:
PydanticAI 提供了一個強大而靈活的框架,用於開發人工智慧應用程序,重點強調類型安全性和模組化。使用 Pydantic 進行資料驗證和結構化,再加上其依賴注入系統,使其成為建構可靠且可維護的人工智慧應用程式的理想工具。憑藉其廣泛的 LLM 支援以及與 Pydantic Logfire 等工具的無縫集成,PydanticAI 使開發人員能夠高效構建強大的、可用於生產的 AI 驅動專案。
以上是PydanticAI:建立生產就緒型人工智慧應用程式的綜合指南的詳細內容。更多資訊請關注PHP中文網其他相關文章!