一、基本概念LlamaIndex 是面向 LLM 的RAG 数据编排框架核心解决私有数据接入、分块、索引、检索与生成问题以低门槛、高可扩展为设计原则支撑从 POC 到生产级知识库、问答系统。核心流程数据源→数据连接器→文档→节点解析→索引→检索→生成回答。二、提示Prompt作用定义 LLM 行为控制回答风格、格式、约束如引用来源、简洁度。集成与查询引擎绑定检索到节点后将上下文 问题 提示送入 LLM 生成答案。关键提示需适配分块粒度避免过长上下文生产中用模板化提示提升稳定性。三、加载Loading将异构数据转为 LlamaIndex 可处理格式是 RAG 第一步。目标统一输入为Document对象保留原始内容与元数据。方式通过Reader / 数据连接器读取支持本地文件、数据库、SaaS、API 等。四、文档Document与节点Node文档Document定义完整数据源载体一篇 PDF、一个 API 响应、一个数据库记录。核心字段text文本、metadata元数据文件名、作者、路径等、doc_id唯一标识、relationships关联关系。原则不做加工保持原始完整性解析与分块交给下游组件。节点Node定义Document 分块后的检索原子单元适配 LLM 上下文限制。核心字段node_id、text、metadata继承 自定义、embedding、relationships、起止字符索引支持溯源。关系支持父子、前后节点支撑多粒度检索与上下文补全。五、目录读取器Directory Reader代表SimpleDirectoryReader最常用。能力自动识别目录下 20 文件格式PDF/MD/TXT/CSV 等一键加载为 Document 列表。用法from llama_index.core import SimpleDirectoryReader documents SimpleDirectoryReader(./data).load_data()特性支持指定文件后缀、过滤文件、文件名作为 doc_id简化批量加载。六、数据连接器Data Connectors定位LlamaHub 生态160 数据源适配器对接各类原始数据。分类非结构化PDF、Word、网页、Notion、Slack结构化MySQL、PostgreSQL、MongoDB、CSV云存储S3、Azure Blob。价值屏蔽数据源差异统一输出 Document降低接入成本。七、节点解析器Node Parser作用将 Document 切分为 Node控制分块策略直接影响检索精度。核心内置多种解析器适配不同文本结构。常用SentenceSplitter按句子 / Token 切分支持 chunk_size、chunk_overlap。用法from llama_index.core.node_parser import SentenceSplitter splitter SentenceSplitter(chunk_size1024, chunk_overlap200) nodes splitter.get_nodes_from_documents(documents)八、文本分割器Text Splitter定位节点解析器的底层实现专注文本切分规则。类型TokenTextSplitter按 Token 数分割适配 LLM 上下文SentenceSplitter按句子边界分割保留语义完整性MarkdownNodeParser按 Markdown 标题层级分割保留结构。关键参数chunk_size块大小、chunk_overlap重叠区防信息切断。九、摄取管道Ingestion Pipeline定义数据处理工作流串联分割、元数据提取、嵌入、索引等步骤。组件transformations 列表分割器→提取器→嵌入模型。价值模块化、可复用、支持缓存批量处理更高效。用法from llama_index.core.ingestion import IngestionPipeline from llama_index.core.node_parser import SentenceSplitter from llama_index.core.extractors import TitleExtractor pipeline IngestionPipeline( transformations[SentenceSplitter(chunk_size512), TitleExtractor()] ) nodes pipeline.run(documentsdocuments)十、索引Index定义对 Node 集合的结构化组织实现快速检索。核心将文本转为向量 / 关键词 / 图结构匹配不同查询场景。原则按需选择索引支持多索引混合检索。1. 向量存储索引VectorStoreIndex最常用语义检索核心。原理将 Node 转为 Embedding存入向量库按相似度 Top-K 召回。适用智能问答、语义搜索、总结。用法from llama_index.core import VectorStoreIndex index VectorStoreIndex.from_documents(documents)支持内存 / Chroma/Pinecone/Milvus 等向量存储支持持久化。2. 属性图表索引PropertyGraphIndex定位实体 - 关系 - 属性图谱索引整合结构化 非结构化数据。原理自动抽取实体、关系、属性构建属性图支持图检索 向量混合检索。适用知识推理、关系问答、行业知识库医疗 / 金融。集成对接 Neo4j、NebulaGraph 等图数据库。3. 文件管理索引DocumentManagementIndex/KeywordTableIndex注常称关键词表 / 文档管理索引侧重精确匹配与文件维度管理。原理构建关键词倒排索引按 BM25 / 关键词精确检索。适用精确术语查询、文件名 / 标签过滤、批量文档管理。价值弥补向量检索在专有名词、编号上的不足。十一、元数据提取Metadata Extraction定义为 Document/Node 补充结构化信息提升检索精准度与可解释性。核心提取器TitleExtractor提取标题SummaryExtractor生成摘要KeywordExtractor抽取关键词EntityExtractor识别实体人名 / 机构 / 时间。用法集成到摄取管道自动为 Node 附加元数据。价值支持元数据过滤检索、答案溯源、内容分类。十二、核心总结数据层连接器→文档→节点完成接入 - 分块 - 标准化处理层分割器→解析器→摄取管道→元数据提取实现数据增强索引层向量 / 属性图 / 文件管理索引适配不同检索场景应用层索引→检索器→查询引擎→LLM完成RAG 全链路。