Tensorlake

Tensorlake

@tensorlake.ai

43 followers7 following56 posts

Pinned

Document parsing benchmarks have been measuring the wrong thing. We tested every major parser on real enterprise documents. The results will change how you think about OCR accuracy 🧵

Tensorlake reposted

The tensorlake playground was, unlike AWS textract and every other tool I have tried, able to parse my angled, low-quality scan of Norwegian pay statistics from 1926. Not that 1926 Norwegian statistical tables is a generally useful benchmark…

Tensorlake@tensorlake.ai

Document parsing benchmarks have been measuring the wrong thing. We tested every major parser on real enterprise documents. The results will change how you think about OCR accuracy 🧵

Document parsing benchmarks have been measuring the wrong thing. We tested every major parser on real enterprise documents. The results will change how you think about OCR accuracy 🧵

View full thread

The results were clear: Tensorlake: 86.8% TEDS, 91.7% F1 AWS Textract: 80.7% TEDS, 88.4% F1 Azure: 78.1% TEDS, 88.1% F1 Docling: 63.8% TEDS, 68.9% F1 The gap? 670 fewer manual reviews per 10k documents.

Document parsing benchmarks have been measuring the wrong thing. We tested every major parser on real enterprise documents. The results will change how you think about OCR accuracy 🧵

Traditional benchmarks test on clean PDFs and measure text accuracy. But your production failures come from: - Collapsed tables - Jumbled reading order - Missing visual content - Hallucinated extractions None of this shows up in your scores.

We evaluated on OCRBench v2, OmniDocBench, and 100 real enterprise docs using two metrics that predict production success: TEDS (Tree Edit Dist): Measures if tables stay tables JSON F1: Measures if downstream systems can use the output Not "is the text similar?" but "can automation actually work?"

New: Vision Language Models now power key document processing features We're using VLMs for: - Page classification in large documents - Table/figure summarization - Fast structured extraction (skip_ocr mode) Here's what this means for document processing 🧵

View full thread

Where we leverage VLM support: 📄 Page Classification: Large docs, specific sections needed 📊 Table/Figure Summarization: Visual data in reports ⚡ skip_ocr=True: When reading order is complex and for diagrams and scanned docs Text extraction still uses OCR for best quality

New: Vision Language Models now power key document processing features We're using VLMs for: - Page classification in large documents - Table/figure summarization - Fast structured extraction (skip_ocr mode) Here's what this means for document processing 🧵

View full thread

Our solution: VLMs understand document structure visually Example: Extracting crypto holdings from SEC filings 1. VLM classifies which pages contain financial data (~50 out of 200 pages) 2. Extract only from relevant pages 3. Skip 70% of processing Result: 80-90% faster ⚡

Real results from analyzing 8 SEC filings: - 1,500+ total pages - 427 relevant pages identified by VLM - Processing time: 5 minutes → 45 seconds per document All without sacrificing accuracy

New: Vision Language Models now power key document processing features We're using VLMs for: - Page classification in large documents - Table/figure summarization - Fast structured extraction (skip_ocr mode) Here's what this means for document processing 🧵

The problem: Processing 200-page documents when you only need specific information is slow and expensive Traditional approach: OCR everything → Convert to text → Search → Extract This wastes time processing irrelevant pages

Most parsers strip all tracked changes when you extract the text. That means: ❌ Lost audit trails ❌ Manual review of revision history ❌ No programmatic access to reviewer comments ❌ Workflows that can't route based on specific edits

Now you can parse .docx files with tracked changes preserved as clean, structured HTML: - <del> tags for deletions - <ins> tags for insertions - <span class="comment"> for reviewer notes

Build approval workflows that trigger on specific feedback. Extract complete edit history for regulatory compliance. Route documents based on flagged sections, all programmatically. Live now in our API, SDK, and Cloud.

OCR engines constantly mess up document hierarchy. Section 2.2 becomes a top-level header (##) instead of nested (###). We just shipped automatic header correction. 🧵 How it works:

View full thread

Every section header now returns: - level: 0 for #, 1 for ##, 2 for ###, etc - content: clean text - proper nesting for up to 6 levels Enable with: cross_page_header_detection=True That's it.

OCR engines constantly mess up document hierarchy. Section 2.2 becomes a top-level header (##) instead of nested (###). We just shipped automatic header correction. 🧵 How it works:

Tensorlake analyzes numbering patterns (1, 1.1, 1.2) and visual structure across the ENTIRE document. Then corrects misidentified header levels automatically. Works even when headers span page breaks.

Citations. When users ask "where did this come from?" your system should point to the exact page fragment...not just "file_name.pdf". Built citation-aware RAG with spatial metadata has: → Parse docs with bounding boxes → Embed citation anchors in chunks → Return page numbers + coordinates A 🧵

View full thread

Step 3: Generating AI responses with verifiable citations Once your chunks carry anchors, retrieval doesn’t change. You can use the dense, hybrid, or reranker setup you already have. Consider hiding the anchors in prose, while keeping them in output and making IDs clickable.

Citations. When users ask "where did this come from?" your system should point to the exact page fragment...not just "file_name.pdf". Built citation-aware RAG with spatial metadata has: → Parse docs with bounding boxes → Embed citation anchors in chunks → Return page numbers + coordinates A 🧵

Step 1: Parse docs with bounding boxes Using our Document AI API you get a full document layout. For each page fragment you have access to the page number, fragment type, content, and bounding box. Making it easy to add metadata and anchor points to chunks before embedding.

Step 2: Create contextualized chunks Iterate through page fragment objects and create appropriately sized chunks by combining them. As you create the chunks, you can create contextualized metadata to help during retrieval.

In finance, clinical trials, or performance benchmarks, dense tables contain mission-critical data. But flatten that data like most parsers do and trust is lost. Tensorlake restores trust by preserving structure, generating summaries for effective embeddings, and attaching evidence via b-boxes.

You can now login into Tensorlake using Microsoft and Azure SSO credentials. This is the beginning of better integration with Microsoft Azure and Tensorlake. If you are using Azure, and need better Document Ingestion and ETL for unstructured data reach out to us!

“RAG is dead” is lazy. What’s dead is cosine‑N without a retrieval plan. We ship advanced RAG...out of the box: • Classify pages → target sections • Extract structured fields → filter by form_type, fiscal_period • Verify data; cite page/bbox Want to know how? 🧵👇

View full thread

Now it's time to dive in deeper, check out the blog post we wrote about advanced RAG (and try it out yourself with the Colab notebooks we included). Fact‑check Tesla headlines w/ SEC filings using our advanced RAG support. Code + Colabs in the blog: tlake.link/advanced-rag

tlake.linkAccelerate Advanced RAG with Tensorlake | TensorlakeAdvanced RAG that survives production: keep context fresh, preserve structure, and plan retrieval using Tensorlake to turn messy PDFs into traceable answers. We demonstrate it by fact-checking Tesla n...

“RAG is dead” is lazy. What’s dead is cosine‑N without a retrieval plan. We ship advanced RAG...out of the box: • Classify pages → target sections • Extract structured fields → filter by form_type, fiscal_period • Verify data; cite page/bbox Want to know how? 🧵👇

View full thread

TIP: Keep it fresh! Don’t just rebuild indexes monthly or annually, watch for new/changed filings and re-ingest continuously. The only rule: idempotency keyed on the SEC accession number.

Step 3: Contextualize Queries Don't rely on users to make queries that are specific for your data. Instead, make sure you contextualize your query so that during hybrid search you're finding the most relevant and accurate chunks. In our example, we used @langchain.bsky.social to help

“RAG is dead” is lazy. What’s dead is cosine‑N without a retrieval plan. We ship advanced RAG...out of the box: • Classify pages → target sections • Extract structured fields → filter by form_type, fiscal_period • Verify data; cite page/bbox Want to know how? 🧵👇

Step 1: Ingest and pre-process your documents With a single API call, you can turn messy PDFs into page-aware, table-preserving, structured context. Simply: 1. Define page classes for different documents 2. Define schemas to extract relevant data 3. Parse

Build a smart real estate agent (no license required). 🧠 LangGraph (by @langchain.bsky.social) + 📝 Tensorlake Contextual Signature Detection = ✅ Knows who signed ✅ When they signed ✅ If it’s ready to close Full tutorial + code linked below 👇

Most "unstructured" parses fail on when layout gets tricky: multiple columns, fragmented text blocks, mixed reading order Tensorlake doesn't. ✅ Authors parsed as one clean chunk ✅ Abstract follows, exactly as it should Unstructured ≠ unordered Preserve reading order. Parse with Tensorlake.

Want to see the tool in action? Check out this quick demo or try it out in the Colab Notebook (linked in the comments)

youtube.comLangChain + Tensorlake: Unlocking Document Understanding for AgentsYouTube video by Tensorlake
Tensorlake@tensorlake.ai

Just published 🐦‍⬛ langchain-tensorlake 💚 A new @langchain.bsky.social tool to parse real-world documents (PDFs, scans, forms) with Tensorlake & feed structured data right into your agents. Built for devs wrangling docs in legal, finance, healthcare & more. Learn more: tlake.link/langchain-tool

Build a smart real estate agent (no license required). 🧠 LangGraph (by @langchain.bsky.social) + 📝 Tensorlake Contextual Signature Detection = ✅ Knows who signed ✅ When they signed ✅ If it’s ready to close Full tutorial + code linked below 👇

21 hours later and we’re in the top 5 on Product Hunt! 🚀 Huge thanks to everyone who supported, upvoted, and shared 💚 Tensorlake is just getting started. Stay tuned - there’s so much more to come. P.S. There's still time to upvote our launch and let us know your thoughts 👇 #AI #RAG #LLM #devtools

producthunt.comTensorlake - Parse documents like a human & build Python-based workflows | Product HuntTensorlake Cloud is a platform for document ingestion and data orchestration. Parse real-world documents with human-like layout understanding and build Python-based workflows at scale and ready for pr...