paint-brush
这个开源框架将全功能 AI 代理带入你的 PHP 应用程序经过@valerio
新歷史

这个开源框架将全功能 AI 代理带入你的 PHP 应用程序

经过 Inspector.dev7m2025/03/07
Read on Terminal Reader

太長; 讀書

如果您的客户敦促您在应用程序中实现 AI 功能,请尝试 Neuron,只需几行代码即可实现您的第一个全功能代理。
featured image - 这个开源框架将全功能 AI 代理带入你的 PHP 应用程序
Inspector.dev HackerNoon profile picture

在过去的几个月里,我努力将 AI 代理集成到我的 SaaS 产品中,并将其推向更高的水平。这是一个非常漫长的旅程,从一年多前的第一次实验开始。我不得不说,理解 AI 驱动系统的所有活动部件绝非易事。


作为一名 PHP 开发人员,我遇到了很多困难,主要是因为 PHP 生态系统在将这种“Agentic”功能开发到现有应用程序中时并不像其他技术那样先进和丰富。


Python 和 Javascript 正在“驾驶巴士”,显然使用不同编程语言的其他开发人员也在创造他们的成果,以获得开始他们的旅程的机会。


六个月前,当我开始撰写本章时,我考虑了一些受到关注的软件包,例如LLPhantPrism 。这些软件包背后有很多开发,它们已经实现了很多东西。但是对于我的需求而言,它们的缺陷太严重了,因此无法考虑在这些库上为我的业务构建本章的基础。Prism 专为 Laravel 而设计,因此您被锁定了,而 LLPhant 有很多不同的类,看起来更像是一个库而不是框架。它还缺少内存、聊天历史记录、可观察性等功能。

不可持续的道路

从一开始我就意识到我不能考虑其他编程语言。这是不可持续的。我相信对于大多数专注于某一特定技术的开发人员来说也是如此。


如果您有 PHP 应用程序,则无法使用 javascript 或 Python 实现代理,因为它们需要您的应用程序数据和上下文来产生它们的魔力。将这些数据和上下文转移到用另一种语言编写的外部实体会导致大量代码重复或不可持续的技术限制。


我很好奇,这是否只是我一个人的挣扎,或者这些感受是否与其他 PHP 开发人员相同。


我开始认为我为自己创建的工具确实非常好,至少在我看来是如此。


因此我决定将这个内部工具作为一个开源项目发布: Neuron AI ,一个开源框架,用于将全功能的 AI 代理集成到您现有的 PHP 应用程序中。


https://neuron.inspector.dev

为什么我决定将其开源

我想探索的旅程受到 LangChain 的启发,它让人们能够使用完整的开源工具包在 PHP 应用程序中创建 Agentic 实体。并通过 Inspector.dev 提供的专业监控和调试服务提供支持和长期可见性


同时我相信它确实能帮助PHP开发者以更坚实的基础“跳上AI巴士”。

在我看来,这是一个很好的机会。我希望它能给你提供你正在寻找的答案,以便继续使用你首选的编程语言构建出色的软件。


该系统的组织方式如下:

关键概念

Neuron AI 旨在为您提供完整的工具包来实现 AI 驱动的应用程序,使其轻松集成到您现有的系统中。


大多数 Neuron AI 框架组件不实现主动构造函数,它们仅为您提供实现自己的代理行为的功能。两个最重要的类AgentRAG旨在扩展以创建您的特定实现。它们很少用作独立对象。


这确保了代理实现的可移植性,因为所有移动部件都封装到单个实体中,您可以在应用程序的任何位置运行该实体。


 namespace App\Agents; use NeuronAI\Agent; use NeuronAI\Providers\Anthropic; use NeuronAI\Tools\Tool; class SEOAgent extends Agent { public function provider(): AIProviderInterface { // return an AI provider instance (Anthropic, OpenAI, Mistral, etc.) return new Anthropic( key: 'ANTHROPIC_API_KEY', model: 'ANTHROPIC_MODEL', ); } public function instructions() { return "Act as an expert of SEO (Search Engine Optimization). ". "Your role is to analyze a text and provide suggestions on how the content can be improved to better rank on Google search."; } public function tools(): array { return [ Tool::make( "get_file_content", "Use the url to get the content in plain text." )->addProperty( new ToolPropertry( name: 'url', type: 'string', description: 'The URL of the article you want to analyze.', required: true ) )->setCallable(function (string $url) { return file_get_contents($url); }) ]; } }


与经纪人交谈


use NeuronAI\Chat\Messages\UserMessage; $response = SEOAgent::make($user) ->chat( new UserMessage("Give me your feedback about this article: https://inspector.dev/introduction-to-neuron-ai-create-full-featured-ai-agents-in-php/") ); echo $response->getContent(); // It seems like a good job has been done on the article, // however I can give you some tips to improve SEO:...

软件包依赖项

我们有意决定尽可能地摆脱外部依赖,让 Neuron 免于构建。该软件包仅附带一个依赖项: “guzzlehttp/guzzle”:“^7.0”


由于无需在应用程序中引入数十个依赖项,因此如果您需要升级当前架构(如 Web 应用程序框架(Laravel、Symfony、CodeIgniter 等))到较新版本,或者集成新的依赖项,您就不会面临被 Neuron 锁定的风险。


根据我们的经验,如果为时已晚,不良的依赖链可能会带来非常不愉快的意外。您已经花费了大量精力来实现 AI 交互,但突然间它却成为了瓶颈,因为依赖关系使得无法升级和改进系统的其余部分。


我们想让您知道,对于 Neuron AI 来说情况并非如此。

可扩展性

框架的每个组件都依赖于其自己的接口。这保证了您能够为每个组件创建新的具体实现,以便与外部系统进行交互并放心地将它们传递给您的代理。


在组件文档中,您将找到有关如何实现新组件(基本上是扩展其接口)的专门部分。

您是否想实现新的Vector StoreEmbeddings Provider ?请遵循文档并随时向我们发送包含新模块的 PR。我们很乐意将它们集成为框架的一部分,以确保第一方支持和维护。

AI 代理可观察性

Neuron 内置有系统,可让您的代理和 RAG 实现可观察。您只需一行代码即可开始监控代理活动和性能。请查看可观察性部分中的专用部分。

神经元 AI 工具包

要创建一个功能齐全的 AI 代理,您必须让几件事协同工作。除了 LLM,您还需要不断处理数据、创建和存储嵌入,以便为您的代理提供新信息。


该项目旨在为所有这些领域提供易于实施和扩展的解决方案。

发布后接下来会发生什么

在 Inspector,我们拥抱有机增长。因此,我们希望开始帮助开发人员创建他们的第一个代理,以发现极端情况、新需求,当然还有错误修复。


我们已经与 +10K PHP 开发人员的内部用户群合作,他们现在正在启动他们的代理,并且许多令人兴奋的事情正在出现。


实际用例将成为框架演进的驱动力,因此如果您想从我们的经验中获取一些知识,请随时联系我们。我们随时为您提供帮助。

结论

如果您的客户敦促您在应用程序中实现 AI 功能,请尝试 Neuron,只需几行代码即可实现您的第一个全功能代理。


感谢您阅读本文,如果您有任何问题、好奇心或只是想给我反馈,欢迎您联系我。如果您认为此工具对其他 PHP 开发人员有用,请在您的博客、社交媒体和 YouTube 频道上分享。

在网站上了解有关检查器的更多信息: https://inspector.dev


最好的,

瓦莱里奥