langroid/langroid
Harness LLMs with Multi-Agent Programming
Langroid – 一个用于构建多智能体 LLM 应用的轻量级 Python 框架
它是什么
- 一个开源的 Python 库(源自 CMU 和 UW-Madison),允许你创建、配置和运行由任意大型语言模型(LLM)驱动的智能体。
- 智能体可以配备语言模型、向量存储(用于检索增强生成)和自定义工具/函数,然后通过交换消息来协同完成任务。
核心概念
- Agent – 一个围绕 LLM 的轻量封装,维护对话状态并可以调用工具。
- Task – 一个可运行的单元,通过用户定义的循环驱动智能体(或子任务层级)。
- ToolMessage – 一种类型化消息,从 LLM 的推理过程中触发 Python 函数(工具)。
- 多智能体编排 – 智能体可以以父子关系链接,实现教师-学生对话、工具委派或协作信息提取等模式。
主要特性(如 README 中所列)
- 适用于任何兼容 OpenAI 的 LLM(OpenAI、Anthropic、Mistral、Gemini、通过 Ollama 的本地模型等)。
- 不依赖 LangChain 或其他 LLM 框架 – 纯粹、自包含。
- 内置支持多种向量存储(Qdrant、Milvus、Pinecone、pgvector、Weaviate、ArangoDB 等)和网络搜索工具(Tavily、Exa、Firecrawl)。
- 多模态输入(PDF、图像、HTML、PPTX 等)和专用解析器(GeminiPdfParser、docling、pymupdf4llm)。
- 通过 JSON schema 强制执行结构化输出。
- 工具调用支持少样本示例、自动处理“遗忘”的工具使用以及大结果截断。
- MCP(Multi-Chat-Protocol)工具适配器,用于连接外部工具服务器。
- 异步流式传输、上下文溢出截断、任务预算限制和无限循环检测。
- 可视化 HTML 日志记录器,用于交互式任务检查。
- 可扩展的 Claude Code 插件和用于多架构部署的 Docker 镜像。
典型用例
- 需要查询知识库或数据库的对话助手。
- 检索增强生成(DocChatAgent),用于回答文档相关问题。
- 结构化数据提取管道(例如,提取药物警戒报告)。
- 多智能体教学/学习模拟、工具委派工作流,或任何需要多个 LLM 协调的场景。
快速开始
pip install langroid # 或安装额外功能,例如 `pip install "langroid[doc-chat]"`
- 按照徽章中链接的快速入门 Colab 笔记本操作。
- 使用 LLM 配置创建
ChatAgentConfig,实例化ChatAgent,将其包装在Task中,然后调用task.run()。 - 有关多智能体示例,请参阅配套的
langroid-examples仓库。
文档与社区
- 完整文档:https://langroid.github.io/langroid/
- 示例仓库:https://github.com/langroid/langroid-examples
- Discord 社区、Substack 通讯和 Claude Code 插件,用于加速开发。
成熟度
- 积极维护(最新版本 0.68.0,2026 年 9 月),频繁发布功能、CI 测试、代码覆盖率和 Docker 构建。
- 被 Nullify 等公司用于生产环境,README 中有公开的推荐信。
许可证
- 该仓库是开源的(README 未指定许可证,但 PyPI 包在 OSI 批准的许可证下发布)。
相关
- 项目
- 项目
- 项目
- 项目
- 项目