Talk to your data / Systems & engineering

Talk to your data.

Recover the source, extract its context, then test what retrieval can actually find.

The engineering behind Talk to your data: format-aware document recovery, contextual extraction and managed vector indexing that prepare scattered files for retrieval-augmented generation (RAG).

Scattered pages and photos are sorted, split into text and images, and organized into an indexed store that feeds three search views.
Scattered files are recovered as text and images, given context and organized into one store that search and assistants can query.
Contents
Stage
Delivered

Responsibility

Carlos Molina

Framed the knowledge objective and directed document recovery, contextual extraction and RAG preparation with the engineering team.

Engineering contributors built the document-processing components. Corpus owners keep the source versions and accept retrieval results.

First built for law firms' case files; later applied to an industrial company's documents.

The foundation separates format-aware extraction from model-assisted context and managed vector indexing. The central engineering question is whether the source meaning survives every transition before an assistant depends on it.

This study explains the document and image components and the separate PDF indexing path, and the responsibility each one carries.

01 / The problem

Completeness precedes relevance

Retrieval can search only the representation it receives. A mixed PDF can lose scanned pages even while direct extraction returns text. Word tables can contain the key obligation; a paragraph-only reader omits them. A model can generate coherent context from an incomplete input.

The controlling design objective is source fidelity before retrieval. The paths recover documents and images.

02 / Inside the system

Two paths, one knowledge objective

The document cleaner lists a raw cloud-storage prefix and routes PDF, DOCX and TXT objects to format-specific readers. PDF uses direct text extraction with OCR fallback; Word reads paragraphs; plain text tries UTF-8 then Latin-1. An enhanced variant adds Word tables, image preprocessing and PyMuPDF ahead of further fallbacks. These are alternative implementations, rather than a single universal reader.

After extraction, two model calls produce a summary and entity JSON. In standardized naming mode the cleaner writes extracted TXT and JSON metadata, including original path, length and processing time. Legacy naming writes metadata JSON alone. Random document identifiers organize the outputs.

A separate PDF processor renders pages at 300 DPI, obtains text from page-image batches, saves a local text artifact, uploads it as a managed file, attaches it to a vector store and polls processing status. The drawings keep this path separate from the cloud cleaner outputs.

Two separate lanes: cloud documents to text and legal metadata, and PDF page images to text and managed vector indexing.
Two separate components: the cloud document cleaner and the PDF index processor. The PDF index processor feeds a managed vector store for retrieval.Open full diagram ↗
Document recovery
Python, pdfminer, python-docx and OCR; enhanced PyMuPDF, image preprocessing and table extraction.
Contextual extraction
OpenAI summary and entity calls; separate GPT-4o page-image text extraction.
Intermediate artifacts
Cloud-storage raw/clean paths, text and JSON metadata; separate local PDF text output.
Index preparation
Managed file and vector-store APIs, asynchronous concurrency limits, retries and status polling.

03 / Inside the system

Give each model step a bounded task

The enrichment step asks for a concise legal summary, then asks for structured entities including document type, dates, parties, jurisdiction, case numbers, topics and confidentiality. JSON parsing checks the form of the response; a comparison with the source checks the facts. The variants use different model defaults.

The PDF vision step has a different responsibility: recover visible text while preserving paragraph structure. File and API semaphores limit concurrency; page batches can run concurrently and are joined in original batch order. A rate limiter and retries bound request pressure. It is a scripted specialist workflow: the script fixes the order of every step.

Failed batches return error markers and are omitted from the combined text; a nonempty remainder proceeds to indexing. Coverage is therefore checked separately from request recovery and index completion.

Cleaner recovery feeds sequential summary and entity calls. In the separate PDF path, bounded concurrent page batches join text before file upload, vector attachment and status polling.
Scripted specialist steps in their actual order. Failed page batches are omitted from the joined text, and the surviving text proceeds to indexing.Open full diagram ↗

A worked example

A mixed PDF with a missing exception clause

Example with invented data.

  1. 01 / SourceA document contains two kinds of page

    An agreement has selectable text on its first pages and a scanned appendix containing an exception clause.

  2. 02 / RecoveryA successful reader can still miss content

    The main cleaner returns when direct extraction finds text. Its OCR fallback may never read the scanned appendix. The enhanced variant is an alternative path, not an automatic second pass.

  3. 03 / ContextA plausible summary follows an incomplete input

    Summary and entity calls operate on the recovered text. Parsed JSON can look valid while the exception is absent. Source comparison is needed to find the omission.

  4. 04 / AlternativePage-image processing creates an indexable artifact

    In the separate PDF path, rendered pages enter vision batches. Failed batches are excluded from the joined text, so page coverage needs a check before the corpus is relied on.

  5. 05 / EvaluationAsk the question the omitted clause changes

    A held-out test question asks when the agreement may be terminated. The retrieved passage and the answer are compared with the complete source. Index completion alone does not show that the right clause was retrieved.

04 / Inside the system

Bound resource use without hiding its cost

Native readers avoid model interpretation where text is already available. OCR and page-image interpretation extend recovery to visual material, with additional compute and possible transcription error. The main PDF fallback runs only when the whole direct-text result is empty, so a mixed PDF that has some selectable text is read without OCR on its scanned pages.

The main enrichment path caps input around 64,000 characters. The enhanced variant samples the beginning, middle and end when a document has more than ten chunks. These choices bound analysis work, but an omitted passage can contain the fact a later question needs. Extracted length and generated context therefore need separate coverage checks.

Filename-based skip checks and process-local caching reduce repeat work in the PDF indexing path. A changed source under the same name needs reconciliation before the corpus is treated as current.

  1. Decision 01

    Read the format before interpreting it

    Use native extraction with OCR or image-processing alternatives.

    Different formats expose different parts of the source.

    Trade-off. Fallback conditions and variant differences can leave tables or mixed scanned pages uncovered.

  2. Decision 02

    Separate recovery from contextual extraction

    Produce text and model-generated summary/entity artifacts.

    Content fidelity and contextual accuracy can be evaluated independently.

    Trade-off. Input caps and sampling can leave relevant content outside semantic analysis.

  3. Decision 03

    Observe index completion explicitly

    Attach extracted PDF text to a selected vector store and poll processing.

    Upload acceptance and indexing completion are separate events.

    Trade-off. A completed index can contain partial text, and filename checks do not track source versions.

05 / Inside the system

Check recovery, meaning and retrieval separately

The implementation provides readers, generated context and indexing mechanics. Evaluating it takes a representative reference corpus, measured entity accuracy and a retrieval test set.

Evaluation first compares extracted content with a reference across native PDFs, mixed scans, Word tables, images and long records. It then compares summaries and entities with annotated facts, marking partial analysis explicitly. Finally, held-out questions test whether relevant passages survive indexing and are retrieved with useful source context.

Provider processing status answers whether the file was indexed. It does not show whether every page was recovered or whether a legal question receives the right evidence. The drawing separates these three questions.

Evaluation compares recovery with the full source, contextual extraction with annotated facts, and retrieval with held-out questions. Provider completion covers indexing status only.
Content-level evaluation: recovery, context and retrieval are checked separately against a reference.Open full diagram ↗
What does the subsystem include?
Document readers, OCR and image variants, legal summary and entity generation, and a separate PDF text-to-vector-store path.
Are the model steps autonomous agents?
No. Each model call has one bounded task inside a scripted workflow: write a summary, extract entities or read a batch of page images. The script sets the order of the steps.
What does completed indexing tell you?
That the provider processed the attached file. Content coverage, factual correctness and retrieval usefulness are evaluated separately.

06 / Inside the system

Connect data engineering with the people who use it

Embedding Labs framed the knowledge objective; engineering contributors built the extraction, enrichment and related legal-platform indexing components. Legal reviewers supply the meaning and source checks a technical success flag cannot provide.

The work covers the extraction, enrichment and indexing components that prepared the law firms' files for retrieval. The same steps were later applied to an industrial company's document collection.

The people around the workflow.

Embedding Labs
Frame contextual knowledge preparation and connect it to the retrieval objective.
Engineering contributors
Build format readers, contextual extraction and related indexing mechanics.
Legal and knowledge reviewers
Assess source meaning, relevant passages and the usefulness of retrieved context.
Application and corpus owners
Own the source versions, the integration and the acceptance of retrieval results.

The design principle

A usable index starts with source meaning that survived the journey.

Read the business story

Systems & engineering

Follow the work
through the system.

Explore the constraints, architecture and operating decisions behind another workflow.

Explore another system