jjyaoao/HelloAgents
A agent framework based on the tutorial hello-agents
HelloAgents – 模块化多智能体框架
是什么 – HelloAgents 是一个 Python 库,可让你通过 函数调用 接口与大型语言模型(LLM)通信,构建 多智能体 应用程序。它提供了开箱即用的构建模块——一个发送提示、接收工具调用、执行工具、反馈结果的循环——以及可选的上下文处理、检索增强生成(RAG)、持久化记忆、子智能体、技能、流式输出和可观测性组件。
核心组件
- 核心 –
SimpleAgent、ReActAgent、ReflectionAgent、PlanSolveAgent实现了不同的推理模式。HelloAgentsLLM抽象了 OpenAI 兼容、Anthropic 和 Gemini 提供商,能根据LLM_BASE_URL自动检测正确的适配器。 - 工具系统 – 通过
ToolRegistry注册工具(例如计算器)。内置工具涵盖文件编辑、任务委派、开发日志、RAG、记忆、GraphRAG、权限、熔断器等。 - 上下文引擎 – 管理对话历史、令牌预算、截断,并构建发送给模型的最终负载。
- 检索与记忆 – 支持可插拔的向量存储(Qdrant)、BM25、混合排名、重排序,以及用于存储用户特定事实的持久化“资料库”存储。
- 运行时 – 处理异步循环、流式 SSE 输出、跨模型预算共享、会话持久化和后台任务。
快速上手
- 使用
uv sync --locked或pip install -r requirements.txt安装(Python 3.12–3.13)。 - 定义包含模型 ID、API 密钥和基础 URL 的
.env文件。 - 注册所需工具,创建
HelloAgentsLLM实例,然后实例化一个SimpleAgent并调用agent.run(prompt)。
from hello_agents import SimpleAgent, HelloAgentsLLM, ToolRegistry
from hello_agents.tools import CalculatorTool
registry = ToolRegistry()
registry.register_tool(CalculatorTool())
with HelloAgentsLLM() as llm:
agent = SimpleAgent("assistant", llm, tool_registry=registry)
print(agent.run("计算两晚住宿每晚 320 元,加上 180 元交通费的总预算"))
可扩展性 – 可通过 AgentComponents 添加任意可选组件(例如 RAG 存储、记忆存储、子智能体)。框架还支持:
- MCP 桥接 用于外部工具集成(stdio/HTTP)。
- 熔断器 和 权限 策略,用于沙箱化工具执行。
- 通过
TraceLogger实现可观测性,用于追踪运行过程。
文档与示例 – 仓库包含完整的文档层级(安装、可靠性、工具响应协议、上下文工程、RAG、GraphRAG、记忆、子智能体、流式输出等),以及一个丰富的 examples/ 文件夹,展示了每个功能,从简单的异步智能体演示到完整的旅行助手应用。
社区与版本
- 两个主要分支:
learn_version(与 Datawhale 教程对齐)和当前的v1.0.1版本。 - 提供 Go 和 TypeScript 的社区移植版本链接。
- 采用 CC BY-NC-SA 4.0 许可(非商业用途);商业用途需获得许可。
适用人群 – 希望使用工具、检索和记忆功能构建 LLM 驱动的智能体,但又不想从零开始手动搭建所有组件的开发者。
相关
- 项目
- 项目
- 项目
- 项目
- 项目