LlamaIndex怎么用 企业知识库RAG搭建教程
更新时间:2026-10-09 04:42:36 发布时间:32分钟前 阅读:2次LlamaIndex是一个RAG框架,帮你把企业文档接入大模型,让AI能基于你的私有知识库回答问题。它负责读取资料、切分文本、生成向量并检索相关内容,再把检索结果交给大模型组织答案。下面用Python搭一条入门流程:先准备文件,再创建索引,最后提问。示例使用本地文件夹和基础向量索引,便于先跑通。
第一步:安装LlamaIndex
先确认电脑已安装Python,建议在项目目录创建虚拟环境,避免依赖互相影响。激活环境后安装入门包:pip install llama-index。它包含核心框架和常用集成;如果企业项目只需要特定组件,也可以改装核心包,再按需安装模型、嵌入或向量库的集成包。安装完成后,新建脚本,例如rag_demo.py。
示例默认通过OpenAI模型生成向量和回答,因此先在运行环境设置OPENAI_API_KEY,别把密钥直接写进代码或提交到仓库。企业内部部署时,也可以选择本地模型或已获批准的模型服务,并分别配置对应的LLM与嵌入模型。注意,生成回答的模型和生成向量的嵌入模型是两项配置,实际使用时都要确认已正确接入。
第二步:加载和索引文档
在项目里准备一个data文件夹,把允许用于问答的文档放进去。入门时可先用文本文件测试;常见格式是否能直接读取,取决于对应读取器和额外依赖。随后用SimpleDirectoryReader读取目录:documents = SimpleDirectoryReader(“data”).load_data()。读取后检查文档数量、文本内容和元数据,确认文件没有漏载、乱码或空白,再进入索引流程。
企业资料通常需要先整理再导入:删除过期版本、明确文档负责人,并给文件添加部门、日期、密级等元数据。若资料包含扫描件、复杂表格或版面信息,普通文本读取可能无法完整提取内容,应先选用合适的解析工具并抽样检查结果。把原文清洗好,往往比盲目调整模型更能提升检索质量。
构建向量索引
导入核心组件后即可创建向量索引:from llama_index.core import VectorStoreIndex,再执行index = VectorStoreIndex.from_documents(documents)。框架会将文档处理成可检索的文本单元,并调用嵌入模型生成向量。默认示例适合验证流程;真正上线时,建议配置持久化向量数据库,避免服务重启后索引消失,并根据文档规模选择存储方案。
切分策略会影响召回效果:片段太长,容易带入无关内容;太短,则可能丢失上下文。可以先用默认设置建立基线,再针对长篇制度、产品手册或FAQ调整切分长度与重叠范围。创建索引后保存到磁盘的基本方式是index.storage_context.persist();若连接外部向量库,则需配置对应的存储集成和连接参数。
第三步:查询和生成回答
索引建好后,创建查询引擎并提问:query_engine = index.as_query_engine(),接着调用response = query_engine.query(“员工申请报销需要哪些材料?”)。查询引擎会先从索引中找相关文本片段,再将片段作为上下文交给大模型生成回答。初测时选一个文档里明确写出的事实问题,方便核对检索和回答是否准确。
不要只看回答是否流畅,还要检查依据是否相关。可以查看response.source_nodes,观察命中的片段及其元数据;若答案漏掉内容,试着调整切分方式、检索数量或问题表述。生产系统还应展示引用来源,让员工能回到原文核实,并在没有可靠依据时提示用户补充问题,而不是让模型猜测。
上线前再补齐企业级环节:按用户身份过滤可访问文档,定期同步新增和变更资料,记录索引更新时间,并用真实问题集做评测。还要测试越权提问、过期政策和无答案场景,确认检索结果不会跨部门泄露。若希望了解国内相关工具,也可以看看切问学术,官网地址:qiewenpaper.cgref.cn。