LlamaIndex 十分钟装完即用:从一键安装到本地模型的一页速查
【免费下载链接】llama_indexLlamaIndex is the leading document agent and OCR platform项目地址: https://gitcode.com/GitHub_Trending/ll/llama_index
LlamaIndex(前身 GPT Index)是一个面向大语言模型应用的数据框架,负责把文档、数据库、API 等私有数据接进 LLM,帮你搭出能"查自家资料"的 RAG 应用。无论你是第一次装 LlamaIndex 的新手,还是打算把索引跑进生产环境的工程师,下面几条路线任选其一,大约十分钟就能动手。
先看你是哪种人:30 秒选路
- 只想跑个 Demo、用 OpenAI→ 走路线 A,一条命令装完
- 不想掏 API 钱,想用 Ollama / 本地嵌入模型→ 走路线 B
- 要上线、要容器化、要可观测→ 走路线 C
- 要改核心代码、给仓库提 PR→ 走路线 D
四条路线互不重复,各给最小可行步骤。
🚀 路线 A:一条命令的 5 分钟快速上手
pip install llama-index装的是"starter"包:llama-index-core加上一组常用集成,适合先跑通再说。为什么用它而不是 core?省得你逐个挑选集成包,代价是依赖略多。
默认用 OpenAI 服务,密钥放环境变量里,别写进代码(一旦提交进仓库就收不回来了):
export OPENAI_API_KEY='your-api-key-here'验证安装是否成功,把目录换成你自己的文档文件夹即可:
from llama_index.core import VectorStoreIndex, SimpleDirectoryReader documents = SimpleDirectoryReader("./my_docs").load_data() index = VectorStoreIndex.from_documents(documents) print(index.as_query_engine().query("这些文档在讲什么?"))能打出回答,就说明读取、建索引、查询三件事全通了:
🏠 路线 B:本地模型玩家,零 API 开销
只装你真正要用的零件:
pip install llama-index-core llama-index-readers-file \ llama-index-llms-ollama llama-index-embeddings-huggingface选包的思路记住一句:core 必装,然后按需挑llama-index-llms-*(语言模型)、llama-index-embeddings-*(嵌入)、llama-index-readers-*(数据读取)三个系列。这样装的好处是依赖干净、升级不扯皮。
本地模型要和 token 切分对齐,换模型时记得同步改:
from llama_index.core import Settings from llama_index.llms.ollama import Ollama from llama_index.embeddings.huggingface import HuggingFaceEmbedding Settings.llm = Ollama(model="llama-3.1:latest", request_timeout=360.0) Settings.embed_model = HuggingFaceEmbedding(model_name="BAAI/bge-small-en-v1.5")后面加载文档、建索引的代码和路线 A 完全一样,不用重复。
🏭 路线 C:生产部署者的三件事
版本钉死。安装时固定版本号(如llama-index-core==x.y.z),否则某天上游发新版,线上行为可能悄悄变化。
缓存目录指个明确位置。运行时会缓存 nltk、tiktoken 等资源,服务器磁盘权限往往有限制,显式指定更稳:
export LLAMA_INDEX_CACHE_DIR=/opt/myapp/cache别忘持久化。索引默认只在内存里,进程一重启就没了,落盘一行解决:
index.storage_context.persist() # 默认写入 ./storage上生产后建议把调用量、成本、用户反馈接进监控面板,出问题能第一时间看到是哪一步劣化:
🛠️ 路线 D:从源码装,动核心代码
需要改llama-index-core或维护集成包时,从源码起步:
git clone https://gitcode.com/GitHub_Trending/ll/llama_index cd llama_index uv sync uv run pre-commit install仓库统一用uv管环境:先在全局层uv sync装好 pre-commit 钩子,再cd进具体包目录(比如llama-index-integrations/llms/llama-index-llms-openai),该包会以可编辑模式装进环境,改完代码直接uv run -- pytest跑测试。动手前先读一遍 CONTRIBUTING.md 里"可以做 / 不建议做"的边界。
核心与集成包是可组合的:一份文档进来,被切成分层 Node,再喂给不同的索引和查询引擎,这也是源码里最该先读懂的一张图:
🕳️ 踩坑速查:症状 → 原因 → 一行解法
| 症状 | 原因 | 一行解法 |
|---|---|---|
| 装包时报依赖冲突 | 多个项目共用同一环境 | 每个项目独立 venv 或uv环境隔离 |
| pip 下载卡死或超时 | 网络到不了 PyPI | 换国内镜像源或配置代理 |
| 启动报磁盘权限错误 | 资源缓存写不进默认目录 | export LLAMA_INDEX_CACHE_DIR=/可写路径 |
| 密钥泄露进代码库 | API Key 硬编码 | 挪进环境变量,历史提交做清理 |
| 重启服务后索引消失 | 数据只存在内存 | index.storage_context.persist() |
| 换本地模型后回答质量变差 | tokenizer 没跟着换 | 按所用模型同步Settings.tokenizer |
下一步:三件今天就能做的事
- 打开 docs/examples/vector_stores/,挑一个你最熟的向量库跑一遍官方 notebook,对比它和内存索引的差别。
- 翻一遍 docs/examples/query_engine/,给今天的索引换成带引用来源的查询引擎。
- 小目标:拿自己写的 3 篇 Markdown 建成索引,问出一个带"出处"的问题——做到这一步,LlamaIndex 就算真正上手了。
更多细节看 README.md,它比任何教程都新。
【免费下载链接】llama_indexLlamaIndex is the leading document agent and OCR platform项目地址: https://gitcode.com/GitHub_Trending/ll/llama_index
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考