LlamaIndex

用于构建基于私有数据的检索、索引与文档智能应用的 Python 框架。

Star 数
★ 53k
最近更新
2 天前
License
MIT
主语言
Python

30 秒速览

运行形态
代码库 / SDK开发框架
可在哪里用
通用 · 跨平台OpenAI API
费用
软件免费,模型调用费用自付
上手难度
低 · 几分钟可跑通
开始前需要
PythonShell / 命令行网络访问本地文件系统
典型场景
Python 开发者需要让问答应用检索某个本地文档目录中的内容,可用 SimpleDirectoryReader 与 VectorStoreIndex 建立并查询索引。
不适合
  • 只想用现成文档解析产品、不想写 Python 代码的用户
  • 需要长期稳定、与文档同步更新的框架支持的企业

这个 Agent 能做什么,适合哪些场景?

LlamaIndex OSS 是一个用于构建 agentic 应用的开源 Python 框架,重点处理让 LLM 使用私有数据的问题。其核心包为 llama-index-core,并通过独立集成包连接 LLM、嵌入模型和向量存储提供商;README 称可选集成超过 300 个。框架提供数据连接器、索引和图结构,以及检索与查询接口,可把检索到的上下文用于生成知识增强的输出。示例展示了 SimpleDirectoryReader 读取本地目录、VectorStoreIndex.from_documents 建索引,以及 index.as_query_engine().query() 发起查询。LlamaParse 是独立的平台,提供 Parse、Extract、Index、Split 和 Agents 等文档处理相关产品,可与该框架结合使用,也可单独使用。

应用可安装 llama-index-core 及所需集成包,例如 llama-index-llms-openai、llama-index-llms-ollama 和 llama-index-embeddings-huggingface。SimpleDirectoryReader("YOUR_DATA_DIRECTORY").load_data() 从指定本地目录加载文档;VectorStoreIndex.from_documents(documents) 根据文档创建向量索引。查询时,index.as_query_engine() 生成查询引擎,随后 .query("YOUR_QUESTION") 返回查询结果。默认数据保存在内存中;调用 index.storage_context.persist() 会写入 ./storage,之后可用 StorageContext.from_defaults(persist_dir="./storage") 与 load_index_from_storage(storage_context) 重新加载。使用 OpenAI 示例时,程序读取 OPENAI_API_KEY;使用 Ollama 示例时,可通过 Settings.llm、Settings.tokenizer 和 Settings.embed_model 配置模型、分词器与嵌入模型。

  1. Python 开发者需要让问答应用检索某个本地文档目录中的内容,可用 SimpleDirectoryReader 与 VectorStoreIndex 建立并查询索引。
  2. 团队希望把 OpenAI 用作 LLM,同时保留 LlamaIndex 的核心索引接口,可安装 llama-index-llms-openai 并设置 OPENAI_API_KEY。
  3. 使用 Ollama 托管模型的开发者,可将 Ollama、Hugging Face 嵌入模型和 AutoTokenizer 配置到 Settings。
  4. 需要在进程重启后复用已有索引的应用,可将存储持久化到 ./storage,再通过 load_index_from_storage 恢复。
  5. 需要文档解析、OCR、结构化提取或文档代理能力的组织,可选择与框架配合或独立使用 LlamaParse 平台。

如何安装或部署这个 Agent?

需要 Python 环境。安装核心与示例中列出的可选集成:

pip install llama-index-core
pip install llama-index-llms-openai
pip install llama-index-llms-ollama
pip install llama-index-embeddings-huggingface

若使用 OpenAI 示例,先在运行环境中设置 OPENAI_API_KEY。README 没有给出 LlamaParse 的本地安装命令;该平台的入口是注册并获取 API key。

如何使用这个 Agent?

最小可运行流程:

from llama_index.core import VectorStoreIndex, SimpleDirectoryReader
documents = SimpleDirectoryReader("YOUR_DATA_DIRECTORY").load_data()
index = VectorStoreIndex.from_documents(documents)
query_engine = index.as_query_engine()
response = query_engine.query("YOUR_QUESTION")

OpenAI 路径需要先设置 OPENAI_API_KEY,并安装 OpenAI 集成包。默认索引仅在内存中;若需跨进程保存,调用 index.storage_context.persist(),并用 StorageContext.from_defaults(persist_dir="./storage") 和 load_index_from_storage(...) 恢复。

这个 Agent 有哪些优点和局限?

优点
  • 核心包与集成包分离:可仅安装 llama-index-core,再按需选择 LLM、嵌入模型和向量存储集成。
  • README 提供从本地目录读取文档、创建 VectorStoreIndex、查询和持久化/恢复索引的完整代码路径。
  • 同一框架示例覆盖 OpenAI 与通过 Ollama 托管的非 OpenAI 模型,并可配置 Hugging Face 嵌入模型。
  • LlamaParse 可作为独立文档平台使用,也可与框架结合,覆盖解析、OCR、提取、索引和文档代理相关场景。
局限
  • OpenAI 示例需要 OPENAI_API_KEY;采用不同模型或嵌入提供商时,需要安装并配置相应集成包。
  • 默认数据只保存在内存,应用若需重启后继续使用索引,必须显式持久化并恢复。
  • README 明确说明其更新频率低于文档,采用前应评估文档与当前版本的一致性。
  • LlamaParse 的注册和 API key 获取被列为平台使用步骤,README 未说明其定价、配额或本地部署方式。

这个 Agent 与同类方案有什么区别?

README 将 LlamaIndex 描述为可与 LangChain 集成的框架,但没有提供两者的功能或性能对比。

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 形态 / 费用 Star 最近更新 主语言 完整支持的平台
LlamaIndex 当前 48 · 缺口较多 代码库 / SDK免费 + 模型费 ★ 53k 2 天前 Python OpenAI API
Agentic RAG 傻瓜式构建指南 51 · 缺口较多 代码库 / SDK免费 + 模型费 ★ 4.3k 20 天前 Jupyter Notebook —
RAGLight 63 · 存在缺口 命令行工具免费 + 模型费 ★ 672 21 天前 Python OpenAI API
Instructor 55 · 缺口较多 代码库 / SDK免费 + 模型费 ★ 14k 今天 Python OpenAI API · Claude API

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
缺口较多
48/ 100 五分制 2.4 / 5
本评测基于 2026年8月9日 的源码;此后该项目发布了 2 个正式版本,尚未复审。分数与结论只代表评测时的版本。 最近版本 ↓
信任安全 7/29
可靠稳定 9/14
适用触发 10/18
规范维护 10/18
有效结果 9/13
证据核验 3/8
查看各维度的扣分理由
信任安全7 / 29 · 1.2/5

证据显示:README 和 SECURITY.md 明确说明库应在可信执行环境中使用,并列出安全边界,但未提供权限最小化或用户确认机制。数据流透明度有限,仅提及数据连接器和索引,未详细说明数据流向。敏感数据处理方面,SECURITY.md 提到调试日志可能泄露 API 密钥,但未提供具体防护措施。依赖安全方面,pyproject.toml 列出了依赖,但未提供漏洞扫描或锁定文件。外部影响方面,库会进行网络请求,但未明确说明。回滚机制未提及。来源归属方面,README 和 pyproject.toml 提供了作者和维护者信息,但发布者未验证。扣分原因:缺乏用户确认、数据流透明度不足、敏感数据处理不充分、依赖安全措施缺失、回滚机制缺失。

可靠稳定9 / 14 · 3.2/5

证据显示:README 和 pyproject.toml 提供了清晰的安装和使用说明,代码结构一致,但未提供错误处理细节。依赖可用性方面,依赖列表明确,但未提供版本锁定或镜像。失败消息方面,llama-dev 测试工具提供了详细的错误输出,但库本身的失败消息未详细说明。扣分原因:错误处理细节不足,依赖可用性未充分保障。

适用触发10 / 18 · 2.8/5

证据显示:README 面向初学者和高级用户,提供了多种使用场景,但未明确能力边界。触发精度方面,未提供明确的触发条件或权限控制。环境适配方面,支持 Python 3.10+,并提供了多种集成选项。扣分原因:能力边界不明确,触发精度不足。

规范维护10 / 18 · 2.8/5

证据显示:README 提供了清晰的信息架构,安装说明详细,命名稳定,示例丰富,但已知限制未明确列出。许可证为 MIT,版本信息在 pyproject.toml 中,但未提供变更日志。维护责任方面,pyproject.toml 列出了维护者,但未提供贡献指南。扣分原因:已知限制未明确,变更日志缺失。

有效结果9 / 13 · 3.5/5

证据显示:README 提供了丰富的示例,输出可用性高,边际价值明显,成本效益合理。扣分原因:无重大扣分,但未提供性能或成本数据。

证据核验3 / 8 · 1.9/5

证据显示:README 中的声明有文档支持,但未提供交叉验证。事实与推断分离方面,README 区分了事实和推断,但不够明确。扣分原因:声明可追溯性不足,交叉验证缺失。

风险与缓解建议
  • 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
  • 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
  • 发布者身份未验证,需谨慎对待。
  • 库应在可信环境中使用,用户需自行处理输入验证和安全控制。
  • 敏感数据处理和依赖安全措施不足,建议审查。
证据充分度:低 评估于 2026年8月9日 审查版本 5c0e64eee28a 评估后仓库已有新提交,评分可能未覆盖最新改动
查看完整评分方法 →

最近版本

来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。

  1. v0.14.25
    发布说明摘录
    Release Notes [2026-09-21] llama-index-agent-agentmesh [0.3.0] - fix: resolve a ton of security alerts ([#22855](https://github.com/run-llama/llama_index/pull/22855)) llama-index-agent-azure [0.4.0] - fix: resolve a ton of security alerts ([#22855](https://github.com/run-llama/llama_index/pull/22855)) llama-index-callbacks-argilla [0.6.0] - fix: resolve a ton of security alerts ([#22855](https://github.com/run-llama/llama_index/pull/22855)) llama-index-callbacks-arize-phoenix [0.8.0] …
    在 GitHub 查看 ↗
  2. v0.14.24
    发布说明摘录
    Release Notes [2026-08-19] llama-index-core [0.14.24] - fix: close HotpotQA evaluator file handles ([#22113](https://github.com/run-llama/llama_index/pull/22113)) - fix(core): preserve oversized leaf nodes in CodeSplitter ([#22119](https://github.com/run-llama/llama_index/pull/22119)) - fix: preserve multiblock chat history writes ([#22124](https://github.com/run-llama/llama_index/pull/22124)) - fix(core): skip empty nodes in HTMLNodeParser ([#22125](https://github.com/run-llama/llama_index/pull/22125)) …
    在 GitHub 查看 ↗
  3. v0.14.23
    发布说明摘录
    Release Notes [2026-06-24] llama-index-callbacks-argilla [0.5.0] - chore(deps): bump the uv group across 32 directories with 3 updates ([#21664](https://github.com/run-llama/llama_index/pull/21664)) - chore(deps): bump the uv group across 29 directories with 3 updates ([#21665](https://github.com/run-llama/llama_index/pull/21665)) - chore(deps): bump the uv group across 31 directories with 3 updates ([#21668](https://github.com/run-llama/llama_index/pull/21668)) …
    在 GitHub 查看 ↗

常见问题

是否只能使用 OpenAI?
不是。README 的安装和示例还列出 Ollama 与 Hugging Face 嵌入集成;具体提供商需要安装对应集成包并完成配置。
索引会自动保留吗?
不会。默认数据在内存中;需调用 index.storage_context.persist() 保存,并在后续进程中用 StorageContext 和 load_index_from_storage 读取。
LlamaParse 是否就是 Python 框架的一部分?
不是。README 将其描述为独立平台;它可以和 LlamaIndex 框架一起使用,也可以单独使用。
使用 LlamaParse 需要什么凭据?
README 指出需注册 LlamaParse 并获取 API key,但未说明定价或配额。
在 GitHub 查看 ↗ 安装 ↓

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents