文章目录1. 数据连接器1.1 概述1.2 集成包1.3 使用方式1.4 部分模块1.5 模块指南2. LlamaParse2.1 一分钟获取解析结果2.2 可用文档 API2.2.1 Parse2.2.2 Extract2.2.3 Index2.2.4 Classify2.2.5 Split2.3 代码示例3. LiteParse3.1 能力清单3.2 快速开始1. 数据连接器1.1 概述数据连接器也称为Reader读取器用于从不同数据源、不同数据格式中读取数据并将其转换为统一的Document文档对象包含文本与基础元数据。 提示数据完成摄入后你可以基于文档构建索引通过查询引擎提问或使用对话引擎进行多轮对话。在之前我们已经学习过最简单的SimpleDirectoryReader这是LlamaIndex最常用的数据加载入口读取器用来批量读取本地或对象存储磁盘上的各类文件统一输出Document对象列表是RAG流水线数据加载阶段的主力工具。1.2 集成包每个数据连接器独立打包发布你只需按需安装需要的包。全部连接器源码存放于LlamaIndex仓库的readers目录PyPI上包命名规则为llama-index-readers-source。1.3 使用方式快速上手示例fromllama_index.readers.googleimportGoogleDocsReader loaderGoogleDocsReader()documentsloader.load_data(document_ids[...])更多细节查看完整使用模式指南。1.4 部分模块部分数据连接器示例本地文件目录读取器SimpleDirectoryReader支持解析多种文件类型.pdf、.jpg、.png、.docx等NotionNotionPageReaderGoogle DocsGoogleDocsReaderSlackSlackReaderDiscordDiscordReaderApify ActorsApifyActor可爬虫抓取网页、提取文本内容下载PDF、图片、Word等文件更多内容参考模块指南1.5 模块指南Simple Directory ReaderPsychic ReaderDeeplake ReaderQdrant ReaderDiscord ReaderMongoDB ReaderChroma ReaderMyScale ReaderFAISS ReaderObsidian ReaderSlack ReaderWebpage ReaderPathway ReaderMBox ReaderMilvus ReaderNotion ReaderGithub ReaderGoogle Docs ReaderDatabase ReaderTwitter ReaderWeaviate ReaderMake ReaderDeplot ReaderDocling ReaderGoogle AlloyDB ReaderGoogle Cloud SQL for PostgreSQL Reader2. LlamaParseLlamaParse是商用SaaS付费服务不是开源软件但每月提供免费额度可以免费试用。LlamaParse是LlamaIndex推出的文件解析服务可高效解析并结构化各类文件配合LlamaIndex框架实现检索与上下文增强。你可以注册免费使用LlamaParse支持数十种文档类型包括PDF、Word、PPT、Excel等。入门教程请查看 LlamaParse 官方文档。2.1 一分钟获取解析结果一套API Key、一套SDK五大能力模块。获取密钥、安装SDK运行示例代码即可。快速入门获取API密钥2.2 可用文档 API所有API共用同一个密钥与SDK。可串联调用例如先Split分段再Extract提取也可单独使用。2.2.1 Parse智能Agentic OCR支持130文件格式。把PDF、扫描件、表格、图表转换成整洁的Markdown、纯文本或JSON。# 季度报表 | 区域 | 营收 | | ---- | ---- | | 北部 | 1,240 | | 南部 | 980 |2.2.2 Extract从文档中提取强类型、符合自定义Schema的结构化数据并附带原文页码引用。{name:Jordan Lee,email:jordanexample.com,skills:[Python,SQL]}2.2.3 Index托管的数据摄入、向量化与检索服务面向文档集快速搭建RAG。2.2.4 Classify使用自然语言规则对文档分类无需训练数据集。示例输出INV-2041.pdf发票置信度0.97scan_0312.jpg收据置信度0.91msa-final.docx合同置信度0.99po-88210.pdf采购订单置信度0.942.2.5 Split在解析/提取之前将合并的长文档切分为逻辑章节。示例输出发票 · 第1–3页合同 · 第4–8页收据 · 第9–10页2.3 代码示例配置好环境变量LLAMA_CLOUD_API_KEY示例代码可直接运行。fromllama_cloudimportLlamaCloud clientLlamaCloud()# 自动读取环境变量 LLAMA_CLOUD_API_KEY# 上传并解析文档fileclient.files.create(filedocument.pdf,purposeparse)resultclient.parsing.parse(file_idfile.id,tieragentic,versionlatest,expand[markdown],)# 获取Markdown结果print(result.markdown.pages[0].markdown)importLlamaCloudfromllamaindex/llama-cloud;importfsfromfs;constclientnewLlamaCloud();// 读取环境变量 LLAMA_CLOUD_API_KEY// 上传并解析文档constfileawaitclient.files.create({file:fs.createReadStream(document.pdf),purpose:parse,});constresultawaitclient.parsing.parse({file_id:file.id,tier:agentic,version:latest,expand:[markdown]});// 获取Markdown结果console.log(result.markdown.pages[0].markdown);# 上传文档curl-XPOST\https://api.cloud.llamaindex.ai/api/v1/beta/files\-HAccept: application/json\-HAuthorization: Bearer$LLAMA_CLOUD_API_KEY\-Fpurposeparse\-Ffile/path/to/your/file.pdf;typeapplication/pdf# 使用返回的file_id启动Parse任务curl-XPOST\https://api.cloud.llamaindex.ai/api/v2/parse\-HAccept: application/json\-HContent-Type: application/json\-HAuthorization: Bearer$LLAMA_CLOUD_API_KEY\--data{ file_id: file_id, tier: agentic, version: latest }# 任务完成后获取Markdowncurl-XGET\https://api.cloud.llamaindex.ai/api/v2/parse/job_id?expandmarkdown\-HAccept: application/json\-HAuthorization: Bearer$LLAMA_CLOUD_API_KEYfrompydanticimportBaseModel,Fieldfromllama_cloudimportLlamaCloud# 定义SchemaclassResume(BaseModel):name:strField(description候选人全名)email:strField(description邮箱地址)skills:list[str]Field(description技术技能)clientLlamaCloud()# 上传并执行提取fileclient.files.create(fileresume.pdf,purposeextract)jobclient.extract.run(file_inputfile.id,configuration{data_schema:Resume.model_json_schema(),tier:agentic,},)print(job.extract_result)importLlamaCloudfromllamaindex/llama-cloud;import{z}fromzod;importfsfromfs;// 使用Zod定义SchemaconstResumeSchemaz.object({name:z.string().describe(候选人全名),email:z.string().describe(邮箱地址),skills:z.array(z.string()).describe(技术技能),});constclientnewLlamaCloud();// 上传并执行提取constfileawaitclient.files.create({file:fs.createReadStream(resume.pdf),purpose:extract,});letjobawaitclient.extract.run({file_input:file.id,configuration:{data_schema:z.toJSONSchema(ResumeSchema),tier:agentic,},});console.log(job.extract_result);# 上传文档curl-XPOST\https://api.cloud.llamaindex.ai/api/v1/beta/files\-HContent-Type: multipart/form-data\-HAuthorization: Bearer$LLAMA_CLOUD_API_KEY\-Ffile/path/to/file\-Fpurposeextract# 传入JSON Schema执行Extract提取curl-XPOST\https://api.cloud.llamaindex.ai/api/v2/extract?project_id{PROJECT_ID}\-Haccept: application/json\-HContent-Type: application/json\-HAuthorization: Bearer$LLAMA_CLOUD_API_KEY\-d{ file_input: {FILE_ID}, configuration: { tier: agentic, data_schema: { type: object, properties: { name: { type: string, description: 候选人全名 }, email: { type: string, description: 邮箱地址 }, skills: { type: array, items: { type: string, description: 技术技能 } } } } } }fromllama_cloudimportLlamaCloud clientLlamaCloud()# 上传文档fileclient.files.create(filedocument.pdf,purposeclassify)# 通过自然语言规则进行文档分类resultclient.classifier.classify(file_ids[file.id],rules[{type:invoice,description:包含发票号、明细条目和总金额的文档},{type:receipt,description:简短收银小票包含商户与总金额},{type:contract,description:包含条款与签章的法律协议},],modeFAST,# 视觉类文档可使用 MULTIMODAL)foriteminresult.items:print(f文档类型:{item.result.type}, 置信度:{item.result.confidence})importLlamaCloudfromllamaindex/llama-cloud;importfsfromfs;constclientnewLlamaCloud();// 上传文档constfileawaitclient.files.create({file:fs.createReadStream(document.pdf),purpose:classify,});// 通过自然语言规则进行文档分类constresultawaitclient.classifier.classify({file_ids:[file.id],rules:[{type:invoice,description:包含发票号、明细条目和总金额的文档,},{type:receipt,description:简短收银小票包含商户与总金额,},{type:contract,description:包含条款与签章的法律协议,},],mode:FAST,// 视觉类文档可使用 MULTIMODAL});for(constitemofresult.items){if(item.result){console.log(文档类型:${item.result.type}, 置信度:${item.result.confidence});}}importtimefromllama_cloudimportLlamaCloud clientLlamaCloud()# 上传合并的PDF长文档fileclient.files.create(filecombined.pdf,purposesplit)# 切分为逻辑章节jobclient.beta.split.create(document_input{type:file_id,value:file.id},configuration{categories:[{name:invoice,description:包含明细与总金额的商业单据},{name:contract,description:包含条款与签章的法律协议},]},)# 轮询等待任务结束Split任务状态为小写resultclient.beta.split.get(job.id)whileresult.statusin(pending,processing):time.sleep(2)resultclient.beta.split.get(job.id)forsegmentinresult.result.segments:print(f页码范围{segment.pages}:{segment.category}置信度{segment.confidence_category})importLlamaCloudfromllamaindex/llama-cloud;importfsfromfs;constclientnewLlamaCloud();// 上传合并的PDF长文档constfileawaitclient.files.create({file:fs.createReadStream(combined.pdf),purpose:split,});// 切分为逻辑章节constjobawaitclient.beta.split.create({document_input:{type:file_id,value:file.id},configuration:{categories:[{name:invoice,description:包含明细与总金额的商业单据,},{name:contract,description:包含条款与签章的法律协议,},],},});// 轮询等待任务结束Split任务状态为小写letresultawaitclient.beta.split.get(job.id);while(result.statuspending||result.statusprocessing){awaitnewPromise((resolve)setTimeout(resolve,2000));resultawaitclient.beta.split.get(job.id);}for(constsegmentofresult.result.segments){console.log(页码范围${segment.pages}:${segment.category}置信度${segment.confidence_category});}# 上传合并PDFcurl-XPOST\https://api.cloud.llamaindex.ai/api/v1/beta/files\-Haccept: application/json\-HAuthorization: Bearer$LLAMA_CLOUD_API_KEY\-Fpurposesplit\-Ffile/path/to/your/file.pdf;typeapplication/pdf# 启动Split分段任务curl-XPOST\https://api.cloud.llamaindex.ai/api/v1/beta/split/jobs\-Haccept: application/json\-HContent-Type: application/json\-HAuthorization: Bearer$LLAMA_CLOUD_API_KEY\-d{ document_input: { type: file_id, value: YOUR_FILE_ID }, configuration: { categories: [ { name: invoice, description: 包含明细与总金额的商业单据 }, { name: contract, description: 包含条款与签章的法律协议 } ] } }# 轮询查询任务状态直至完成curl-XGET\https://api.cloud.llamaindex.ai/api/v1/beta/split/jobs/YOUR_JOB_ID\-Haccept: application/json\-HAuthorization: Bearer$LLAMA_CLOUD_API_KEY在线调试面板3. LiteParse描述高性能本地PDF解析库支持空间文本解析、OCR与文本包围盒。LiteParse是开源文档解析库可保留空间布局信息与文本包围盒。使用Rust编写兼顾速度与稳定性完全本地运行无云端依赖、不依赖大模型、无需 API 密钥。LiteParse专为需要快速、高精度文本解析的场景设计实时应用、编码Agent、本地工作流。提供简易CLI与库API支持PDF、Office文档、图片解析内置OCR。3.1 能力清单解析 PDF 并保留精确空间布局还原文本在页面上的位置输出 Markdown包含标题、表格、列表、图片、链接产出适合LLM与RAG流水线的结构化内容提取每行文本的包围盒便于后续处理与可视化OCR 识别扫描件内置Tesseract也可接入自定义OCR服务解析 Office 文档与图片支持DOCX、XLSX、PPTX、PNG、JPG等自动转换处理将 PDF 页面导出高清图片适配多模态LLM流程提取 PDF 内嵌资源内嵌图片、矢量图、批注、表单域、标签结构树解析前评估文档复杂度可自动将扫描件、多栏文档路由至对应处理管线多语言接入Node.js/TypeScript、Python、Rust浏览器WASM适配你的技术栈3.2 快速开始入门指南安装LiteParse解析你的第一个文档Markdown输出输出干净结构化Markdown提取配置按需开启图片、表单域、批注等提取文档复杂度检测提前识别扫描件、多栏、大表格页面库调用示例TypeScript/Python代码调用浏览器WASM运行浏览器内直接解析无需后端Agent技能让Claude Code、Cursor、Codex具备本地文档解析能力CLI命令参考完整命令与参数手册API参考Rust底层API文档类型定义适用于所有语言绑定