尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

GLM-OCR Python API实战:GlmOcr类与parse函数全用法

GLM-OCR Python API实战:GlmOcr类与parse函数全用法 GLM-OCR Python API实战GlmOcr类与parse函数全用法【免费下载链接】GLM-OCRGLM-OCR: Accurate × Fast × Comprehensive项目地址: https://gitcode.com/GitHub_Trending/gl/GLM-OCRGLM-OCR 是一款面向复杂文档理解的多模态 OCR 模型其官方 Python API 提供了GlmOcr类与parse便捷函数两种调用方式无论是本地图片、PDF、二进制字节还是 URL都能一行代码解析为 Markdown 结构化 JSON 结果。本文带你完整掌握 GLM-OCR Python API 的用法从安装、选模式到流式解析一篇讲透。快速安装3 种依赖场景对应 3 条命令GLM-OCR 的 Python SDK 包名为glmocr按你的运行场景选择最轻量的安装方式场景安装命令云端 MaaS 模式无需 GPU最快上手pip install glmocr自部署完整流水线本地 GPUpip install glmocr[selfhosted]额外需要 Flask 服务pip install glmocr[server]包入口定义在 glmocr/init.py安装后可直接from glmocr import GlmOcr, parse。GLM-OCR 对真实场景文档表现稳定比如下面这张中文手写稿图片就是典型的输入样例两种调用方式GlmOcr 类 vs parse 函数GLM-OCR 的 Python API 核心逻辑位于 glmocr/api.py提供两个层级的入口1.parse()便捷函数 —— 一次性任务import glmocr # 单张图 → 返回 PipelineResult result glmocr.parse(image.png) # 批量输入路径、字节混合→ 返回结果列表 results glmocr.parse([img1.png, img2.jpg]) # 带 API key 直接调用 result glmocr.parse(image.png, api_keysk-xxx)parse()内部自动创建GlmOcr实例、执行解析并释放资源适合脚本和批处理场景。2.GlmOcr类 —— 长驻解析器with GlmOcr() as parser: result parser.parse(image.png) print(result.markdown_result) result.save(output_dir./results)用with上下文管理最省心退出时自动close()释放资源。类接口的完整示例可参考 examples/example.py。配置优先级构造参数 环境变量 YAML 文件 默认值。所有场景下 API Key 都可以通过环境变量ZHIPU_API_KEY提供。GlmOcr 构造参数速查选对运行模式GlmOcr.__init__的所有参数都是可选的关键参数如下参数说明api_key/env_fileMaaS 模式的 API 密钥env_file从.env文件加载modemaas云端或selfhosted本地 vLLM/SGLang提供了api_key但未指定 mode 时自动启用 MaaSconfig_path指定 YAML 配置文件路径layout_device版面模型设备cpu、cuda、cuda:Ntimeout/log_level请求超时秒、日志级别两种运行模式的典型写法# MaaS 云端模式只需 API Key无需 GPU with GlmOcr(api_keysk-xxx, modemaas) as parser: result parser.parse(document.png) # 单卡机器推荐版面检测放 CPU把 GPU 留给 OCR 模型 with GlmOcr(modeselfhosted, layout_devicecpu) as parser: result parser.parse(document.png) 完整的配置项MaaS 开关、OCR 服务地址、版面检测阈值等都在 glmocr/config.yaml 中默认maas.enabled: true。parse 函数全参数解析路径、字节、流式parser.parse()和模块级parse()的入参签名一致是 GLM-OCR Python API 中最核心的方法def parse( self, images, # str 路径 / pathlib.Path / bytes / URL / 以上列表 *, stream: bool False, # True 时逐个产出结果生成器 save_layout_visualization: bool True, # 是否保存版面可视化 preserve_order: bool True, # 输出顺序与输入一致 **kwargs, # MaaS 透传参数 )支持的输入类型一览str本地文件路径或http://、file://、data:开头的 URLpathlib.Path路径对象bytes图片/PDF 原始字节格式自动识别以上任意类型的混合列表返回值规则很简单单输入 → 一个PipelineResult列表输入 →List[PipelineResult]streamTrue→ 生成器逐个产出# 流式解析大 PDF 边解析边处理不占内存 for r in parser.parse([a.pdf, b.pdf], streamTrue): r.save(output_dir./output)比如下面这张含财务表格的照片解析后可得到标准 Markdown 表格PipelineResult 结果对象取出 Markdown 与 JSON解析结果的类定义在 glmocr/parser_result/pipeline_result.py拿到PipelineResult后常用操作属性 / 方法用途result.markdown_result直接可读的 Markdown 全文result.json_result结构化版面数据每页每个区域的 label、content、bbox_2dresult.to_dict()转为可 JSON 序列化的 dict适合传给下游程序或 Agentresult.to_json()直接序列化为 JSON 字符串result.save(output_dir...)落盘为.md.json另存imgs/、layout_vis/可视化产物to_dict()是 Agent 友好设计无需接触文件系统即可拿到完整结构化结果d result.to_dict() print(d[markdown_result]) # Markdown 文本 print(d[json_result]) # 版面区域明细进阶用法PDF 页范围解析与 MaaS 透传参数MaaS 模式下parse()支持透传云端 API 的扩展参数最常用的是 PDF 页范围控制# 只解析 PDF 的第 3 页到第 10 页1 起 result parser.parse(big.pdf, start_page_id3, end_page_id10)另外两个常用开关return_crop_imagesTrue返回区域裁剪图need_layout_visualizationTrue返回版面可视化save_layout_visualization为 True 时会自动带上如果不想经过PipelineResult转换、直接拿原始响应可以用parse_maas()raw parser.parse_maas(doc.pdf, return_crop_imagesTrue)⚠️ 注意parse_maas()仅在 MaaS 模式可用自部署模式下调用会抛出RuntimeError。自部署模式下还可调用parser.get_queue_stats()查看流水线队列水位。常见坑点清单 ✅API Key 找不到检查环境变量ZHIPU_API_KEY或GLMOCR_API_KEYMaaS 模式缺 key 会直接报MissingApiKeyError。解析 PDF 报 poppler 缺失自部署模式下 PDF 依赖 popplerpdfinfo/pdftoppmmacOS 执行brew install poppler。忘记 close长驻使用时务必用with或显式close()否则会泄漏流水线资源。单卡显存紧张用layout_devicecpu把版面检测挪到 CPUGPU 专供 OCR 推理。掌握GlmOcr类与parse函数后GLM-OCR Python API 的完整能力版图就打开了单行调用、批量流式、PDF 页范围、结果落盘与结构化输出覆盖绝大多数文档解析场景。更多 CLI 用法与服务部署方式可查阅仓库内 README_zh.md 与 skills/glmocr/SKILL.md。【免费下载链接】GLM-OCRGLM-OCR: Accurate × Fast × Comprehensive项目地址: https://gitcode.com/GitHub_Trending/gl/GLM-OCR创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表