开发框架
BeamAI Extra · BeamAI 的工具、RAG 与协议扩展
BeamAI 核心库只管 Agent 的基础;真正落地还需要工具、检索和与外部世界的协议。BeamAI Extra 把这些做成五个独立的 OTP 应用,用到哪个引哪个。
它依赖 BeamAI 核心库的 main 分支,与核心库共用 ChatClient、Tool 与 Filter 的约定。
工具 · RAG · MCP · A2A · AG-UI
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,可用于商业项目。