核心功能
LlamaIndex 是 run-llama 开源的数据框架,把 API、PDF、文档、SQL 等私有数据接进 LLM 应用。它提供数据连接器、索引结构与查询引擎三层能力:高层接口几行代码就能完成入库到问答,底层接口可替换检索器、重排与查询引擎。LlamaHub 上有 300 多个集成包可选。
功能亮点
五行入门
读取本地目录后直接建向量索引,再转成查询引擎即可提问
命名空间清晰
带 core 的导入来自核心包,不带的来自集成包,依赖边界一目了然
索引可落盘
默认存内存,persist 可落盘到 ./storage 并在重启后加载回来
换模型方便
用 Settings 指定 LLM 与嵌入模型,也支持 Ollama 本地模型
自定义模型 / 模型接入
完全自定义
代码级框架,装llama-index-llms-*包接厂商,Settings.llm一行切换全局模型;OpenAI兼容端点用OpenAILike直连自建网关。
接入方式
- 按厂商装集成包:pip install llama-index-llms-openai
- Settings.llm=OpenAI()设为全局默认,各模块共用
- 单次覆盖:as_query_engine(llm=llm)指定模型
- OpenAI兼容端点用OpenAILike,传api_base与api_key
- 国产厂商装llama-index-llms-dashscope等对应包
支持模型
OpenAIAnthropicDashScope通义千问DeepSeek智谱AI百度千帆OllamavLLM
bash
接入任意OpenAI兼容端点(以DeepSeek为例)
pip install llama-index-llms-openai-like
from llama_index.core import Settings
from llama_index.llms.openai_like import OpenAILike
Settings.llm = OpenAILike(
model="deepseek-chat",
api_base="https://api.deepseek.com/v1",
api_key="<your-key>",
context_window=128000,
is_chat_model=True,
is_function_calling_model=False,
)
response = Settings.llm.complete("Hello World!")适用场景
• 私有文档问答原型快速验证
• 自定义检索与重排的 RAG 系统
• 把 SQL、API 数据接入 LLM
• 文档索引持久化与重复加载
安装配置
bash
# 入门包(含核心与常用集成),要求 Python >= 3.10 pip install llama-index # 或只装核心包,再按需挑选集成包 pip install llama-index-core pip install llama-index-llms-openai pip install llama-index-embeddings-huggingface
使用方法
python
import os
os.environ["OPENAI_API_KEY"] = "YOUR_OPENAI_API_KEY"
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()
print(query_engine.query("YOUR_QUESTION"))
# 默认存内存,持久化到 ./storage
index.storage_context.persist()关键指标
尚未核验对标产品,此处只列本工具自身指标,不做对比结论。
指标LlamaIndex
价格免费
开源是
上手难度进阶
Token 消耗中
相关工具
同类工具
优点
- 高层接口几行代码走通入库到问答,之后可逐层替换成自定义模块
- 300 多个集成包覆盖主流 LLM、嵌入模型与向量库,按需安装不臃肿
- 导入路径按 core 与集成包分命名空间,一眼能看出依赖来源
- PyPI 上标注 MIT 许可,商用不带附加条款
缺点
- 拆成核心包加大量集成包后,版本搭配容易出现依赖冲突
- README 自己注明更新频率低于官网文档,照 README 抄可能撞上过时 API
- 只是框架,不含界面、权限与运营后台,做成产品仍要自建前后端
- 默认索引存在内存里,生产落盘与外部向量库需要额外接入配置
- 要求 Python 版本 >= 3.10,旧环境需要先升级