LlamaAgents
用异步事件工作流编排并部署文档型智能应用。
- Star 数
- ★ 464
- 最近更新
- 6 天前
- License
- MIT
- 主语言
- Python
- FA 评分
- 66/100 · 存在缺口
30 秒速览
- 运行形态
- 可在哪里用
- 兼容但需适配
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 中 · 需要几步配置
- 开始前需要
- 典型场景
- 需要把 OCR、结构化抽取、分类、自定义校验和人工复核串成可靠流程的文档处理团队。
- 不适合
- 需要开箱即用文档解析能力的团队,OCR 与结构化抽取需自行接入 LlamaParse 等外部服务
- 只想用现成聊天机器人或图形界面的用户,本项目以 Python 代码与命令行集成为主
- 源码审查
- 66/100 · 存在缺口
这个 Agent 能做什么,适合哪些场景?
LlamaAgents 是一个面向 Python 的开源框架,用于构建和交付以文档为中心的智能应用。其核心 Agent Workflows 将流程表示为一组异步步骤:步骤消费事件、执行处理,再发出后续事件,从而支持分支、循环、并行执行和状态持久化。工作流可以直接嵌入脚本、Notebook、FastAPI 或 Starlette 应用,也可以通过 llama-agents-server 暴露为带流式输出、持久化和人工介入能力的 REST API。llama-agents-client 提供配套异步客户端,llamactl 则负责初始化、开发和部署应用。部署范围涵盖 LlamaParse、AWS Bedrock AgentCore 和自有基础设施,应用形式可以是无界面工作流服务、MCP 服务器或带 UI 的全栈应用。
开发者通过继承 Workflow 并用 @step 标记异步 Python 函数来定义执行步骤;步骤接收 StartEvent 等事件,并返回或发出 StopEvent 等后续事件。流程可串接 OCR、大模型调用、结构化抽取、分类、自定义校验、图像分析和人工审核,但这些具体处理需要由应用代码或外部服务提供。运行时能够进行分支、循环、并行化、状态持久化以及失败后的恢复,并最终通过 StopEvent.result 等字段产出结果。工作流可以用 await workflow.run(...) 在进程内执行,也可以注册到 WorkflowServer,通过 REST API、流式响应及 llama-agents-client 供其他服务调用。llamactl 提供从模板初始化、本地热重载到创建部署的命令,并可将应用交付为工作流服务、MCP 服务器或全栈应用。
- 需要把 OCR、结构化抽取、分类、自定义校验和人工复核串成可靠流程的文档处理团队。
- 先在 Notebook 中验证少量合同处理方案、之后希望沿用同一套工作流代码上线的 Python 开发者。
- 每月处理大量发票,并需要把执行放在客户防火墙或受限环境内的企业团队。
- 希望把现有异步工作流挂载进 FastAPI 或 Starlette,并以 REST API 提供给其他服务的后端团队。
- 需要频繁迭代抽取逻辑,同时希望通过持久化和失败恢复减少长流程重跑的工程团队。
- 希望使用 CLI 将工作流部署到 LlamaParse、AWS Bedrock AgentCore 或自有基础设施的应用团队。
如何安装或部署这个 Agent?
最小的库模式安装命令如下:
pip install llama-index-workflows源码只明确要求 Python,但没有给出最低 Python 版本、虚拟环境步骤或完整依赖矩阵。基础的进程内工作流未注明需要凭据;接入 LlamaParse、AWS Bedrock AgentCore 或其他外部服务时所需的账户、凭据和配置未在所给材料中说明。若要使用部署 CLI,可安装 llamactl:
uv tool install llamactl如何使用这个 Agent?
定义一个最小工作流:
from workflows import Workflow, step
from workflows.events import StartEvent, StopEvent
class HelloWorkflow(Workflow):
@step
async def greet(self, ev: StartEvent) -> StopEvent:
return StopEvent(result=f"Hello, {ev.name}")文档给出的进程内执行接口是 await workflow.run(...),但没有提供包含事件参数和 Python 入口函数的完整可运行示例。要将工作流注册到服务器,可使用:
from llama_agents.server import WorkflowServer
server = WorkflowServer()
server.add_workflow("greet", HelloWorkflow())所给材料没有列出启动服务器的具体命令、端口配置或客户端请求示例。使用 llamactl 时,支持的基本流程为:
llamactl init
llamactl serve
llamactl deployments create其中 llamactl serve 用于本地开发,材料说明其支持热重载;部署目标的认证和配置步骤未提供。
这个 Agent 有哪些优点和局限?
- 工作流步骤是普通异步 Python 函数,通过事件通信,不要求另学一套 DSL。
- 同一套工作流代码可从脚本或 Notebook 扩展到 REST 服务、客户受限环境及可复制部署。
- 明确支持分支、循环、并行执行、状态持久化和失败恢复,适合耗时且载荷较大的文档流程。
- 同时提供进程内库、WorkflowServer、异步客户端和 llamactl,覆盖嵌入、服务化与部署多个边界。
- 可与 LlamaParse 的 OCR、结构化抽取、分类和文档拆分能力组合,但编排逻辑仍保留在应用代码中。
- 所给材料没有说明支持的 Python 版本、生产依赖矩阵、服务器启动参数或完整配置方式,落地前需要进一步核实。
- OCR、模型推理、结构化抽取和图像分析并非核心库自动提供;开发者仍需实现步骤或接入 LlamaParse等外部能力。
- 持久化可使用文件或数据库,但没有给出数据库类型、连接配置、恢复语义或运维示例。
- 部署到 LlamaParse 或 AWS Bedrock AgentCore 会引入相应平台的账户、网络和配置依赖,而这些要求未在材料中展开。
- 没有明确记录 ChatGPT、Codex、Claude 或 OpenAI、Anthropic API 的原生适配,迁移到特定模型平台可能需要集成代码。
这个 Agent 与同类方案有什么区别?
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| LlamaAgents 当前 | 66 · 存在缺口 | 代码库 / SDK免费 + 模型费 | ★ 464 | 6 天前 | Python | — |
| Omnara 托管 Agent 平台 | 65 · 存在缺口 | 云服务 / SaaS免费版 + 付费版 | ★ 3.4k | 1 天前 | Go | Codex · Claude Code · Claude.ai · OpenAI API · Claude API |
| AgentField AI 后端 | 45 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 2.6k | 2 天前 | Go | Codex · Claude Code |
| Deuz SDK | 69 · 存在缺口 | 代码库 / SDK免费 + 模型费 | ★ 508 | 20 天前 | TypeScript | OpenAI API · Claude API |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示 Helm 测试区分应用与发布命名空间、使用 Role 而非 ClusterRole,并验证 NetworkPolicy,体现了较好的权限范围控制;对象存储凭据支持引用用户 Secret、专用 Secret 和加密 Secret,并有明确优先级及配置校验。依赖管理包含带完整性哈希的 pnpm 版本、版本约束和自动依赖升级 PR。扣分原因是未提供完整 RBAC 模板或全部数据流清单,仍允许将 S3 凭据以内联值写入仅做 base64 编码的 Kubernetes Secret;部署、网络、对象存储和外部云服务会产生实际外部效果,但未展示统一确认门槛。README 提到人工介入、持久化、恢复和备份,但没有完整的撤销或部署回滚流程。仓库、包和版权主体有基本归属信息,不过发布者身份未经企业注册表验证,且徽章目标存在 workflows、llama-agents 和 llama-index-workflows 名称混用。
README、工作区配置、Helm 验证流程和测试总体共同支持异步工作流、服务端、客户端及部署工具的产品结构;CI 对 Helm lint、文档同步、服务端 dry-run 和若干配置分支进行检查。依赖约束及 boto3 兼容性说明表明维护者处理了解析冲突,模板测试也断言了缺失 bucket 和不完整凭据时的具体错误。扣分原因是给定材料未覆盖核心运行代码或其单元测试内容,README 徽章指向的仓库名称不一致,顶层 pytest 默认只针对 dev_cli,且依赖多数采用范围约束而非完整锁定证据。
材料明确覆盖笔记本原型、脚本、FastAPI或Starlette 服务、客户内网、独立部署、Kubernetes、LlamaParse、AWS Bedrock AgentCore 和自有基础设施等场景,并说明从函数到服务、持久化和复制的演进路径,因此受众与环境适配证据充分。事件类型、步骤、工作流边界以及 headless、MCP、全栈应用形态提供了合理的能力和触发模型。扣分原因是未展示输入事件验证、路由歧义处理、资源限制或各集成的详细边界,部分大规模和无改写迁移主张主要来自 README 陈述。
README 按库、服务、客户端、CLI 和云集成组织入口,提供 pip、uv、基础 Python 和部署命令示例;工作区成员和类型检查环境清楚列出主要包。MIT 正文与两个项目清单一致,许可证据完整。Changesets 脚本和自动依赖升级工作流提供版本维护路径。扣分原因是缺少显式 FAQ、集中式已知限制和所给材料中的完整 changelog;LlamaAgents、Agent Workflows、llama-index-workflows、llama-agents 和旧式链接命名并存,稳定性较弱。维护责任可从组织、版权和自动化流程推断,但没有贡献者责任分工或安全联系信息。
示例输出可直接作为 Python 工作流、REST 服务或 CLI 部署起点,持久化、恢复、并行、人工介入以及可插拔后端相较手写编排具有明确增量价值。库模式、现有应用挂载和可部署形态提供不同成本层级。扣分原因是未提供静态可核验的性能、资源消耗、迁移成本、运营复杂度或与替代方案的量化比较;百万级文档处理和可靠生产运行属于未在所给文件中充分支撑的宣传性主张。
多数具体配置主张可追溯到 pyproject、package.json、CI 和 Helm 测试,例如 Python 版本、包划分、S3 参数、Secret 优先级、命名空间及失败消息;README 的若干部署描述也得到工作区包名和图表测试的部分交叉印证。扣分原因是核心实现文件、发布记录和文档目标页未包含在证据中,因而无法逐项核对持久化、复制、人工介入和规模声明;README 没有始终明确区分已验证能力、设计目标和营销性推断。
- 这是仅基于所给文件的静态审查;未执行代码、测试、容器、Helm 图表或部署。
- 在生产使用前,应检查完整 RBAC 与 NetworkPolicy 模板、所有出站数据流、云端集成以及默认权限。
- 避免以内联 values 提供长期 S3 凭据;优先使用受管 Secret,并确认备份加密和 Secret 轮换流程。
- 应独立核验 README 中关于持久化、故障恢复、复制、人工介入和大规模处理的声明。
- 确认实际安装包、文档和徽章所指仓库与目标修订一致,尤其注意多个历史名称并存。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
发布说明摘录
Patch Changes - 9bf7f4a: Release the chart whenever the operator, appserver, or control plane image it ships is bumped.在 GitHub 查看 ↗ -
发布说明摘录
Patch Changes - 64fbd6c: Builds link the UI output at /opt/app/.llama-ui so nginx serves the UI for pushed deployments. - 3ac8112: Keep UI directory redirects on the public host when serving built files behind a proxy.在 GitHub 查看 ↗ -
发布说明摘录
Patch Changes - 64fbd6c: Builds link the UI output at /opt/app/.llama-ui so nginx serves the UI for pushed deployments.在 GitHub 查看 ↗