Proposal: Add SoMark as a layout-aware PDF parser #15468
limuting233
started this conversation in
General
Replies: 1 comment 1 reply
-
|
PRs are welcome! Additionally, RAGFlow is currently migrating from Python to Golang for all online retrieval services and select offline jobs. We encourage you to also provide a Golang model provider in accordance with this PR. Thank you! |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Hi maintainers,
I'm a developer at SoMark, an async document-parsing SaaS. I'd like to contribute SoMark as a new layout-aware PDF parser for RAGFlow, following the exact integration pattern of MinerU / Docling / PaddleOCR / OpenDataLoader.
A working branch rebased onto current
mainis ready, feel free to skim before deciding:👉 limuting233/ragflow @
lty/feat/somark-model-serviceWhat SoMark adds
A commercial document-parsing engine specializing in:
Integration approach (PR-ready)
Strictly aligned with the existing OCR parser pattern, no new infrastructure:
SoMarkOcrModelregistered through the existing_FACTORY_NAMEauto-registration — same as MinerUrag/app/naive.py(Built-in chunking, 2-tuple sections)rag/flow/parser/parser.py(Pipeline DAG, 3-tuple sections — mirrors MinerU'sparse_method="pipeline"contract exactly)LayoutRecognizeFormFieldflow) plus a config modal mirroring MinerU's layoutScope and non-goals
tokenize_chunksor other shared chunking logicCost to RAGFlow operators: zero
End-to-end verified on a 69-page academic PDF
naive.py)q_*_vecImage-understanding captions enabled semantic retrieval on figures — e.g. searching "how many chapters does the paper have" correctly hit the figure-only "thesis structure" diagram.
Test coverage
test_somark_integration.py): 8 sections covering imports, factory registration, three configuration shapes, end-to-end parse, both L1/L2 chains, and DB-free image crop — all passingAsk
Would you welcome a PR for this? Happy to:
Thanks for considering!
Beta Was this translation helpful? Give feedback.
All reactions