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 频道和反馈渠道,鼓励开发者参与贡献。