AI代理包装器

CereBro是一个与模型无关的AI代理包装器,支持多种AI模型,适用于需要统一接口调用不同AI模型的开发场景。

  • by rob1997
  • C#
  • 本地部署
  • 16 星标
  • 更新于
在 GitHub 查看 rob1997/CereBro

使用说明

脑波增幅器

CereBro是一个模型无关的AI代理包装器。网。现在与🔥 模型上下文协议 🔥 , 基于 官方C#SDK,您可以编写可用于不同AI模型的工具,而无需更改代码。

模型

以下是CereBro支持和计划中的型号列表。

支持:

计划:

安装

您可以使用以下命令从NuGet安装程序包:

dotnet add package Rob1997.CereBro

dotnet add package Rob1997.CereBro.Open-AI

用法

第一步:创建 servers.json 文件

此文件将包含您要使用的MCP服务器的配置。下面是一个例子 servers.json 文件。

[
  {
    "Id": "everything-server",
    "Name": "Everything",
    "TransportType": "stdio",
    "TransportOptions": {
      "command": "npx",
      "arguments": "-y @modelcontextprotocol/server-everything"
    }
  }
]

您可以查看更多服务器 这里.

步骤2:将您的OpenAI API密钥添加到环境变量中

export OPEN_AI_API_KEY="your-api-key"
$env:OPEN_AI_API_KEY="your-api-key"

如果你希望这是永久性的,你可以将其添加到你的 .bashrc 或 .bash_profile linux中的文件或在PowerShell中使用以下命令。

[Environment]::SetEnvironmentVariable("OPEN_AI_API_KEY", "your-api-key", "User")

步骤3:将以下代码添加到您的 Program.cs (入口点)

public static async Task Main(string[] args)
{
    var builder = Host.CreateApplicationBuilder(args);
    
    builder.Services.UseOpenAI(Environment.GetEnvironmentVariable("OPEN_AI_API_KEY"), "gpt-4o-mini");
            
    IHost cereBro = builder.BuildCereBro(new CereBroConfig{ ServersFilePath = "./servers.json" });

    await cereBro.RunAsync();
}

CereBro将Console用作聊天调度器。您可以通过实现以下命令来创建自己的调度器 IChatDispatcher 接口和使用 builder.BuildCereBro<IChatDispatcher>(config) 建造CereBro的主机。

步骤4:运行应用程序

dotnet run

添加新模型

目前,CereBro仅支持 OpenAI的模型。要添加新模型,您需要实施 Microsoft.Extensions.AI.IChatClient,除非它已经存在,否则微软已经实现了一些型号,如 OpenAI 和 没有.

完成后,您可以创建一个占位符类型来实现 Microsoft.Extensions.AI.FunctionInvokingChatClient 大约 这.

最后,您可以使用 UseChatClient<T>(this IServiceCollection services, IChatClient chatClient) where T : FunctionInvokingChatClient 扩展方法将您的模型添加到服务集合中。

⚠️ 备注 ⚠️

目前CereBro不支持同时使用多个模型,因此您必须删除 UseOpenAI 方法从 Program.cs 文件以使用另一个模型。

CereBro。统一

CereBro。Unity是一个Unity包,允许您在Unity中使用CereBro。 自述.

贡献

如果你想为项目做出贡献,你可以分叉存储库并创建一个pull请求。如果您发现任何错误或有任何功能请求,也可以创建问题。