描述
Langroid 是一个直观、轻量级且可扩展的 Python 框架,旨在简化大型语言模型 (LLM) 驱动的应用程序的开发。它基于受 Actor Framework 启发的**多代理编程范式**运行,开发人员在此范式中定义代理,为其配备 LLM、向量存储和工具等组件,然后通过消息交换来协调它们的协作式问题解决。
Langroid 的核心抽象是 `Agent`,它封装了 LLM 对话状态,并且可以与向量存储和工具进行增强。代理充当消息转换器,具有用于 LLM、Agent 和用户交互的默认响应方法。`Task` 类封装了一个 `Agent`,提供指令、管理迭代,并通过分层委托来协调多代理交互。这种模块化设计促进了可重用性和松耦合。
Langroid 支持广泛的 LLM,包括 OpenAI 模型以及来自数百个其他提供商(本地/开源或远程/商业)的模型,这些模型通常通过代理库和 Ollama、LiteLLM 等本地模型服务器进行访问,并且经常模仿 OpenAI API。它与 Qdrant、Chroma、LanceDB、Pinecone 和 PGVector 等各种向量存储集成,从而实现检索增强生成 (RAG),以实现基础和来源引用。该框架还通过利用 Pydantic 来简化模式定义和错误处理,为工具/插件/函数调用提供了强大的支持。
关键功能包括多代理协作、结构化信息提取、带来源引用的文档聊天 (RAG) 以及与表格数据的聊天。Langroid 注重开发者体验,提供 LLM 响应缓存、可观察性、日志记录和消息 lineage 跟踪等功能。它正在积极开发中,更新频繁,社区不断壮大,使其成为构建复杂 LLM 应用程序的强大选择。
Langroid的核心功能
用于 LLM 应用程序的多代理编程范式
用于协调 LLM 交互的 Agent 和 Task 抽象
支持广泛的 LLM,包括本地和专有模型
与多个向量存储集成以实现 RAG 功能
使用 Pydantic 支持工具/插件/函数调用
带来源引用的文档聊天 (RAG)
使用 Pandas 代码生成与表格数据聊天
LLM 响应缓存
可观察性、日志记录和消息 lineage 跟踪
可扩展且轻量级的 Python 框架
Langroid入门
克隆仓库:从 GitHub 获取 Langroid 代码库。
安装依赖项:设置虚拟环境并安装带有必要附加组件的 Langroid。
配置环境变量:设置 API 密钥和其他必需的凭据。
开发代理:使用 LLM、向量存储和工具定义代理。
协调任务:使用 Task 类管理代理交互和工作流。
执行应用程序:运行您的 LLM 驱动的应用程序。
Langroid的使用案例
- 多代理协作
- 信息提取
- 文档问答
- 数据分析
- 代码生成
- RAG 系统








