ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

Surya 2 完整实战指南:650M 参数统一 VLM 实现文档 OCR、版面分析、阅读顺序与表格识别

Surya 2 完整实战指南:650M 参数统一 VLM 实现文档 OCR、版面分析、阅读顺序与表格识别 Surya 2 完整实战指南650M 参数统一 VLM 实现文档 OCR、版面分析、阅读顺序与表格识别【免费下载链接】suryaOCR, layout analysis, reading order, table recognition in 90 languages项目地址: https://gitcode.com/GitHub_Trending/su/suryaSurya 2 是一个以单个 650M 参数的视觉语言模型VLM为核心的开源文档智能工具包在 README.md 中定位为同时承担 OCR、版面分析layout analysis、阅读顺序reading order与表格识别table recognition四类任务的一体化方案并附带独立的文本行检测与 OCR 错误检测小模型。本文以该文档为主线结合仓库源码surya/settings.py、surya/inference/init.py、surya/recognition/init.py 等展开读完你将掌握 Surya 2 的安装、推理后端配置、四大任务的 CLI 与 Python API 用法、输出 JSON 结构、性能调优与排障方法。认识 Surya 2一个模型覆盖四类文档任务根据 READMESurya 2 是一个 650M 参数的 OCR 模型核心特性如下准确率在 olmOCR-bench 上得分为 83.3%3B 参数以下模型中领先速度在 RTX 5090 上吞吐约 5 页/秒多语言在包含 91 种语言的内部基准上整体通过率 87.2%完整数据见 static/docs/multilingual.md版面分析支持 table、image、header 等类别的检测并输出阅读顺序表格识别输出行rows 列cols结构。从 surya/settings.py 的模型配置可以看出其架构分工SURYA_MODEL_CHECKPOINT datalab-to/surya-ocr-2指向承载 layout / OCR / table_rec 的单一 VLM 权重另有 GGUF 量化版本SURYA_GGUF_REPO、surya-2.gguf、surya-2-mmproj.gguf供 llama.cpp 使用而文本行检测DETECTOR_MODEL_CHECKPOINT s3://text_detection/2025_05_07与 OCR 错误检测OCR_ERROR_MODEL_CHECKPOINT是独立的小模型。README 明确指出Surya 2 runs layout, OCR, and table recognition through a single VLM且 Text detection and OCR errors are separate models——这是理解整个工具链架构的关键前提。README 的示例表格为同一页文档提供了五种标注视图文本行检测、OCR、版面、阅读顺序以及如存在表格识别覆盖报纸、教科书、税务表单、手写笔记、企业文档等典型场景对应图片均可在 static/images/ 目录下查看例如 newspaper.png 与 newspaper_text.png。安装与推理后端准备安装非常简单pip install surya-ocrSurya 在首次使用时自动拉起推理服务器auto-spawn因此需要准备对应的推理后端NVIDIA GPU需要 Docker 以及 NVIDIA Container Toolkit后端为 vllmCPU / Apple Silicon需要 llama.cpp 的llama-server二进制macOS 上可通过brew install llama.cpp安装或从 llama.cpp 官方 release 获取。后端的选择逻辑在源码中有明确实现。查看 surya/inference/init.py 中的_autodetect_backend()若显式设置了SURYA_INFERENCE_BACKEND则直接采用否则 NVIDIA GPU 走vllm否则回退llamacpp。值得注意的细节是_has_nvidia_gpu()函数它不单纯依赖torch.cuda.is_available()因为 PyPI 默认 torch 轮的 CUDA 构建可能比宿主机驱动新导致明明有 GPU 却检测不到 CUDA而是依次尝试 torch CUDA 探测、/dev/nvidia0设备节点检查、nvidia-smi -L探活从而避免把本该跑 vllm 的机器静默路由到 CPU 后端。从 Surya v1 迁移到 v2如果你已有 v1 代码README 给出了最小迁移示例# v2 from surya.inference import SuryaInferenceManager from surya.recognition import RecognitionPredictor manager SuryaInferenceManager() # auto-spawns vllm or llama-server rec RecognitionPredictor(manager) predictions rec([image])迁移要点SuryaInferenceManager取代了 v1 的FoundationPredictor。同一个 manager 实例在LayoutPredictor、RecognitionPredictor、TableRecPredictor之间共享输出 schema 发生了变化详见下文各任务小节OCR 的text_lines变为blocks并新增html字段layout 移除了top_k、新增counttable_rec 的单元格中移除了is_header/colspan/rowspan字段。从源码看SuryaInferenceManager是典型的组合模式它包装单个后端vllm 或 llamacpp对外提供 OpenAI 兼容的 chat completions 接口generate()并通过显式依赖注入把后端传给各 Predictorsurya/inference/init.py 的模块 docstring 明确写道 Predictors take the manager via explicit injection at construction time。同时它还提供了一个模块级惰性单例get_default_manager()方便 Notebook 或临时脚本直接使用。服务器生命周期--keep_server与常驻后端默认情况下每条命令在启动时会拉起 VLM 服务器、退出时将其关闭——因此连续执行多条命令时每次都要重复付出启动GPU 上还包括模型加载成本。README 建议传--keep_server让服务器常驻surya_ocr DATA_PATH --keep_server # 拉起服务器并保持运行 surya_layout DATA_PATH # 挂接到正在运行的服务器 surya_table DATA_PATH # 后续命令同样复用不再重复拉起--keep_server对每条命令都有效。结束使用后可手动停掉服务器docker stop名为surya-vllm-*的容器或 killllama-server进程也可以设置环境变量SURYA_INFERENCE_KEEP_ALIVE1让 keep-alive 成为默认行为。这一逻辑在 surya/scripts/config.py 的CLILoader中有直接实现--keep_server选项会将settings.SURYA_INFERENCE_KEEP_ALIVE置为 True。所有 CLI 命令surya_ocr、surya_layout、surya_table、surya_detect共用这份common_options因此参数行为完全一致。另外也可以通过SURYA_INFERENCE_URLhttp://host:port/v1让推理管理器直接挂接一个已经存在的 OpenAI 兼容服务器而跳过自动拉起。任务一OCR文本识别CLI 用法surya_ocr DATA_PATH参数说明DATA_PATH可以是单张图片、单个 PDF或包含图片/PDF 的文件夹--images额外保存页面与检测到 block 的可视化图片可选--output_dir指定结果输出目录覆盖默认值--page_range指定 PDF 中要处理的页范围支持单个数字、逗号分隔列表、区间或逗号分隔的多个区间例如0,5-10,20--keep_server命令退出后保持推理服务器运行供后续命令复用每条命令均可用。在 surya/scripts/config.py 中可以看到这些选项的默认值--output_dir默认是results/surya--page_range支持 0,5-10,20 这类区间语法parse_range_str内部将区间展开、去重并排序。results.json 结构命令会写出一个 JSON 文件键为输入文件名不含扩展名值为页面字典列表。每个页面字典包含blocks按阅读顺序排列的逐 block OCR 结果label规范化后的版面标签如Text、SectionHeader、Table、Equation、Picture、Form、PageHeader等完整规范名集合见 surya/layout/label.py 中的LAYOUT_PRED_RELABELraw_label模型原始输出标签规范化之前reading_order版面输出中的 0 起始位置htmlblock 内容的 HTML数学公式包裹在math.../math中表格为table.../table等block 被跳过时为空字符串polygon四角多边形顺序为[[x0,y0],[x1,y0],[x1,y1],[x0,y1]]bbox由 polygon 导出的轴对齐矩形[x0, y0, x1, y1]confidence该 block 解码过程中逐 token 概率的均值0-1skipped若 block 是视觉标签如 Picture而未做 OCR 则为 trueerror若该 block 的 OCR 调用失败则为 true。image_bbox页面图像的[0, 0, width, height]。这一 schema 与 surya/recognition/schema.py 中的BlockOCRResult/PageOCRResult完全对应OCR 命令实现见 surya/scripts/ocr_text.py。性能调优建议吞吐量由推理后端决定使用 vllm 时提高--max-num-seqs/--max-num-batched-tokens或客户端侧SURYA_INFERENCE_PARALLEL可保持更多页面在飞行中使用 llama.cpp 时让SURYA_INFERENCE_PARALLEL与llama-server的--parallel匹配DPI 对吞吐影响显著可从 192 降到 96 换取更高吞吐在吞吐/准确率之间做取舍MTPmulti-token prediction也会影响延迟/吞吐可在 settings 中调整 vllm 的 mtp 配置。Python API全页 OCR 与 block 模式from PIL import Image from surya.inference import SuryaInferenceManager from surya.recognition import RecognitionPredictor manager SuryaInferenceManager() recognition_predictor RecognitionPredictor(manager) # 默认全页 OCR。每页一次 VLM 调用。每张图返回一个 PageOCRResult # .blocks含 label、html、polygon、bbox、confidence 等与 .image_bbox # schema 与 block 模式一致。 predictions recognition_predictor([Image.open(IMAGE_PATH)]) # Block 模式先跑 layout再逐 block OCR。传入 layout_results 时自动选择。 from surya.layout import LayoutPredictor layout LayoutPredictor(manager) layouts layout([Image.open(IMAGE_PATH)]) predictions recognition_predictor([Image.open(IMAGE_PATH)], layouts)从 surya/recognition/init.py 的RecognitionPredictor.__call__源码可以深入理解两种模式的取舍模式解析规则full_pageNone默认时传入layout_results走 block 模式否则走全页模式full_pageTrue强制全页每页一次 HIGH_ACCURACY_BBOX 请求full_pageFalse强制 block 模式此时必须提供layout_results全页模式是更准确的路径block 模式适合需要逐 block 裁剪的调用方例如与文本行检测结果做下游融合全页输出解析失败解析错误、输出为空、或检测到解码器重复循环_detect_repeat_loop时仅对该页自动回退到 layout block 模式 OCR代码还实现了空白文本块过滤_drop_blank_text_blocks基于is_blank_region剔除模型在空白页边/装订线幻觉出的段落仅针对TEXT_LABELS中的文本类标签可选的重生成机制当SURYA_FULLPAGE_REGENTrue时失败页面会按 chandra 风格的递增温度temp min(0.2*(n1), 0.8)top_p 0.95最多 6 轮重新生成之后才进入 block 模式回退默认关闭单次贪心解码后直接 block 回退。任务二文本行检测surya_detect DATA_PATH参数与surya_ocr一致DATA_PATH、--images、--output_dir、--page_range。results.json是一个字典键为不含扩展名的输入文件名值为每页一个字典的列表每个页面字典包含bboxes检测到的文本边界框bbox文本行的轴对齐矩形格式(x1, y1, x2, y2)(x1, y1)为左上角、(x2, y2)为右下角polygon文本行多边形格式(x1, y1), (x2, y2), (x3, y3), (x4, y4)从左上角起顺时针confidence模型对该文本的置信度0-1vertical_lines文档中检测到的竖线含bbox轴对齐坐标page文件中的页码image_bbox图像边界框所有行 bbox 都包含在其内。对应数据结构见 surya/detection/schema.py 中的TextDetectionResult除bboxes/image_bbox外还保留heatmap与affinity_map供排障时查看热力图。性能提示检测是 torch 模型。DETECTOR_BATCH_SIZE默认在运行时自动取值可通过环境变量覆盖GPU 上控制显存占用大显存显卡上可以调高。Python APIfrom PIL import Image from surya.detection import DetectionPredictor det_predictor DetectionPredictor() predictions det_predictor([Image.open(IMAGE_PATH)])注意检测模型不依赖推理后端纯 torch 即可运行README 的 Limitations 一节也强调layout / OCR / table_rec 都需要运行中的 vllm 或 llama.cpp 后端而检测不需要。任务三版面分析与阅读顺序surya_layout DATA_PATH参数同上。results.json键为输入文件名不含扩展名值为页面字典列表。每个页面字典包含bboxes按阅读顺序排列的版面框polygon四角多边形[[x0,y0],[x1,y0],[x1,y1],[x0,y1]]bbox由 polygon 导出的轴对齐[x0, y0, x1, y1]label规范化后的标签候选集合为Caption、Footnote、Equation、ListGroup、PageHeader、PageFooter、Picture、SectionHeader、Table、Text、Figure、Code、Form、TableOfContents、ChemicalBlock、Diagram、Bibliography、BlankPageraw_label模型原始输出标签position0 起始的阅读顺序count模型对 OCR 该 block 的 token 数估计按 50 的倍数取整用于分配逐 block 解码预算confidencelayout 解码过程逐 token 概率均值0-1image_bbox[0, 0, width, height]rawlayout 模型输出的原始 JSON供调试errorlayout 调用失败时为 true。源码印证规范化标签集合定义在 surya/layout/label.py 的LAYOUT_PRED_RELABEL中可以看到模型原始标签到公开标签的映射关系例如Equation-Block → Equation、List-Group → ListGroup、Page-Header → PageHeader、Image → Picture、Complex-Block → Figure、Blank-Page → BlankPage等。README 特别强调marker 等下游消费者依赖这些规范名。数据结构对应 surya/layout/schema.py 的LayoutBox/LayoutResult。性能提示layout 与 OCR 共享推理后端吞吐调优方式与 OCR 相同。Python APIfrom PIL import Image from surya.inference import SuryaInferenceManager from surya.layout import LayoutPredictor layout_predictor LayoutPredictor(SuryaInferenceManager()) layout_predictions layout_predictor([Image.open(IMAGE_PATH)])任务四表格识别surya_table DATA_PATH命令写出包含表格单元格与行列 id、行列边界框的 JSON。如果希望同时拿到单元格位置、文本以及良好排版README 推荐查看 marker 仓库——marker 的TableConverter可在图片和 PDF 中检测并提取表格支持 json含 bbox、markdown、html 三种输出。参数DATA_PATH、--images额外保存行列标注叠加图可选、--output_dir、--page_range同上--skip_table_detection跳过表格检测步骤。当你的输入图像已裁剪为单个表格时使用。results.json键为输入文件名不含扩展名值为每个表格一个字典的列表。每个表格字典包含rows按阅读顺序检测到的表格行含polygon/bbox几何约定与其他任务一致与 0 起始的row_idcols检测到的表格列含polygon/bbox与 0 起始的col_idcells行 × 列几何相交得到的单元格simple 模式含polygon/bbox、row_id、col_id、cell_idhtml完整table.../tableHTML仅在predict_full时填充可处理跨行/跨列与表头行simple 模式下为nullmodesimple或fullimage_bbox表格裁剪框errortable_rec 调用失败时为 trueraw模型原始输出供调试。Python API 与双路径实现from PIL import Image from surya.inference import SuryaInferenceManager from surya.table_rec import TableRecPredictor table_rec_predictor TableRecPredictor(SuryaInferenceManager()) # 默认仅输出行 列单元格由行×列相交导出。 table_predictions table_rec_predictor([Image.open(IMAGE_PATH)]) # 或输出完整 HTML更适合跨行列/表头 # table_predictions table_rec_predictor.predict_full([image])从 surya/table_rec/init.py 的源码可以看清两条路径的差异predict_simple使用PROMPT_TYPE_TABLE_REC提示词让模型输出行/列 JSON单元格由_intersect_bbox做行×列几何相交导出predict_full则复用 block 提示词在表格裁剪图上生成完整tableHTML跨行列与表头信息colspan/rowspan/th只能从该路径获得。__call__的mode参数simple/full会分发到对应方法。对应的数据模型见 surya/table_rec/schema.py 的TableRow/TableCol/TableCell/TableResult。性能提示表格识别同样走共享 VLM吞吐调优与 OCR 相同。数学公式处理Surya 2 将行内数学作为全页 OCR 的一部分处理识别出的公式以math.../math标签出现在与周围正文相同的 HTML 输出中内容为 KaTeX 兼容的 LaTeX无需单独的 LaTeX OCR 流程。推理后端配置详解layout / OCR / table_rec 共享同一个 VLM由 vllmGPU或 llama.cppCPU / Apple Silicon提供服务。SuryaInferenceManager会自动拉起一个也可以挂接到预先运行的服务器# 挂接到已存在的 vllm export SURYA_INFERENCE_BACKENDvllm export SURYA_INFERENCE_URLhttp://localhost:8000/v1README 文档给出的核心环境变量表设置默认值说明SURYA_INFERENCE_BACKENDauto有 NVIDIA GPU 用 vllm否则 llamacppvllm|llamacpp| 不设置自动SURYA_INFERENCE_URL自动拉起挂接到运行中的 OpenAI 兼容服务器SURYA_INFERENCE_PARALLEL8客户端到后端的并发数SURYA_INFERENCE_KEEP_ALIVEfalse进程退出后保持自动拉起的服务器运行对应--keep_serverSURYA_GUIDED_LAYOUTtrue通过 JSON schema 约束 layout 解码README 提示所有设置都可以在 surya/settings.py 中查看任何设置都能通过环境变量覆盖例如SURYA_INFERENCE_BACKENDvllm。从源码看更多可调参数surya/settings.py 是全部配置的真实来源基于 pydantic-settings还支持local.env文件。几个值得补充说明的参数后端与服务器SURYA_INFERENCE_AUTOSTART是否允许自动拉起默认 true、SURYA_INFERENCE_HOST/SURYA_INFERENCE_PORT默认 127.0.0.1端口 None 表示自动挑选空闲端口、SURYA_INFERENCE_TIMEOUT_SECONDS与SURYA_INFERENCE_STARTUP_TIMEOUT默认均 600 秒、SURYA_INFERENCE_LOGPROBS默认 true用于输出置信度llama.cpp 内存预算SURYA_INFERENCE_CTX_PER_SLOT默认 12288——注释解释了该值的推导一次 OCR 请求最坏约 2k 图像 prefill SURYA_MAX_TOKENS_FULL_PAGE8192/12288生成 约 2k 提示词/chat 模板开销低于此值时 llama-server 会在槽位占满后静默截断输出。SURYA_INFERENCE_CTX_SIZE默认为 None此时总 ctx max(16384, PARALLEL * CTX_PER_SLOT)token 预算SURYA_MAX_TOKENS_LAYOUT 3072、SURYA_MAX_TOKENS_TABLE_REC 3072、SURYA_MAX_TOKENS_BLOCK_CEILING 8192、SURYA_MAX_TOKENS_FULL_PAGE 12288对应全页模式与 block 模式的解码上限vllm 专属VLLM_DOCKER_IMAGE vllm/vllm-openai:v0.20.1、VLLM_GPUS、VLLM_GPU_TYPE默认 4090用于选择镜像 tag、VLLM_DTYPE默认bfloat16注释提醒bfloat16 需要 Ampere 及以上的 GPUcompute capability ≥ 8.0T4/Turing 等旧卡上 vllm 拒绝以 bf16 启动应设 float16、VLLM_MAX_MODEL_LEN 18000、VLLM_GPU_MEMORY_UTILIZATION 0.85、VLLM_ENABLE_MTP True/VLLM_MTP_TOKENS 2多 token 预测即 README 性能提示中提到的 MTP、VLLM_EXTRA_ARGSllama.cpp 专属LLAMA_CPP_BINARY llama-server、LLAMA_CPP_NGL 99尽可能多层上 GPU、LLAMA_CPP_EXTRA_ARGS检测器调参DETECTOR_TEXT_THRESHOLD 0.6、DETECTOR_BLANK_THRESHOLD 0.35、DETECTOR_BOX_Y_EXPAND_MARGIN等详见下文排障章节共享服务器架构检测器DETECTOR_SERVER_*、OCR 错误检测OCR_ERROR_SERVER_*以及快速版面模型FAST_LAYOUT_SERVER_*都采用单进程常驻 客户端挂接的共享服务器模式BATCH_WAIT_MS/MAX_BATCH用于控制连续批处理合并窗口。需要说明的是README 表格中SURYA_INFERENCE_PARALLEL记录默认值为 8而 surya/settings.py 中该字段声明为Optional[int] None注释表明 None 时交由后端选择合理默认vllm 按服务器max_num_seqs/ GPU 容量伸缩llama.cpp 采用保守槽位数显式设置整数即可覆盖——实际生效值请以源码与运行环境为准。交互式 Appsurya_gui仓库附带一个 streamlit 应用可在图片或 PDF 上交互式体验 Suryapip install streamlit pdftext surya_gui交互式界面入口实现见 surya/scripts/streamlit_app.py。排障与调参Troubleshooting如果 OCR 效果不佳README 建议按以下顺序排查分辨率先尝试提高图像分辨率让文字更大若分辨率已经很高则降低到不超过2048px宽度预处理对非常老旧/模糊的图像二值化binarizing、去斜deskewing等预处理有帮助阈值调节可通过DETECTOR_BLANK_THRESHOLD和DETECTOR_TEXT_THRESHOLD改善结果DETECTOR_BLANK_THRESHOLD控制行间距——任何低于该值的预测视为空白DETECTOR_TEXT_THRESHOLD控制文本如何连接——任何高于该值的视为文本DETECTOR_TEXT_THRESHOLD必须始终高于DETECTOR_BLANK_THRESHOLD且两者都在 0-1 范围内观察检测器的 debug 热力图可指导调节方向若看到微弱的疑似框降低阈值若看到 bbox 被连在一起提高阈值。检测结果中的heatmap/affinity_map字段见 surya/detection/schema.py正是为此保留的。在 surya/settings.py 中这两个阈值的默认值分别为DETECTOR_TEXT_THRESHOLD 0.6、DETECTOR_BLANK_THRESHOLD 0.35均满足前者大于后者的约束。手动安装与开发如需开发 Surya可基于 uv 手动安装git clone https://github.com/datalab-to/surya.git cd surya uv sync --group dev # 安装运行时 开发依赖 uv run surya_ocr ... # 或 source .venv/bin/activate 进入虚拟环境仓库根目录的 pyproject.toml 与 uv.lock 定义了完整依赖树tests/ 目录下的test_detection.py、test_layout.py、test_recognition.py、test_table_rec.py等测试可作为各 Predictor 用法的直接参考。基准与多语言表现Surya 2 是一个同时处理版面分析、OCR全页或逐 block与表格识别的单一 VLM端到端在 olmOCR-bench 上评测。olmOCR-bench尺寸-得分前沿帕累托最优3B 参数以下最佳模型参数量得分Infinity-Parser2-Pro35.1B87.6Chandra OCR 2 (Datalab)4.0B85.9dots.mocr3.0B83.9Surya OCR 2(Datalab)0.65B83.3LightOnOCR 2-1B *1.0B83.2Chandra OCR 1 (Datalab)9.0B83.1olmOCR (anchored)8.3B77.4GOT OCR0.6B48.3* LightOnOCR 2-1B 的评测方法论与其他条目不同分数仅供参考、不可直接比较。Surya 2 在default预设下按来源划分的通过率共 8,413 项测试ArXivBaseHdr/FtrTinyTxtMultColOldScanOldMathTables88.399.792.593.782.441.881.486.6多语言Surya 2 还在覆盖 91 种语言的内部基准上评测涵盖文本准确率、版面、表格、数学与阅读顺序每种语言约 30750 项测试91 种语言整体通过率 87.2%其中 38 种语言 ≥ 90%76 种 ≥ 80%。常用的 15 种语言得分Code语言得分arArabic72.7%bnBengali82.7%zhChinese82.5%enEnglish92.3%frFrench89.3%deGerman89.7%hiHindi82.2%itItalian93.0%jaJapanese86.2%koKorean86.7%faPersian82.3%ptPortuguese86.1%ruRussian88.8%esSpanish90.7%viVietnamese73.2%完整的 91 语言得分表见 static/docs/multilingual.md按语言名排序含 Af、Amharic、Belarusian 98.5%、Somali 97.9% 等更多语种数据。吞吐量吞吐数据为客户端侧对运行中推理服务器的实测全页 OCR、96 DPI 输入、每页平均约 2,400 输出 tokenRTX 5090vllmvllm/vllm-openai:v0.20.1单卡 32GB并发 128 时 5.35 页/秒、12,884 tokens/sp50 18,915ms、p95 42,538ms平均 2,410 token/页Apple Siliconllama.cpp / Metalllama-serverMetal 后端--parallel 8时 0.108 页/秒、254 tokens/sp50 59,313ms、p95 129,173ms平均 2,360 token/页功耗约 30W。复现方式用 vllm或 llama.cpp服务模型后运行 allenai/olmocr 的 olmOCR-bench 评测框架并根据自身 HTML 输出格式做相应调整。训练架构与许可说明layout、OCR、表格识别共享一个视觉语言模型Qwen3.5 风格架构约 650M 参数训练数据为多样化文档图像根据提示词输出 layout JSON 或全页 HTML文本行检测则是独立的轻量 torch 模型基于 EfficientViT 改进的 segformer从零在文档行标注上训练。代码许可Apache 2.0模型权重许可修改版 AI Pubs OpenRAIL-M研究、个人使用及融资/营收低于 500 万美元的初创企业免费更广泛的商业授权需查看 Datalab 定价页模型权重缓存与下载地址可配置S3_BASE_URL、MODEL_CACHE_DIR、PARALLEL_DOWNLOAD_WORKERS见 surya/settings.py。使用局限README 明确列出的两条限制需要在实际选型时注意Surya 专门面向文档 OCR照片或自然场景下的表现并非其目标layout / OCR / table_rec 都需要运行中的推理后端vllm 或 llama.cpp检测模型纯 torch 即可运行无需后端。概言之Surya 2 的价值在于用一个 650M 的轻量 VLM 统一了文档解析流水线的三个核心环节配合可复用的推理管理器、共享服务器架构和完整的 JSON 输出 schema既适合作为 marker 等下游工具的引擎也适合直接集成进自定义文档处理管线。安装、后端准备、CLI/Python 调用、调参与基准数据在本仓库中均有完整对应实现可作为进一步深入源码的起点。【免费下载链接】suryaOCR, layout analysis, reading order, table recognition in 90 languages项目地址: https://gitcode.com/GitHub_Trending/su/surya创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表