开发框架

BeamAI Extra · BeamAI 的工具、RAG 与协议扩展

BeamAI 核心库只管 Agent 的基础;真正落地还需要工具、检索和与外部世界的协议。BeamAI Extra 把这些做成五个独立的 OTP 应用,用到哪个引哪个。

它依赖 BeamAI 核心库的 main 分支,与核心库共用 ChatClient、Tool 与 Filter 的约定。

工具 · RAG · MCP · A2A · AG-UI

Erlang:创建并运行一个 Agent
LLM = beamai_chat_model:create(anthropic, #{
    model => <<"glm-4.7">>,
    api_key => list_to_binary(os:getenv("ZHIPU_API_KEY")),
    base_url => <<"https://open.bigmodel.cn/api/anthropic">>
}),

{ok, Agent0} = beamai_agent:new(#{
    system_prompt => <<"你是一个有帮助的助手。"/utf8>>,
    llm => LLM
}),

{ok, Result, _Agent1} = beamai_agent:run(Agent0, <<"你好!"/utf8>>),
Content = maps:get(content, Result).

功能

能做什么

  • beamai_tools:工具与中间件

    文件、Shell、Todo、人机交互等现成工具,加上一套 Middleware 系统,给工具调用加上权限、确认与审计。

  • beamai_rag:检索增强生成

    文本分割、向量嵌入与相似度搜索,把你的资料接进 Agent 的上下文。

  • beamai_mcp:Model Context Protocol

    MCP 的客户端与服务端:既能让 Agent 使用外部 MCP 工具,也能把你的能力以 MCP 服务对外提供。

  • beamai_a2a:Agent-to-Agent

    A2A 协议实现,让不同进程、不同系统里的 Agent 互相发现、互相调用。

  • beamai_agui:AG-UI Runtime

    Agent 事件流的服务端,对标 CopilotKit runtime,把 Agent 的运行过程以 AG-UI 事件流推给前端界面。

规格

技术规格

运行环境Erlang/OTP,rebar3 构建;依赖 BeamAI 核心库(main 分支)
组成beamai_tools、beamai_rag、beamai_mcp、beamai_a2a、beamai_agui 五个 OTP 应用
许可Apache License 2.0

常见问题

你可能想问

必须把五个扩展都引进来吗?

不需要。五个扩展是独立的 OTP 应用,只引用你需要的那个即可。

MCP 支持客户端还是服务端?

两者都支持:Agent 可以调用外部 MCP 服务的工具,你的系统也可以作为 MCP 服务端对外提供工具。

许可协议是什么?

Apache License 2.0,可用于商业项目。

开源

Apache 2.0 协议开源

引擎、测试、基准与设计文档都在仓库里,欢迎读、改、提 issue。

相关框架

BeamAI · Erlang/OTP 的 AI Agent 框架

在 Erlang/OTP 上构建 AI Agent:六家厂商统一的 LLM 客户端、ChatClient 与工具调用、洋葱式 Filter、带会话记忆的 ReAct Agent。