For the complete documentation index, see llms.txt. This page is also available as Markdown.

AI 提供商

与 LLM 提供商交互,或扩展框架以实现新的提供商。

使用 Neuron,你只需一行代码即可在各个 LLM 提供商之间切换,而不会对你的智能体实现造成任何影响。

Anthropic

namespace App\Neuron;

use NeuronAI\Agent\Agent;
use NeuronAI\Chat\Messages\UserMessage;
use NeuronAI\Providers\AIProviderInterface;
use NeuronAI\Providers\Anthropic\Anthropic;

class MyAgent extends Agent
{
    protected function provider(): AIProviderInterface
    {
        return new Anthropic(
            key: 'ANTHROPIC_API_KEY',
            model: 'ANTHROPIC_MODEL',
            parameters: [], // 添加自定义参数(temperature、logprobs 等)
        );
    }
}

$message = MyAgent::make()
    ->chat(new UserMessage("Hi!"))
    ->getMessage();

echo $message->getContent();
// 嗨,今天我能帮你什么?

Anthropic 提示缓存

Anthropic 提供商提供了一个专用方法 systemPromptBlocks() 以利用系统提示缓存。无需使用 instructions() Agent 类中的方法,你可以将提示定义和缓存类型定义直接传递给提供商实例。

Google Vertex AI 上的 Anthropic

要使用此提供商,你需要安装 google auth 的 Composer 包:

下面是使用语法 AnthropicVertex 在你的智能体中。

OpenAIResponses

此组件使用最新的 OpenAI responses API:

OpenAI

此组件使用旧版 OpenAI completions API:

AzureOpenAI

此提供商允许你连接 Azure 云平台提供的 OpenAI 模型。

OpenAILike

此类简化了与提供相同数据格式的官方 OpenAI API 的提供商之间的连接。

Ollama

Gemini

Vertex AI 上的 Gemini

要使用此提供商,你需要安装 google auth 的 Composer 包:

下面是使用语法 GeminiVertex 在你的智能体中。

Mistral

ZAI

HuggingFace

Deepseek

Grok(X-AI)

AWS Bedrock Runtime

要使用 BedrockRuntime 提供商,你需要安装 aws/aws-sdk-php 包。

下面可以找到在你的智能体中使用它的语法。

Cohere

Alibaba DashScope

路由

官方 Neuron Router 在 Agent 会话和提供商 API 之间增加一层可靠性与管理层,为你和你的应用程序带来多项关键优势。

用于高可用性的提供商故障切换

提供商 API 偶尔会出现宕机或速率限制。使用 RouterProvider 时,你的请求会在多个底层提供商之间自动故障切换。若某个提供商不可用或受到速率限制,路由器会无缝切换到另一个,从而保持你的会话不中断。

路由逻辑控制

你可以使用如下路由逻辑 轮询 作为负载均衡器, 内容规则 根据消息中的内容块(图片、文件、音频、视频)来路由请求,或者 难度规则 以确定哪个模型最适合处理传入的提示。

首先安装该包:

现在使用 RouterProvider 类,就像在你的智能体类中使用其他提供商一样:

在上面的示例中,我们使用 RoundRobinRule 使路由器在已连接的 AI 提供商之间充当负载均衡器。该包自带多种内置规则,包括一个 LLM 分类器,可根据提示难度分数将调用路由到合适的模型: https://github.com/neuron-core/router#difficultyrule

自定义 HTTP 客户端

提供商使用 HTTP 客户端与远程服务通信。你可以通过显式传入一个带有自定义构造参数的实例来定制 HTTP 客户端配置,例如超时、自定义请求头等。

实现自定义提供商

如果你想创建一个新的提供商,你需要实现 AIProviderInterface 接口:

chat 方法应包含对底层 LLM 的调用。如果提供商不支持工具和函数调用,你可以用占位实现。

这是一个新的 AI 提供商实现的基本模板。

在创建自己的实现后,你可以在智能体中使用它:

最后更新于