[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-Filimoa--open-parse":3,"tool-Filimoa--open-parse":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",147882,2,"2026-04-09T11:32:47",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108111,"2026-04-08T11:23:26",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":10,"last_commit_at":59,"category_tags":60,"status":17},4487,"LLMs-from-scratch","rasbt\u002FLLMs-from-scratch","LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目，旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型（LLM）。它不仅是同名技术著作的官方代码库，更提供了一套完整的实践方案，涵盖模型开发、预训练及微调的全过程。\n\n该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型，却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码，用户能够透彻掌握 Transformer 架构、注意力机制等关键原理，从而真正理解大模型是如何“思考”的。此外，项目还包含了加载大型预训练权重进行微调的代码，帮助用户将理论知识延伸至实际应用。\n\nLLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API，而是渴望探究模型构建细节的技术人员而言，这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计：将复杂的系统工程拆解为清晰的步骤，配合详细的图表与示例，让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础，还是为未来研发更大规模的模型做准备",90106,"2026-04-06T11:19:32",[35,15,13,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":73,"owner_avatar_url":74,"owner_bio":75,"owner_company":76,"owner_location":76,"owner_email":77,"owner_twitter":76,"owner_website":78,"owner_url":79,"languages":80,"stars":85,"forks":86,"last_commit_at":87,"license":88,"difficulty_score":32,"env_os":89,"env_gpu":90,"env_ram":91,"env_deps":92,"category_tags":100,"github_topics":101,"view_count":32,"oss_zip_url":76,"oss_zip_packed_at":76,"status":17,"created_at":106,"updated_at":107,"faqs":108,"releases":139},5846,"Filimoa\u002Fopen-parse","open-parse","Improved file parsing for LLM’s","open-parse 是一款专为大语言模型（LLM）打造的开源文档解析工具，旨在解决复杂文档在构建检索增强生成（RAG）系统时难以高质量分块的痛点。传统的文本切割方式往往忽略文档的语义结构，而现有的布局解析方案要么功能单一、计算沉重，要么依赖昂贵的商业服务。open-parse 通过模拟人类的阅读逻辑，利用视觉分析技术智能识别文档布局，将标题、段落、列表等元素精准分组，从而生成更符合语义逻辑的文本块。\n\n该工具特别适合需要处理 PDF 等复杂格式文件的 AI 开发者与研究人员。其核心技术亮点包括：超越传统工具的高精度表格提取能力，可直接输出干净的 Markdown 格式；原生支持标题、粗体等基础 Markdown 语法解析；以及高度灵活的扩展性，允许用户轻松嵌入自定义的后处理流程或语义聚类管道。此外，open-parse 提供了直观的 API 设计和完善的编辑器支持，让开发者能快速上手，减少调试时间。无论是构建企业知识库还是研发智能问答应用，open-parse 都能帮助你将杂乱的文档转化为大模型易于理解的高质量输入数据。","\u003Cp align=\"center\">\n \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FFilimoa_open-parse_readme_b04255d08a0c.webp\" width=\"350\" \u002F>\n\u003C\u002Fp>\n\u003Cbr\u002F>\n\n**Easily chunk complex documents the same way a human would.**  \n\nChunking documents is a challenging task that underpins any RAG system.  High quality results are critical to a sucessful AI application, yet most open-source libraries are limited in their ability to handle complex documents.  \n\nOpen Parse is designed to fill this gap by providing a flexible, easy-to-use library capable of visually discerning document layouts and chunking them effectively.\n\n\u003Cdetails>\n  \u003Csummary>\u003Cb>How is this different from other layout parsers?\u003C\u002Fb>\u003C\u002Fsummary>\n\n  #### ✂️ Text Splitting\n  Text splitting converts a file to raw text and [slices it up](https:\u002F\u002Fdocs.llamaindex.ai\u002Fen\u002Fstable\u002Fapi_reference\u002Fnode_parsers\u002Ftoken_text_splitter\u002F).\n  \n  - You lose the ability to easily overlay the chunk on the original pdf\n  - You ignore the underlying semantic structure of the file - headings, sections, bullets represent valuable information.\n  - No support for tables, images or markdown.\n  \n  #### 🤖 ML Layout Parsers\n  There's some of fantastic libraries like [layout-parser](https:\u002F\u002Fgithub.com\u002FLayout-Parser\u002Flayout-parser). \n  - While they can identify various elements like text blocks, images, and tables, but they are not built to group related content effectively.\n  - They strictly focus on layout parsing - you will need to add another model to extract markdown from the images, parse tables, group nodes, etc.\n  - We've found performance to be sub-optimal on many documents while also being computationally heavy.\n\n  #### 💼 Commercial Solutions\n\n  - Typically priced at ≈ $10 \u002F 1k pages. See [here](https:\u002F\u002Fcloud.google.com\u002Fdocument-ai), [here](https:\u002F\u002Faws.amazon.com\u002Ftextract\u002F) and [here](https:\u002F\u002Fwww.reducto.ai\u002F).\n  - Requires sharing your data with a vendor\n\n\u003C\u002Fdetails>\n\n## Highlights\n\n- **🔍 Visually-Driven:** Open-Parse visually analyzes documents for superior LLM input, going beyond naive text splitting.\n- **✍️ Markdown Support:** Basic markdown support for parsing headings, bold and italics.\n- **📊 High-Precision Table Support:** Extract tables into clean Markdown formats with accuracy that surpasses traditional tools.\n    \u003Cdetails>\n  \u003Csummary>\u003Ci>Examples\u003C\u002Fi>\u003C\u002Fsummary>\n  The following examples were parsed with unitable.\n    \u003Cbr\u002F>\n    \u003Cp align=\"center\">\n        \u003Cbr\u002F>\n        \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FFilimoa_open-parse_readme_7018593a8758.webp\" width=\"650\"\u002F>\n    \u003C\u002Fp>\n         \u003Cbr\u002F>\n    \u003C\u002Fdetails>\n\n- **🛠️ Extensible:** Easily implement your own post-processing steps.\n- **💡Intuitive:** Great editor support. Completion everywhere. Less time debugging.\n- **🎯 Easy:** Designed to be easy to use and learn. Less time reading docs.\n\n\u003Cbr\u002F>\n\u003Cp align=\"center\">\n    \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FFilimoa_open-parse_readme_18229e4804e1.webp\" width=\"250\" \u002F>\n\u003C\u002Fp>\n\n## Example\n\n#### Basic Example\n\n```python\nimport openparse\n\nbasic_doc_path = \".\u002Fsample-docs\u002Fmobile-home-manual.pdf\"\nparser = openparse.DocumentParser()\nparsed_basic_doc = parser.parse(basic_doc_path)\n\nfor node in parsed_basic_doc.nodes:\n    print(node)\n```\n\n**📓 Try the sample notebook** \u003Ca href=\"https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1Z5B5gsnmhFKEFL-5yYIcoox7-jQao8Ep?usp=sharing\" class=\"external-link\" target=\"_blank\">here\u003C\u002Fa>\n\n#### Semantic Processing Example\n\nChunking documents is fundamentally about grouping similar semantic nodes together. By embedding the text of each node, we can then cluster them together based on their similarity.\n\n```python\nfrom openparse import processing, DocumentParser\n\nsemantic_pipeline = processing.SemanticIngestionPipeline(\n    openai_api_key=OPEN_AI_KEY,\n    model=\"text-embedding-3-large\",\n    min_tokens=64,\n    max_tokens=1024,\n)\nparser = DocumentParser(\n    processing_pipeline=semantic_pipeline,\n)\nparsed_content = parser.parse(basic_doc_path)\n```\n\n**📓 Sample notebook** \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FFilimoa\u002Fopen-parse\u002Fblob\u002Fmain\u002Fsrc\u002Fcookbooks\u002Fsemantic_processing.ipynb\" class=\"external-link\" target=\"_blank\">here\u003C\u002Fa>\n\n#### Serializing Results\nUses pydantic under the hood so you can serialize results with \n\n```python\nparsed_content.dict()\n\n# or to convert to a valid json dict\nparsed_content.json()\n```\n\n## Requirements\n\nPython 3.8+\n\n**Dealing with PDF's:**\n\n- \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fpdfminer\u002Fpdfminer.six\" class=\"external-link\" target=\"_blank\">pdfminer.six\u003C\u002Fa> Fully open source.\n\n**Extracting Tables:**\n\n- \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fpymupdf\u002FPyMuPDF\" class=\"external-link\" target=\"_blank\">PyMuPDF\u003C\u002Fa> has some table detection functionality. Please see their \u003Ca href=\"https:\u002F\u002Fmupdf.com\u002Flicensing\u002Findex.html#commercial\" class=\"external-link\" target=\"_blank\">license\u003C\u002Fa>.\n- \u003Ca href=\"https:\u002F\u002Fhuggingface.co\u002Fmicrosoft\u002Ftable-transformer-detection\" class=\"external-link\" target=\"_blank\">Table Transformer\u003C\u002Fa> is a deep learning approach.\n- \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fpoloclub\u002Funitable\" class=\"external-link\" target=\"_blank\">unitable\u003C\u002Fa> is another transformers based approach with **state-of-the-art** performance.\n\n## Installation\n\n#### 1. Core Library\n\n```console\npip install openparse\n```\n\n**Enabling OCR Support**:\n\nPyMuPDF will already contain all the logic to support OCR functions. But it additionally does need Tesseract’s language support data, so installation of Tesseract-OCR is still required.\n\nThe language support folder location must be communicated either via storing it in the environment variable \"TESSDATA_PREFIX\", or as a parameter in the applicable functions.\n\nSo for a working OCR functionality, make sure to complete this checklist:\n\n1. Install Tesseract.\n\n2. Locate Tesseract’s language support folder. Typically you will find it here:\n\n   - Windows: `C:\u002FProgram Files\u002FTesseract-OCR\u002Ftessdata`\n\n   - Unix systems: `\u002Fusr\u002Fshare\u002Ftesseract-ocr\u002F5\u002Ftessdata`\n\n   - macOS (installed via Homebrew):\n     - Standard installation: `\u002Fopt\u002Fhomebrew\u002Fshare\u002Ftessdata`\n     - Version-specific installation: `\u002Fopt\u002Fhomebrew\u002FCellar\u002Ftesseract\u002F\u003Cversion>\u002Fshare\u002Ftessdata\u002F`\n\n3. Set the environment variable TESSDATA_PREFIX\n\n   - Windows: `setx TESSDATA_PREFIX \"C:\u002FProgram Files\u002FTesseract-OCR\u002Ftessdata\"`\n\n   - Unix systems: `declare -x TESSDATA_PREFIX=\u002Fusr\u002Fshare\u002Ftesseract-ocr\u002F5\u002Ftessdata`\n\n    - macOS (installed via Homebrew): `export TESSDATA_PREFIX=$(brew --prefix tesseract)\u002Fshare\u002Ftessdata`\n\n**Note:** _On Windows systems, this must happen outside Python – before starting your script. Just manipulating os.environ will not work!_\n\n#### 2. ML Table Detection (Optional)\n\nThis repository provides an optional feature to parse content from tables using a variety of deep learning models.\n\n```console\npip install \"openparse[ml]\"\n```\n\nThen download the model weights with\n\n```console\nopenparse-download\n```\n\nYou can run the parsing with the following. \n\n```python\nparser = openparse.DocumentParser(\n        table_args={\n            \"parsing_algorithm\": \"unitable\",\n            \"min_table_confidence\": 0.8,\n        },\n)\nparsed_nodes = parser.parse(pdf_path)\n```\n\nNote we currently use [table-transformers](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Ftable-transformer) for all table detection and we find its performance to be subpar. This negatively affects the downstream results of unitable. If you're aware of a better model please open an Issue - the unitable team mentioned they might add this soon too.\n\n## Cookbooks\n\nhttps:\u002F\u002Fgithub.com\u002FFilimoa\u002Fopen-parse\u002Ftree\u002Fmain\u002Fsrc\u002Fcookbooks\n\n## Documentation\n\nhttps:\u002F\u002Ffilimoa.github.io\u002Fopen-parse\u002F\n\n## Sponsors\n\n\u003C!-- sponsors -->\n\n\u003Ca href=\"https:\u002F\u002Fwww.data.threesigma.ai\u002Ffilings-ai\" target=\"_blank\" title=\"Three Sigma: AI for insurance filings.\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FFilimoa_open-parse_readme_9ac968d262e5.png\" width=\"250\">\u003C\u002Fa>\n\n\u003C!-- \u002Fsponsors -->\n\nDoes your use case need something special? Reach [out](https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Fsergey-osu\u002F).\n","\u003Cp align=\"center\">\n \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FFilimoa_open-parse_readme_b04255d08a0c.webp\" width=\"350\" \u002F>\n\u003C\u002Fp>\n\u003Cbr\u002F>\n\n**轻松以人类的方式对复杂文档进行分块。**\n\n文档分块是一项具有挑战性的任务，它是任何 RAG 系统的基础。高质量的结果对于成功的 AI 应用至关重要，然而大多数开源库在处理复杂文档方面能力有限。\n\nOpen Parse 旨在填补这一空白，提供一个灵活且易于使用的库，能够直观地识别文档布局并有效地对其进行分块。\n\n\u003Cdetails>\n  \u003Csummary>\u003Cb>这与其他布局解析器有何不同？\u003C\u002Fb>\u003C\u002Fsummary>\n\n  #### ✂️ 文本分割\n  文本分割会将文件转换为纯文本，并将其[切分成片段](https:\u002F\u002Fdocs.llamaindex.ai\u002Fen\u002Fstable\u002Fapi_reference\u002Fnode_parsers\u002Ftoken_text_splitter\u002F)。\n  \n  - 您将无法轻松地将分块内容叠加到原始 PDF 上。\n  - 您会忽略文件的潜在语义结构——标题、章节、项目符号等都包含有价值的信息。\n  - 不支持表格、图片或 Markdown 格式。\n  \n  #### 🤖 基于机器学习的布局解析器\n  存在一些优秀的库，例如 [layout-parser](https:\u002F\u002Fgithub.com\u002FLayout-Parser\u002Flayout-parser)。\n  - 虽然它们可以识别文本块、图片和表格等各种元素，但并未针对有效组织相关内容而设计。\n  - 它们严格专注于布局解析——您还需要额外的模型来从图片中提取 Markdown、解析表格、分组节点等。\n  - 我们发现，在许多文档上，这些工具的性能并不理想，同时计算开销也较大。\n\n  #### 💼 商业解决方案\n\n  - 通常定价约为每 1,000 页 10 美元。请参阅 [这里](https:\u002F\u002Fcloud.google.com\u002Fdocument-ai)、[这里](https:\u002F\u002Faws.amazon.com\u002Ftextract\u002F) 和 [这里](https:\u002F\u002Fwww.reducto.ai\u002F)。\n  - 需要与供应商共享您的数据。\n\n\u003C\u002Fdetails>\n\n## 主要特点\n\n- **🔍 基于视觉分析：** Open-Parse 通过视觉方式分析文档，生成更优质的 LLM 输入，超越了简单的文本分割方法。\n- **✍️ 支持 Markdown：** 提供基础的 Markdown 支持，可解析标题、加粗和斜体等格式。\n- **📊 高精度表格支持：** 将表格提取为整洁的 Markdown 格式，其准确性远超传统工具。\n    \u003Cdetails>\n  \u003Csummary>\u003Ci>示例\u003C\u002Fi>\u003C\u002Fsummary>\n  以下示例使用 unitable 进行解析。\n    \u003Cbr\u002F>\n    \u003Cp align=\"center\">\n        \u003Cbr\u002F>\n        \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FFilimoa_open-parse_readme_7018593a8758.webp\" width=\"650\"\u002F>\n    \u003C\u002Fp>\n         \u003Cbr\u002F>\n    \u003C\u002Fdetails>\n\n- **🛠️ 可扩展：** 轻松实现您自己的后处理步骤。\n- **💡 直观易用：** 提供出色的编辑器支持，处处有代码补全，减少调试时间。\n- **🎯 简单便捷：** 设计简洁，易于使用和学习，无需花费大量时间阅读文档。\n\n\u003Cbr\u002F>\n\u003Cp align=\"center\">\n    \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FFilimoa_open-parse_readme_18229e4804e1.webp\" width=\"250\" \u002F>\n\u003C\u002Fp>\n\n## 示例\n\n#### 基本示例\n\n```python\nimport openparse\n\nbasic_doc_path = \".\u002Fsample-docs\u002Fmobile-home-manual.pdf\"\nparser = openparse.DocumentParser()\nparsed_basic_doc = parser.parse(basic_doc_path)\n\nfor node in parsed_basic_doc.nodes:\n    print(node)\n```\n\n**📓 试用示例笔记本** \u003Ca href=\"https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1Z5B5gsnmhFKEFL-5yYIcoox7-jQao8Ep?usp=sharing\" class=\"external-link\" target=\"_blank\">点此\u003C\u002Fa>\n\n#### 语义处理示例\n\n文档分块的核心在于将语义相似的节点归为一组。通过为每个节点嵌入文本向量，我们可以根据它们的相似性进行聚类。\n\n```python\nfrom openparse import processing, DocumentParser\n\nsemantic_pipeline = processing.SemanticIngestionPipeline(\n    openai_api_key=OPEN_AI_KEY,\n    model=\"text-embedding-3-large\",\n    min_tokens=64,\n    max_tokens=1024,\n)\nparser = DocumentParser(\n    processing_pipeline=semantic_pipeline,\n)\nparsed_content = parser.parse(basic_doc_path)\n```\n\n**📓 示例笔记本** \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FFilimoa\u002Fopen-parse\u002Fblob\u002Fmain\u002Fsrc\u002Fcookbooks\u002Fsemantic_processing.ipynb\" class=\"external-link\" target=\"_blank\">点此\u003C\u002Fa>\n\n#### 序列化结果\n底层使用 Pydantic，因此您可以使用以下方式序列化结果：\n\n```python\nparsed_content.dict()\n\n# 或者转换为合法的 JSON 字典\nparsed_content.json()\n```\n\n## 系统要求\n\nPython 3.8+\n\n**处理 PDF 文件：**\n\n- \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fpdfminer\u002Fpdfminer.six\" class=\"external-link\" target=\"_blank\">pdfminer.six\u003C\u002Fa> 完全开源。\n\n**提取表格：**\n\n- \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fpymupdf\u002FPyMuPDF\" class=\"external-link\" target=\"_blank\">PyMuPDF\u003C\u002Fa> 具备一定的表格检测功能。请参阅其 \u003Ca href=\"https:\u002F\u002Fmupdf.com\u002Flicensing\u002Findex.html#commercial\" class=\"external-link\" target=\"_blank\">许可证\u003C\u002Fa>。\n- \u003Ca href=\"https:\u002F\u002Fhuggingface.co\u002Fmicrosoft\u002Ftable-transformer-detection\" class=\"external-link\" target=\"_blank\">Table Transformer\u003C\u002Fa> 是一种基于深度学习的方法。\n- \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fpoloclub\u002Funitable\" class=\"external-link\" target=\"_blank\">unitable\u003C\u002Fa> 是另一种基于 Transformer 的方法，拥有**最先进的**性能。\n\n## 安装\n\n#### 1. 核心库\n\n```console\npip install openparse\n```\n\n**启用 OCR 支持**：\n\nPyMuPDF 已经包含了支持 OCR 功能的所有逻辑。不过，它还需要 Tesseract 的语言支持数据，因此仍然需要安装 Tesseract-OCR。\n\n语言支持文件夹的位置必须通过将路径存储在环境变量 `TESSDATA_PREFIX` 中，或者作为参数传递给相关函数来指定。\n\n为了使 OCR 功能正常工作，请确保完成以下检查清单：\n\n1. 安装 Tesseract。\n\n2. 找到 Tesseract 的语言支持文件夹。通常情况下，其位置如下：\n\n   - Windows: `C:\u002FProgram Files\u002FTesseract-OCR\u002Ftessdata`\n\n   - Unix 系统: `\u002Fusr\u002Fshare\u002Ftesseract-ocr\u002F5\u002Ftessdata`\n\n   - macOS（通过 Homebrew 安装）：\n     - 标准安装: `\u002Fopt\u002Fhomebrew\u002Fshare\u002Ftessdata`\n     - 版本特定安装: `\u002Fopt\u002Fhomebrew\u002FCellar\u002Ftesseract\u002F\u003Cversion>\u002Fshare\u002Ftessdata\u002F`\n\n3. 设置环境变量 `TESSDATA_PREFIX`\n\n   - Windows: `setx TESSDATA_PREFIX \"C:\u002FProgram Files\u002FTesseract-OCR\u002Ftessdata\"`\n\n   - Unix 系统: `declare -x TESSDATA_PREFIX=\u002Fusr\u002Fshare\u002Ftesseract-ocr\u002F5\u002Ftessdata`\n\n   - macOS（通过 Homebrew 安装）: `export TESSDATA_PREFIX=$(brew --prefix tesseract)\u002Fshare\u002Ftessdata`\n\n**注意：** _在 Windows 系统上，这必须在 Python 外部进行——即在启动脚本之前。仅修改 `os.environ` 是无效的！_\n\n#### 2. ML 表格检测（可选）\n\n该仓库提供了一个可选功能，可以使用多种深度学习模型解析表格内容。\n\n```console\npip install \"openparse[ml]\"\n```\n\n然后下载模型权重：\n\n```console\nopenparse-download\n```\n\n你可以使用以下代码运行解析：\n\n```python\nparser = openparse.DocumentParser(\n        table_args={\n            \"parsing_algorithm\": \"unitable\",\n            \"min_table_confidence\": 0.8,\n        },\n)\nparsed_nodes = parser.parse(pdf_path)\n```\n\n请注意，我们目前使用 [table-transformers](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Ftable-transformer) 进行所有表格检测，并且发现其性能并不理想。这会对 unitable 的下游结果产生负面影响。如果你知道更好的模型，请提交一个 Issue；unitable 团队也提到他们可能会很快加入这一功能。\n\n## 烹饪书\n\nhttps:\u002F\u002Fgithub.com\u002FFilimoa\u002Fopen-parse\u002Ftree\u002Fmain\u002Fsrc\u002Fcookbooks\n\n## 文档\n\nhttps:\u002F\u002Ffilimoa.github.io\u002Fopen-parse\u002F\n\n## 赞助商\n\n\u003C!-- sponsors -->\n\n\u003Ca href=\"https:\u002F\u002Fwww.data.threesigma.ai\u002Ffilings-ai\" target=\"_blank\" title=\"Three Sigma：用于保险申报的 AI。\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FFilimoa_open-parse_readme_9ac968d262e5.png\" width=\"250\">\u003C\u002Fa>\n\n\u003C!-- \u002Fsponsors -->\n\n你的用例是否需要特别的支持？请 [联系我](https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Fsergey-osu\u002F)。","# Open-Parse 快速上手指南\n\nOpen-Parse 是一个专为 RAG（检索增强生成）系统设计的文档解析库。它能够像人类一样通过视觉分析文档布局，将复杂文档（如 PDF）智能切分为具有语义结构的块，并支持高精度提取表格为 Markdown 格式。\n\n## 环境准备\n\n- **操作系统**：Windows, macOS, Linux\n- **Python 版本**：3.8 及以上\n- **核心依赖**：\n  - `pdfminer.six`：用于开源 PDF 解析（安装主库时自动包含）。\n  - `PyMuPDF`：用于部分表格检测功能。\n- **可选依赖（OCR 支持）**：\n  - 若需启用 OCR 功能，需单独安装 **Tesseract-OCR** 引擎及其语言包。\n  - **配置环境变量**：安装 Tesseract 后，需设置 `TESSDATA_PREFIX` 指向语言包目录。\n    - **Windows**: `setx TESSDATA_PREFIX \"C:\u002FProgram Files\u002FTesseract-OCR\u002Ftessdata\"` (需在运行 Python 脚本前在命令行执行)\n    - **macOS (Homebrew)**: `export TESSDATA_PREFIX=$(brew --prefix tesseract)\u002Fshare\u002Ftessdata`\n    - **Linux**: `declare -x TESSDATA_PREFIX=\u002Fusr\u002Fshare\u002Ftesseract-ocr\u002F5\u002Ftessdata`\n\n## 安装步骤\n\n### 1. 安装核心库\n使用 pip 安装基础版本，包含基本的文档解析和表格提取功能。\n\n```console\npip install openparse\n```\n\n> **提示**：国内用户如遇下载缓慢，可添加清华或阿里镜像源：\n> `pip install openparse -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple`\n\n### 2. 安装机器学习增强版（可选）\n若需使用基于深度学习的高精度表格解析（如 `unitable` 模型），请安装额外依赖并下载模型权重。\n\n```console\npip install \"openparse[ml]\"\nopenparse-download\n```\n\n## 基本使用\n\n### 基础文档解析\n以下示例展示如何加载 PDF 文档并将其解析为带有语义结构的节点列表。\n\n```python\nimport openparse\n\nbasic_doc_path = \".\u002Fsample-docs\u002Fmobile-home-manual.pdf\"\nparser = openparse.DocumentParser()\nparsed_basic_doc = parser.parse(basic_doc_path)\n\nfor node in parsed_basic_doc.nodes:\n    print(node)\n```\n\n### 高级用法：语义分组与表格提取\n\n**语义处理流水线**\n结合 Embedding 模型，将语义相似的文本块自动聚类分组，优化 RAG 切片效果。\n\n```python\nfrom openparse import processing, DocumentParser\n\nsemantic_pipeline = processing.SemanticIngestionPipeline(\n    openai_api_key=OPEN_AI_KEY,\n    model=\"text-embedding-3-large\",\n    min_tokens=64,\n    max_tokens=1024,\n)\nparser = DocumentParser(\n    processing_pipeline=semantic_pipeline,\n)\nparsed_content = parser.parse(basic_doc_path)\n```\n\n**高精度表格解析**\n启用 `unitable` 算法以获取更准确的表格 Markdown 输出。\n\n```python\nparser = openparse.DocumentParser(\n        table_args={\n            \"parsing_algorithm\": \"unitable\",\n            \"min_table_confidence\": 0.8,\n        },\n)\nparsed_nodes = parser.parse(pdf_path)\n```\n\n### 结果序列化\n解析结果基于 Pydantic 构建，可直接转换为字典或 JSON 字符串。\n\n```python\n# 转换为字典\nparsed_content.dict()\n\n# 转换为 JSON 字符串\nparsed_content.json()\n```","某金融科技团队正在构建基于 RAG 的合规问答系统，需要让 AI 精准理解包含复杂财务报表和多层级条款的 PDF 监管文档。\n\n### 没有 open-parse 时\n- 传统文本切割仅按字符数强行截断，导致表格行数据错位，AI 经常混淆不同年份的财务指标。\n- 文档中的标题、加粗重点等语义结构丢失，模型无法区分“一般性描述”与“强制性规定”，回答缺乏逻辑层次。\n- 遇到扫描版报表或复杂布局时，解析结果杂乱无章，开发人员需耗费大量时间编写正则表达式进行后处理清洗。\n- 若选用商业云服务虽能提升精度，但面临高昂的按页计费成本，且敏感金融数据外传存在合规风险。\n\n### 使用 open-parse 后\n- open-parse 通过视觉分析精准识别表格边界，将复杂的财务报表自动转换为结构清晰的 Markdown，确保数据行列对应准确无误。\n- 它能像人类一样理解文档布局，自动保留标题层级和强调格式，使 AI 生成的答案逻辑严密、重点突出。\n- 内置的语义处理流水线可直接对解析节点进行聚类和向量化，大幅减少了手动清洗和分组代码的开发工作量。\n- 作为开源本地部署方案，open-parse 在零数据外泄风险的前提下，以极低的算力成本实现了媲美商业级的解析效果。\n\nopen-parse 通过还原文档的视觉与语义结构，彻底解决了复杂文件在 RAG 系统中“读不懂、理不清”的核心难题。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FFilimoa_open-parse_b04255d0.webp","Filimoa","Sergey Filimonov","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FFilimoa_009479b9.jpg","It's more fun to be a pirate than join the navy. \r\n",null,"safilimonov@gmail.com","Matrisk.ai","https:\u002F\u002Fgithub.com\u002FFilimoa",[81],{"name":82,"color":83,"percentage":84},"Python","#3572A5",100,3156,138,"2026-04-07T13:18:01","MIT","Linux, macOS, Windows","未说明（可选功能涉及深度学习模型，如 Table Transformer 和 Unitable，但未明确指定 GPU 型号或显存要求）","未说明",{"notes":93,"python":94,"dependencies":95},"若需启用 OCR 功能，必须单独安装 Tesseract-OCR 并配置 TESSDATA_PREFIX 环境变量指向语言数据目录。在 Windows 上必须在运行 Python 脚本前通过系统命令设置该环境变量。表格提取功能为可选，需安装 'openparse[ml]' 并运行 'openparse-download' 下载模型权重。默认表格检测模型性能一般，推荐使用 Unitable 算法以获得更佳效果。","3.8+",[96,97,98,99],"pdfminer.six","PyMuPDF","transformers (用于 Table Transformer 和 Unitable)","pydantic",[14,16],[102,103,104,105],"document-structure","table-detection","document-parser","layout-parsing","2026-03-27T02:49:30.150509","2026-04-09T20:38:23.634485",[109,114,119,124,129,134],{"id":110,"question_zh":111,"answer_zh":112,"source_url":113},26516,"遇到 OpenAI BadRequestError (Error code: 400) 错误提示 '$.input' is invalid 怎么办？","该问题通常是因为仅包含图像元素（Image Elements）的节点没有附加文本，却被传递给了语义管道导致 OpenAI 报错。维护者已在 v0.7.0 版本中修复此问题，现在的逻辑会将图像元素与页面上的所有文本进行分组。请升级库版本：`pip install open-parse --upgrade` 至 0.7.0 或更高版本。","https:\u002F\u002Fgithub.com\u002FFilimoa\u002Fopen-parse\u002Fissues\u002F72",{"id":115,"question_zh":116,"answer_zh":117,"source_url":118},26517,"为什么解析后的节点输出不是文档中展示的 JSON 格式，而是复杂的对象结构？","在 Python 中，你需要先将解析结果赋值给变量，然后调用 `.json()` 方法才能获取标准的 JSON 输出。示例代码如下：\n```python\nparsed_content = parser.parse(basic_doc_path)\nprint(parsed_content.json())\n```\n注意是调用方法 `json()` 而不是访问属性。节点可能由 text、table 或 image 元素组成，因此变体（variant）在 JSON 中表现为集合或列表。","https:\u002F\u002Fgithub.com\u002FFilimoa\u002Fopen-parse\u002Fissues\u002F7",{"id":120,"question_zh":121,"answer_zh":122,"source_url":123},26518,"遇到 RuntimeError: Input type (torch.FloatTensor) and weight type (torch.cuda.FloatTensor) should be the same 错误如何解决？","这是设备不匹配问题（CPU 与 CUDA）。你可以在代码全局设置中指定使用 CPU 来解决：\n```python\nimport openparse\nopenparse.config.set_device(\"cpu\")\n```\n该功能已在 v0.5.2 版本中可用。如果需要使用 CUDA，请确保输入张量和模型权重在同一设备上。","https:\u002F\u002Fgithub.com\u002FFilimoa\u002Fopen-parse\u002Fissues\u002F17",{"id":125,"question_zh":126,"answer_zh":127,"source_url":128},26519,"长时间运行任务时磁盘空间被临时文件占满怎么办？","旧版本中使用命名临时文件转换 pymupdf 且未删除会导致磁盘空间耗尽。该问题已在 v0.5.5 版本中修复，现在直接从字节流（bytestream）创建 pymupdf 对象，不再依赖磁盘临时文件，同时也提升了性能。请升级到 v0.5.5 或更高版本。","https:\u002F\u002Fgithub.com\u002FFilimoa\u002Fopen-parse\u002Fissues\u002F38",{"id":130,"question_zh":131,"answer_zh":132,"source_url":133},26520,"open-parse 是否支持集成到 LlamaIndex 或 LangChain 中？","是的，从 v0.5.6 版本开始已原生支持 LlamaIndex。维护者建议优先搭配 LlamaIndex 使用。对于 LangChain，目前社区可以提交 PR 支持，但官方主要聚焦于 LlamaIndex 集成。使用方法通常是在 LlamaIndex 的数据加载器或文档索引模块中调用 open-parse 进行解析。","https:\u002F\u002Fgithub.com\u002FFilimoa\u002Fopen-parse\u002Fissues\u002F15",{"id":135,"question_zh":136,"answer_zh":137,"source_url":138},26521,"运行 UniTable Cookbook 笔记本时报错 'list' object has no attribute 'verbose' 怎么办？","这是因为在初始化 `DocumentParser` 时，如果 `processing_pipeline` 参数传入的是空列表 `[]`，旧代码会尝试访问其 `verbose` 属性导致报错。该问题是由于笔记本未及时更新以适配预发布变更造成的。请确保按照最新文档更新代码，或者升级 open-parse 到修复该问题的最新版本（维护者已快速修复）。避免直接传入空列表，或检查版本兼容性。","https:\u002F\u002Fgithub.com\u002FFilimoa\u002Fopen-parse\u002Fissues\u002F13",[140,145,150,155,160,165,170,175,180,185,190,195,200,205,210,215,220],{"id":141,"version":142,"summary_zh":143,"released_at":144},171771,"v0.7.0","## 变更内容\n* PNG 问题，由 @Filimoa 在 https:\u002F\u002Fgithub.com\u002FFilimoa\u002Fopen-parse\u002Fpull\u002F83 中修复\n* 添加处理图片的教程\n* 修复了 OpenAI 嵌入接口的 400 错误\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002FFilimoa\u002Fopen-parse\u002Fcompare\u002Fv0.6.1...v0.7.0","2024-11-13T01:28:53",{"id":146,"version":147,"summary_zh":148,"released_at":149},171772,"v0.6.1","## 变更内容\n* 由 @dongcartney92 在 https:\u002F\u002Fgithub.com\u002FFilimoa\u002Fopen-parse\u002Fpull\u002F76 中修复了 get_mime_type 的 bug\n\n## 新贡献者\n* @dongcartney92 在 https:\u002F\u002Fgithub.com\u002FFilimoa\u002Fopen-parse\u002Fpull\u002F76 中完成了他们的首次贡献\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002FFilimoa\u002Fopen-parse\u002Fcompare\u002Fv0.6.0...v0.6.1","2024-11-07T04:36:19",{"id":151,"version":152,"summary_zh":153,"released_at":154},171773,"v0.6.0","## 变更内容\n* 添加对 ImageElements 的支持 -> 由 @ic-xu 在 https:\u002F\u002Fgithub.com\u002FFilimoa\u002Fopen-parse\u002Fpull\u002F64 中解析图片\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002FFilimoa\u002Fopen-parse\u002Fcompare\u002Fv0.5.8...v0.6.0","2024-09-24T15:24:47",{"id":156,"version":157,"summary_zh":158,"released_at":159},171774,"v0.5.8","## 变更内容\n* 添加 Homebrew 安装路径，并由 @Gregory-Pereira 在 https:\u002F\u002Fgithub.com\u002FFilimoa\u002Fopen-parse\u002Fpull\u002F52 中修复 Linux 前缀设置\n* 由 @Kydlaw 在 https:\u002F\u002Fgithub.com\u002FFilimoa\u002Fopen-parse\u002Fpull\u002F62 中更新关于边界框可视化导出的文档\n* 新增 doc.to_imgs 功能\n\n## 新贡献者\n* @Gregory-Pereira 在 https:\u002F\u002Fgithub.com\u002FFilimoa\u002Fopen-parse\u002Fpull\u002F52 中完成了首次贡献\n* @Kydlaw 在 https:\u002F\u002Fgithub.com\u002FFilimoa\u002Fopen-parse\u002Fpull\u002F62 中完成了首次贡献\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002FFilimoa\u002Fopen-parse\u002Fcompare\u002Fv0.5.7...v0.5.8","2024-09-23T16:01:21",{"id":161,"version":162,"summary_zh":163,"released_at":164},171775,"v0.5.7","## 变更内容\n* @Filimoa 在 https:\u002F\u002Fgithub.com\u002FFilimoa\u002Fopen-parse\u002Fpull\u002F51 中修复了空白字符问题\n* @cipherCOM 在 https:\u002F\u002Fgithub.com\u002FFilimoa\u002Fopen-parse\u002Fpull\u002F48 中修复了某些 PDF 文件中包含必要空白字符的 LTAnno 对象被跳过的问题\n\n## 新贡献者\n* @cipherCOM 在 https:\u002F\u002Fgithub.com\u002FFilimoa\u002Fopen-parse\u002Fpull\u002F48 中完成了首次贡献\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002FFilimoa\u002Fopen-parse\u002Fcompare\u002Fv0.5.6...v0.5.7","2024-06-13T15:32:19",{"id":166,"version":167,"summary_zh":168,"released_at":169},171776,"v0.5.6","## 变更内容\n* 由 @Filimoa 在 https:\u002F\u002Fgithub.com\u002FFilimoa\u002Fopen-parse\u002Fpull\u002F41 中引入的 Llama Index 集成\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002FFilimoa\u002Fopen-parse\u002Fcompare\u002Fv0.5.5...v0.5.6\n","2024-05-02T00:35:06",{"id":171,"version":172,"summary_zh":173,"released_at":174},171777,"v0.5.5","## 变更内容\n* [修复内存泄漏] 由 @Filimoa 在 https:\u002F\u002Fgithub.com\u002FFilimoa\u002Fopen-parse\u002Fpull\u002F39 中实现，支持从字节流创建 Fitz PDF。\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002FFilimoa\u002Fopen-parse\u002Fcompare\u002Fv0.5.4...v0.5.5","2024-04-28T17:39:21",{"id":176,"version":177,"summary_zh":178,"released_at":179},171778,"v0.5.4","## 变更内容\n* #29 [对 mashihua 分支的微调]，由 @Filimoa 在 https:\u002F\u002Fgithub.com\u002FFilimoa\u002Fopen-parse\u002Fpull\u002F32 中提交\n* 修复 parse.py 中的 bug，由 @mashihua 在 https:\u002F\u002Fgithub.com\u002FFilimoa\u002Fopen-parse\u002Fpull\u002F29 中提交\n\n## 新贡献者\n* @mashihua 在 https:\u002F\u002Fgithub.com\u002FFilimoa\u002Fopen-parse\u002Fpull\u002F29 中完成了首次贡献\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002FFilimoa\u002Fopen-parse\u002Fcompare\u002Fv0.5.3...v0.5.4","2024-04-24T15:00:57",{"id":181,"version":182,"summary_zh":183,"released_at":184},171779,"v0.5.3","小幅错误修复\n\n## 变更内容\n* 由 @ada-lovecraft 在 https:\u002F\u002Fgithub.com\u002FFilimoa\u002Fopen-parse\u002Fpull\u002F20 中更新了 pymupdf.md 文件\n* 由 @brianjking 在 https:\u002F\u002Fgithub.com\u002FFilimoa\u002Fopen-parse\u002Fpull\u002F24 中更新了 Cookbook 链接\n* 修复：当表格输出设置为 Markdown 格式时，解决“序列项 2：预期字符串实例，发现 NoneType”异常。由 @ic-xu 在 https:\u002F\u002Fgithub.com\u002FFilimoa\u002Fopen-parse\u002Fpull\u002F27 中完成\n\n## 新贡献者\n* @ada-lovecraft 在 https:\u002F\u002Fgithub.com\u002FFilimoa\u002Fopen-parse\u002Fpull\u002F20 中完成了首次贡献\n* @brianjking 在 https:\u002F\u002Fgithub.com\u002FFilimoa\u002Fopen-parse\u002Fpull\u002F24 中完成了首次贡献\n* @ic-xu 在 https:\u002F\u002Fgithub.com\u002FFilimoa\u002Fopen-parse\u002Fpull\u002F27 中完成了首次贡献\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002FFilimoa\u002Fopen-parse\u002Fcompare\u002Fv0.5.2...v0.5.3","2024-04-22T03:56:05",{"id":186,"version":187,"summary_zh":188,"released_at":189},171780,"v0.5.2","## 功能特性\n\n- 更好的版本显示\n- 修复了 PyTorch 设备相关 bug。感谢 @jinmang2\n- 添加全局配置，用于设置 PyTorch 的运行设备","2024-04-11T14:23:05",{"id":191,"version":192,"summary_zh":193,"released_at":194},171781,"v0.5.1","## Bug Fixes\r\n- Fixed type hinting bug for python \u003C 3.10\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FFilimoa\u002Fopen-parse\u002Fcompare\u002Fv0.5.0...v0.5.1","2024-04-08T20:58:24",{"id":196,"version":197,"summary_zh":198,"released_at":199},171782,"v0.5.0","0.5.0 (2024-04-01)\r\n\r\n## What's Changed\r\n- SemanticProcessing! This is the recommended processing pipeline.\r\n- Add optional annotations to the pdf draw functions\r\n- Fixed reading order bug\r\n\r\n## Breaking Changes \r\n1. Renaming\r\n- `Node.aggregate_position` renamed to `Node.reading_order`.\r\n- `RemoveStubs` to `RemoveNodesBelowNTokens`\r\n2. Refactored processing pipelines to use a class to promote ease of reuse \r\n\r\nPreviously \r\n```python\r\nfrom openparse import ProcessingStep, default_pipeline, Node\r\nfrom typing import List\r\n\r\n\r\nclass CustomCombineTables(ProcessingStep):\r\n    def process(self, nodes: List[Node]) -> List[Node]:\r\n        return nodes\r\n\r\n\r\n# copy the default pipeline (or create a new one)\r\ncustom_pipeline = default_pipeline.copy()\r\ncustom_pipeline.append(CustomCombineTables())\r\n\r\nparser = openparse.DocumentParser(\r\n    table_args={\"parsing_algorithm\": \"pymupdf\"}, processing_pipeline=custom_pipeline\r\n)\r\ncustom_10k = parser.parse(meta10k_path)\r\n```\r\n\r\nNow becomes \r\n\r\n```python\r\nfrom openparse import processing, Node\r\nfrom typing import List\r\n\r\n\r\nclass CustomCombineTables(processing.ProcessingStep):\r\n    def process(self, nodes: List[Node]) -> List[Node]:\r\n        return nodes\r\n\r\n\r\n# copy the default pipeline (or create a new one)\r\ncustom_pipeline = processing.BasicIngestionPipeline()\r\ncustom_pipeline.append_transform(CustomCombineTables())\r\n\r\nparser = openparse.DocumentParser(\r\n    table_args={\"parsing_algorithm\": \"pymupdf\"}, processing_pipeline=custom_pipeline\r\n)\r\ncustom_10k = parser.parse(meta10k_path)\r\n```\r\n3. `openai` and `numpy` as now required dependencies, will likely split this out in the future.\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FFilimoa\u002Fopen-parse\u002Fcompare\u002Fv0.4.1...v0.5.0","2024-04-08T04:20:48",{"id":201,"version":202,"summary_zh":203,"released_at":204},171783,"v0.4.1","## What's Changed\r\n- Better error messages for missing weights\r\n- Type hinting bug with python 3.8 fixed\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FFilimoa\u002Fopen-parse\u002Fcompare\u002Fv0.4.0...v0.4.1","2024-04-05T19:33:54",{"id":206,"version":207,"summary_zh":208,"released_at":209},171784,"v0.4.0","## What's Changed\r\n- ✨ Unitable support for table content extraction!\r\n- 🐛 Fixed bug with table transformers failing on multiple pages.\r\n- ✨ Improved table docs\r\n\r\n## What's Changed\r\n* Unitable by @Filimoa in https:\u002F\u002Fgithub.com\u002FFilimoa\u002Fopen-parse\u002Fpull\u002F6\r\n\r\n## New Contributors\r\n* @Filimoa made their first contribution in https:\u002F\u002Fgithub.com\u002FFilimoa\u002Fopen-parse\u002Fpull\u002F6\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FFilimoa\u002Fopen-parse\u002Fcompare\u002Fv0.3.1...v0.4.0","2024-04-05T04:54:18",{"id":211,"version":212,"summary_zh":213,"released_at":214},171785,"v0.3.1","## What's Changed\r\n- Fixed #4 ","2024-04-01T21:36:25",{"id":216,"version":217,"summary_zh":218,"released_at":219},171786,"v0.3.0","## What's Changed\r\n- Better support for combining bulleted lists, especially ones that stretch across pages\r\n- When displaying Node bboxes, separate bboxes from the same Node will have the same color\r\n- Now using SemVer versioning ","2024-03-31T22:01:32",{"id":221,"version":222,"summary_zh":223,"released_at":224},171787,"v0.2","## What's Changed\r\n- 🎉 First release \r\n## New Contributors\r\n- @Filimoa ","2024-03-27T23:16:12"]