AI Symfony:使用 PHP 組件構建 AI 驅動應用
Symfony AI 是一組解耦的 PHP 組件,用於 AI 集成,包括平台抽象、向量存儲、智能體框架和 Symfony 集成。提供模型推理、流式輸出、語音、多模態、結構化輸出、智能體、工具調用、RAG 等功能,還包含 MCP PHP SDK 和 Symfony Mate 用於 AI 輔助開發。
Symfony AI 是一組解耦的 PHP 組件,旨在簡化 AI 功能的集成。這些組件可以獨立於完整框架使用,基礎層抽象了第三方服務的具體細節。
組件架構包括:Platform(統一 AI 提供商接口)、Store(向量數據庫抽象)、Agent(AI 智能體框架)以及 AI Bundle(Symfony 框架集成)。
功能方面,Symfony AI 支持模型推理,通過單一方法調用即可向任何 AI 模型發送提示並獲得響應。Platform 抽象了提供商之間的差異,開發者可以在 OpenAI、Anthropic、Mistral 或本地模型之間切換,而無需更改應用代碼。流式輸出功能允許逐令牌顯示響應,實現實時輸出,類似 ChatGPT 的效果。語音功能支持文本轉語音和語音轉文字,可藉助 ElevenLabs 或 OpenAI Whisper 等提供商構建語音助手或播客轉錄工具。多模態支持允許在文本旁發送圖像、PDF 和音頻,用於分析照片、提取文檔數據或處理錄音。結構化輸出可將 AI 響應直接映射為 PHP 對象,自動反序列化,獲得類型安全的對象。
智能體功能允許構建自主智能體,能夠推理、規劃並執行多步驟任務。Agent 包裝了模型和工具,處理工具調用、讀取結果並決定下一步操作,直至任務完成。令牌使用跟蹤功能精確記錄每次請求的提示令牌、完成令牌和總令牌數,便於監控成本和優化提示。工具調用讓 AI 模型能夠調用 PHP 函數來獲取數據或觸發動作,開發者只需將工具定義為簡單類,框架會自動處理模式生成和參數傳遞。子智能體支持將智能體用作其他智能體的工具,協調者智能體可以將數學、研究或翻譯等專業任務委派給專門的子智能體。RAG 功能將文檔索引到向量存儲中,自動檢索相關上下文,使 AI 能回答關於自有數據的問題。
Symfony AI 還提供了多個演示,包括聊天機器人 UI、RAG 管道、YouTube 轉錄機器人、食譜機器人、維基百科研究機器人等。開發者可以通過 Composer 創建項目,快速上手。
此外,Symfony AI 包含了與 PHP 基金會合作開發的官方 MCP PHP SDK,可以創建暴露工具和資源的 MCP 服務器,或連接現有服務器。Symfony Mate 是一個用於 AI 輔助開發的 MCP 服務器,允許 Claude Code、Copilot 或 Codex 等 AI 助手直接訪問 Symfony 應用的分析數據、日誌和容器服務,幫助實時調試和理解應用。
Symfony AI 社區活躍,提供文檔、Slack 頻道和反饋渠道,鼓勵開發者參與貢獻。