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 仓库。

文档与社区

成熟度

  • 积极维护(最新版本 0.68.0,2026 年 9 月),频繁发布功能、CI 测试、代码覆盖率和 Docker 构建。
  • 被 Nullify 等公司用于生产环境,README 中有公开的推荐信。

许可证

  • 该仓库是开源的(README 未指定许可证,但 PyPI 包在 OSI 批准的许可证下发布)。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目