ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

GLM-OCR代码截图识别:从代码图片还原可读源码的完整流程

GLM-OCR代码截图识别:从代码图片还原可读源码的完整流程 GLM-OCR代码截图识别从代码图片还原可读源码的完整流程【免费下载链接】GLM-OCRGLM-OCR: Accurate × Fast × Comprehensive项目地址: https://gitcode.com/GitHub_Trending/gl/GLM-OCRGLM-OCR 是一款面向复杂文档理解的轻量多模态 OCR 模型能够从代码截图中精确还原出可读源码。本文以官方示例中的书页代码截图为例带你走一遍 GLM-OCR 代码截图识别的完整流程布局检测、并行 OCR、结果格式化并给出 3 步快速上手方法。为什么需要代码截图识别代码截图无处不在——教材、在线课程、聊天记录、bug 报告里代码常以图片形式存在复制不了、搜索不到、无法运行。而代码截图恰恰是普通 OCR 工具的噩梦布局混杂正文与代码块交错还混着页眉、页脚和页码符号密集、、{、}、;等特殊字符识别错误率高格式要求高还原后的代码应该保持代码块结构而不是一大段乱序文字GLM-OCR 用「布局分析 并行识别」的两段式设计解决了这些问题。核心模型仅 0.9B 参数支持 vLLM、SGLang、Ollama 等多种部署方式也可以直接对接云端 API。代码截图识别的完整流程4 步走整体流水线位于 glmocr/pipeline/pipeline.py由队列连接的三段异步流水线组成外加一个健康监控线程页面加载PageLoader——读取图片或 PDF编码为请求载荷见 glmocr/dataloader/page_loader.py布局检测PP-DocLayoutV3——扫描整页检测文本、表格、公式等区域并丢弃页眉/页脚/页码等无用区域见 glmocr/layout/layout_detector.py并行 OCROCRClient——把每个内容区域裁切出来并行默认 32 线程发送给 GLM-OCR 视觉模型识别文本/表格/公式各用专属提示词结果格式化ResultFormatter——合并文本块、清理重复内容输出 Markdown JSON 双格式见 glmocr/postprocess/result_formatter.py哪些区域要识别、哪些直接丢弃以及识别提示词全部在 glmocr/config.yaml 中声明无需改动代码。输入书页中的代码截图以官方示例 examples/source/code.png 为例这是一页《WebLogic Workbook》正文与大段 XML 配置代码混排在一起布局检测先弄清「页面上有什么」布局检测后GLM-OCR 在这一页识别出 9 个区域顶部 1 个页眉、中间 6 个文本块其中底部大块就是 XML 代码、底部 1 个页码和 1 个页脚。页眉、页码、页脚都属于abandon直接丢弃类别只有 6 个文本块进入 OCR 这是代码识别准确的关键一步先分区域再识别既避免跨区域互相干扰也让页码这类无关内容不会混进还原的源码里。识别结果带代码块格式的可读源码并行识别与后处理之后输出是一份标准 Markdown代码部分被自动包裹进代码块缩进与换行完整保留见 examples/result/code/code.md。同时输出结构化 JSON每个区域带有类型标签和bbox_2d定位坐标归一化到 0-1000可用于点击定位、高亮覆盖等见 examples/result/code/code.json{ index: 5, label: text, content: html\nweblogic-rdbms-bean\n ejb-nameAddressJEJ/ejb-name\n..., bbox_2d: [111, 345, 874, 890] }同一套流水线对论文等复杂版面同样有效能精准区分摘要、公式、参考文献等区域完整的示例输入与输出都在 examples/ 目录运行 examples/example.py 即可重新生成全部样本结果。快速上手3 步跑通代码识别第 1 步安装 SDK# 云端 API 模式无需 GPU最快 pip install glmocr # 自托管模式vLLM / SGLang需额外依赖 pip install glmocr[selfhosted]第 2 步配置 glmocr/config.yaml云端模式设置pipeline.maas.enabled: true并填入api_key自托管模式先启动 GLM-OCR 推理服务vLLM / SGLang 启动命令详见 README.md再把pipeline.ocr_api.api_host和api_port指向服务地址第 3 步一条命令解析代码截图⚡glmocr parse examples/source/code.png用 Python API 也只需一行from glmocr import parse result parse(examples/source/code.png) result.save(output_dir./results)Python API 入口在 glmocr/api.pyCLI 实现在 glmocr/cli.py面向 AI Agent 的免配置用法见 skills/glmocr/SKILL.md。为什么它能准确还原源码先布局后识别用 PP-DocLayoutV3 把页面切成语义区域页眉页脚页码等无关内容提前出局专属提示词文本、表格、公式分别使用不同提示词代码块走文本通道、{、;等符号得以完整保留后处理清理glmocr/postprocess/result_formatter.py 会清除重复内容、合并碎片文本块让源码完整连贯双格式输出Markdown 供人直接阅读JSON 供二次开发点击定位源码、高亮覆盖人机会场景全覆盖写在最后 借助 GLM-OCR一张代码截图就能变成「可读、可复制、可检索」的源码一条命令即可搞定。无论云端 API 还是自托管 GPU核心流程都是「布局检测 → 并行识别 → 结果格式化」这三步。接下来不妨跑一遍 examples/source/ 里的样本对照 examples/result/ 下的输出亲眼看看代码截图识别的效果。【免费下载链接】GLM-OCRGLM-OCR: Accurate × Fast × Comprehensive项目地址: https://gitcode.com/GitHub_Trending/gl/GLM-OCR创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表