Mindbreeze InSpire AI-Based Document Parsing and Transcription is an end-to-end ingestion, understanding, and enrichment pipeline that transforms heterogeneous enterprise content – office documents, scanned files, images, audio, videos, etc., - into semantically structured, searchable knowledge. The platform combines Optical Character Recognition (OCR), Vision Language Models (VLMs), Speech-to-Text (STT), layout-aware parsing, Natural Language Processing (NLP), and LLM-driven semantic enrichment to feed a unified AI Search Index and a Retrieval-Augmented Generation (RAG) service.
The result is a single, consistent representation of enterprise knowledge: every source format is normalized into text with formatting annotations, semantically chunked, enriched with entities and typed facts extracted against configurable schemas, and indexed for high-precision, fully auditable retrieval.
Enterprise content is not uniform in how accessible its information is. Some formats are language-friendly: a .txt file, for example, stores its text and structure explicitly, and extraction is straightforward. Other formats are encoded in ways that resist direct transcription: PDFs — by far the most common enterprise format — store drawing instructions rather than logical text, frequently combined with highly complex layouts (multi-column pages, nested tables, embedded figures, scanned pages with no text layer at all). Audio and video contain no text whatsoever; their information exists only as sound waves and pixels.
A single extraction technique cannot serve this spectrum. Mindbreeze InSpire therefore takes a layered approach: lightweight native extraction where formats permit it, and an AI-powered extraction layer wherever content is visually, acoustically, or structurally encoded. Everything converges on one canonical representation, after which a Semantic Pipeline performs the deeper work of converting extracted data into indexed knowledge.
The diagram below represents the dataflow, end to end:
This stage turns arbitrary binary content into a uniform, linked, machine-readable representation. Everything downstream — semantic chunking, fact extraction, indexing, retrieval — consumes its output.
Connectors deliver binary content from the data sources. In practice these spans four broad families:
The result is a sequence of Semantic Intermediate Representation (SIR) items. Each item is a self-contained unit of content carrying:
The Mindbreeze SIR Item (mindbreeze.common.Item) is the format for representing indexable content. An Item has special header metadata for identifying the Item such as the uniform document id.
The Item consists of a sequence of properties (mindbreeze.common.NameValue). A Property consists of a list of values (mindbreeze.common.Value), which can be for instance (but not exclusively):
A very powerful part of the Item format is that every Value can have annotations that are again the same type as properties (NamedValue)
As their name suggest annotations provide a means to annotate values and hence provide additional Information. An annotation always has a name and a type. If only part of the object should be annotated, a marker can be used. For instance, a recognized named entity can be annotated on a text via a textregion entity annotation and the respective marker information. Another example where annotations are used is to preserve the formatting information. That a text has a paragraph or a link can be annotated using html annotations, where the name of the annotation represents the tag (<p>, <a>) and the value of the annotation is an Item that preserves the attributes of the HTML element.
Ingestion is not a single transformation but a composition of Content Processing Services, each with its own responsibilities. Composability is the design goal (e.g., an Office document is rendered to PDF via LibreOffice and then processed by exactly the same path as a PDF that arrived from the data source).
Linking runs throughout. The links a connector supplies for a source object are enhanced with links computed at each step, so the annotated text, the rendered PDF, the page images, and the thumbnails all remain mutually addressable. This is what allows content to be processed by multimodal LLMs while retaining a path back to the original: an answer derived from a VLM's reading of a chart still resolves to the page it was rendered from.
All incoming documents pass through Content Rendering, which normalizes each source into the representations the AI-powered extraction layer consumes. For example, PDFs are converted into high-fidelity visual renderings of individual pages; video into frames. The conversion is fully configurable.
The principle is preserve what exists, render what doesn't. Where digital text is present, it is preserved losslessly. Where content is only visual or acoustic, the page images and media streams become the input to AI-powered extraction. Most real documents are a mixture, and Content Rendering produces both representations so the extraction layer can use each where it is authoritative.
For formats that resist direct transcription — PDFs, scans, images, audio, and video — Mindbreeze InSpire provides a powerful, adaptable, and evolvable AI-powered extraction layer. It can be operated in two modes:
Because the layer binds to the OpenAI API rather than to specific models, a single pipeline could handle text, images, audio, and video alike. Concretely, it performs:
Mindbreeze Inspire supports both OCR and ICR, applying each where it is strongest. Classic OCR recognizes printed characters against a known font set with high speed and accuracy. ICR extends this to handwriting, degraded scans, and irregular or non-standard text – cases where matching against a fixed character set falls short and reading depends more on context and stroke pattern than on fixed shapes.
Text is recognized directly from the rendered page images rather than from any embedded digital layer, with page coordinates preserved throughout. This means previously unsearchable archives – scanned contracts, handwritten forms, faxed correspondence, photographed documents – become indexable content, with every recognized word still addressable back to its exact position on the page.
Relevant Links |
Optical Content Processing is driven by Vision Language Models (VLMs) reading the rendered page image directly – not classic OCR reducing a page to flat text, but a model that understands layout, figures, and visual meaning in context.
This is what distinguishes it from traditional OCR: a VLM returns text and structure – which characters form a table cell versus a caption, which visual region is a chart and what does it mean. Layout detection and image captioning below are both instances of this same VLM-driven reading, applied to structure and to visual content respectively.
The same visual models detect sophisticated document structures — multi-column reading order, headings, paragraphs, footnotes, and complex tables with merged or nested cells — and annotate every element. Charts and graphs are detected and routed to visual understanding rather than being lost as opaque images.
Visual training layout detection can be done using the tool Label Studio which can also be run on the InSpire appliance. The exported data can be used to fine tune the used models such as SmolDocling which is an object and layout detection model used by Docling. One can load documents and tag objects as body text, heading, footer, figure, etc. This results in data that attaches bounding boxes per page (x, y, width, height) with the annotated labels. One can also preload the UI with labels predicted by the model such that one can focus on evaluating and correcting the annotations if needed.
Vision language models analyze photographs, diagrams, charts, and embedded figures in the context of their surrounding document, generating captions, structured descriptions (e.g., the data series and trends of a chart), and semantic tags that are injected at the image's position in reading order.
Content from audio and video recordings are transcribed into time-aligned, speaker-attributed text; timestamps serve as the acoustic equivalent of page numbers for provenance.
Relevant Links |
Additional to audio streams visual information is processed via vision models. Using annotations and referencing (Graph structures) the streams are fused along the shared timeline into semantic chapters and visual summaries, so the video's context — what was shown, not only what was said — is documented and indexed.
Model behavior is governed throughout by an instruction component (prompts, grammars, and schemas), making extraction semantics explicit, reviewable, and reproducible.
The same API binding that unifies these capabilities also keeps the layer open-ended: state-of-the-art models can be adopted the day they are released — as a new deployment inside InSpire LLM or as a remote endpoint — with no pipeline changes. At the same time, all inference can be gated behind the customer's own hardware, so sensitive documents never leave the security perimeter. Open to the model frontier, closed to data egress.
Relevant Links |
Extraction results are fed back into the Content Rendering stage, where the canonical document representation is updated and the new annotations are stored alongside it. This stage also post-processes output that does not match the expected standard — if the AI layer introduced inconsistencies in the Markdown or HTML, they are detected and corrected here rather than propagating downstream.
A document carries multiple annotations. The primary ones are:
Because rendering consumes its own output, the canonical representation is never a one-shot artifact. As models improve or instructions are refined, documents can be re-processed and their annotations enriched in place — no downstream consumer needs to change.
The items are uniquely identified by their category, category instance and the key. The category and category instance are typically used to represent the connector and the connector’s instance. Mindbreeze differentiates between the data source unform item id and the uniform item id of the indexed item. The former is used to keep track of the object in the data source while the latter is used to represent the identity of the object in the index. If a data source object is represented by multiple index items there can be multiple documents having the same data source id.
Before Storing Items in the Index multiple levels of deduplication are performed, such as hashing metadata and contents to identify duplicates. Furthermore, the content hash is used to store same contents only once (content addressed storage).
If one wants to remove near duplicates, one can use a deduplication plugin that uses locality sensitive hashing (e.g. Minhash). With such a plugin all items that are almost the same (with a configurable similarity threshold) are only indexed once.
The Index stores content in a transactional manner, in multiple storage tables and indices. Part of the transactional store is reference symbol to id resolution and cleaning up replaced versions. In the next sections is explained to turn items in the index store into hybrid searchable objects.
Extraction produces data, but not knowledge. A perfectly transcribed contract is still just text; knowledge emerges when that text is segmented into meaningful units, connected to its structure, enriched with linguistic understanding, and distilled into typed facts. This is the role of the Semantic Pipeline.
The pipeline consumes the SIR item sequence produced by ingestion, in reading order. It makes no distinction between an item that originated as a digital paragraph, an OCR'd scan region, a VLM chart description, or a speaker turn in a transcript — all arrive in the canonical representation with their annotations, provenance, and links intact.
This uniformity is what the previous stage exists to guarantee, and it is why the pipeline below can be described once rather than per format.
The pipeline is an endomorphic transformation which at every step enriches the items for instance by transforming metadata and adding annotations and references to other items.
These are then consumed by the next step to incrementally update written to the AI Search Index and served to the RAG Service. Provenance is kept the whole way: every chunk, fact, and vector resolve back through its item to a page and region, or a timestamp – which is what allows an answer to cite the page it came from.
The Semantic Pipeline is not a linear conveyor belt. At any step, data can be fed back to the LLM layer for further passes, and content may take multiple iterations through the steps below before it is indexed.
A first pass might chunk a document; a second summarize or classify each chunk; a third extract schema facts using those classifications and recognized entities as context; a fourth validate extracted facts against the source text. Each iteration adds a layer of understanding the next can build on — this compositional design is what allows the pipeline to climb from data to knowledge.
By the virtue of the generic enrichment and transformation process the Semantic Pipeline can be used for all tasks that can be done without reprocessing the original content data. This also allows reprocessing to being done without reindexing the text.
In the following subsections we will look at use cases in more detail:
There are many built in lexical and linguistic analysis steps that can be configured on the index service configuration settings. The flexibility of the semantic pipeline also allows for custom lexical and linguistic tools can be plugged in easily.
In addition to adding custom tools also the built-in systems such as machine learning model-based language detection, named entity recognition, compound splitting, sentence segmentation, stop words processing, all can be configured and tuned by adding custom models and catalogs.
In addition to performing stemming and stop word processing within the semantic pipeline, it is also applied at query time within the query transformation pipeline. The same applies to text transliteration and normalization such as accent and diacritic removal, etc.
Stop character can be used to guide the character level tokenization process.
There are multiple tokenization processes happening. For full text search a highly efficient out of the box a highly efficient regular expression tokenization engine (with liner time complexity). Additional semantic tokenization is used for languages such as Chinese, Japanese, Korean (CJK) for instance. If needed custom tokenization plugins can be enabled and added (such as HanNLP, …)
Language detection is done using a very fast neural network for language identification. One can easily plugin in custom language detectors using Item
Sentence segmentation is used to semantically detect sentence boundaries. Which is also the default unit for doing recognizing named entities and performing text segmentation (chunking) for word embedding.
If needed custom lexical and linguistic analysis processors can be easily added (such as NLTK, spaCy, Stanza. ..) in the Semantic Pipeline.
In addition to prompt based LLM approaches, Mindbreeze InSpire supports efficient language model AI based approaches to NLP tasks such as text classification, sentiment analysis as well as named entity recognition, we build on the Generalist Model for Named Entity Recognition using Bidirectional Transformer (GLiNER and GLiNER2) model architecture. This also enables key phrase extraction.
There are built-in models available as well as support for training and fine-tuning new models.
For fine-tuning and training, one needs labelled data is used to adapt as well as train new models. There is also widget support in Insight Apps to create labelled data from interactions such as editable property values for classification, tagging, sentiment, as well as editing entities within the document preview.
Users can search for entities directly, see them highlighted in previews, and filter results by them. Entities can also feed the embeddings described in the next section, making them findable by meaning as well as by name.
In addition to machine learned named entity recognition there are also rule based and fuzzy catalog-based solutions. Catalogs can use RDF like formats such as taxonomies, ontologies to fuzzy match and link text to hierarchies and concepts. Pattern based matchers allow syntactical entities to be identified.
With AI document parsing Item annotations represent the semantic units of the documents which can be used in the text segmentation (chunking) step. Furthermore, using token embeddings semantic boundary transition can be detected.
Thus, natural topic boundaries and semantic meaning, not fixed character counts. Because chunking operates on the annotated representation, structural boundaries are hard constraints — a chunk never severs a table from its header or a caption from its figure — while embedding-based topic-shift detection places soft boundaries within long sections.
Every chunk carries its annotations: page, section path, and contained element types. A chunk is therefore addressable in the source document, not merely a span of characters.
Within Mindbreeze Insight Apps and Insight Touchpoints geo information is automatically supported if the geo_latitude and geo_longitude properties are present on items. This data is used to display indexed and retrieved items on the map widget, and query items within geographic areas. Another type of mapping is mapping geo coordinates to locations such as country and location names. This allows for instance images that have EXIF GPS latitude and longitude information with filters for guided navigation.
Geotagging can be implemented by mapping textual address texts via fuzzy catalog enrichment to the representative geo tags. Furthermore, API calls such as Geocoding APIs (Open Source such as https://nominatim.org/, or commercial ones) can be easily integrated using a Script based Semantic Pipeline step.
Relevant Links |
Using LLM call pipeline processors, predefined and custom prompts can used to perform many tasks such as:
Parts or the complete item is sent to the LLM which then responds with structured output that is then used to transform the item accordingly. Scripting allows for easy, flexible and powerful customizations.
Smaller focused language models (LMs) can be used to perform tasks using less computation costs.
Mindbreeze InSpire allows you to easily use script-based processor plugins called item transformers. There are also ready-made transformers for LLM interactions, such as calling external LLMs or MCP tools.
The script can take advantage of pre-made components, including:
These components can be used, for example, to perform multiple enrichments for a single document:
// identify people and roles
const metadata = sendContentToGenPipeline(input, extractExpertsPrompt);
// summarize the essence of the content
Object.assign(metadata, sendContentToGenPipeline(input, summarizePrompt));
// identify and acronyms and their corresponding full forms
Object.assign(metadata, sendContentToGenPipeline(input, extractAcronymsPrompt));
Relevant Links |
Mindbreeze InSpire SIR Items are linked items that can use references to build graphs. During Item transformation these newly processed graph nodes can be compared against the existing graph nodes and check if the facts are still relevant.
Facts are not absolute but also with respect to from the context the facts are linked. A good example is for instance in the health care domain: A patient has risk factors. His clinical documents reference the diagnosis. Yet it is important to match the time of the clinical documents to the risk factors of the patient. E.g. clinical documents of the same patient at a younger age might reference different risk factors than at an older age. In Mindbreeze one can express context filters to facts such that facts also have a temporal dimension.
Furthermore, using the instruction and prompt based LLM steps in the pipeline one can also use AI to help validate and contextualize facts further.
Mindbreeze uses the Protobuf message via HTTP RPC or GRPC for integrating custom plugins and extensions. This allows for highly efficient custom item transformation plugins. Also many out-of-the-box
Relevant Links |
Chunks are encoded into dense vector representations that place semantically related content near each other in vector space, enabling retrieval by meaning rather than by term overlap. Vectors are stored alongside their chunks in the AI Search Index and are what the RAG Service searches at query time.
Relevant Links |
Documents and chunks are classified against customer-defined category schemes, and sentiment is assigned where the content warrants it.
The feedback loop is what distinguishes this from a one-shot labelling step: corrections are captured and folded back in, so classification behavior improves against the customer's own content rather than remaining fixed at the model's general-purpose defaults. Classifications also feed forward — a chunk's category is available as context to fact extraction, which can select the schema appropriate to the document type.
In parallel with chunking and NLP enrichment, the pipeline extracts information against user-defined schemas. Grammars constrain output structure and type — an invoice number must match its pattern; a date must normalize to ISO 8601 — while natural-language prompts define extraction semantics. Grammar-constrained decoding guarantees syntactically valid, machine-consumable values: typed data records rather than best-effort text, stored alongside the chunks.
The previous stages produce knowledge; this one makes it queryable and keeps it current. Indexing is continuous rather than a build step: content enters the index as it is processed, and re-processed content replaces its earlier version in place.
The stage consumes the output of the semantic pipeline: chunks with their annotations, typed fact records, embeddings, and enrichment annotations, each still carrying the provenance and links established during ingestion.
Items arrive continuously as documents are processed, and the same item may arrive again — when a connector reports a change at the source, or when the rendering feedback loop re-processes a document under improved models or refined instructions. The stage treats both cases identically.
The stage maintains three complementary representations of the same content:
Documents are inserted, replaced, and deleted individually. Replacement is detected by comparing modification date and content or metadata checksums, so unchanged content is not re-indexed, and a document that changes is updated in place where the change permits it.
This is what makes the earlier stages' feedback loop practical. A model improvement that enriches annotations across a corpus does not require a rebuild — re-processed documents flow back through the same insertion path and replace their predecessors, and the index remains queryable throughout.
In Mindbreeze InSpire, items are represented as linked data structures. This allows for the creation of complex relationships between indexed objects, enabling powerful graph-based retrieval. There are two primary methods for modeling these links:
1. Reference Value Lookup
Reference value lookups make relationships explicit by using specific reference values to connect items. This method is typically used to represent structural data source references, including:
2. String Value Lookup
String value lookups allow any text string to serve as a reference to another item. This is particularly useful for linking objects, even if there was no explicit reference value set during indexing. Typical use-cases include:
Capabilities of Graph Retrieval
Mindbreeze InSpire has the ability to seamlessly combine graph navigation with standard retrieval methods. Key capabilities include:
For performing full-text search, the tokenized text stream is inverted using terms and N-grams. The inverted index divides documents in zone and is aware of positions. To optimize the construction of vector indices, log structured merge is used.
The retrieval scoring uses the InSpire relevance model and is able to make use of optional terms (a form of weak and) where the missing terms of each individual results are returned in the search response. Additional to BM25 for relevance the position information of the inverted index is used to compute the proximity such that terms that appear close to each other get more weight. Many more parameters are usable.
As part of the semantic pipeline compound words are split by using split probabilities for the text language. For other sub word pattern retrieval, the N-gram inverted index is used. If regex matching is desired it can be activated on a zone level.
The Vector Index use a bucketed cluster architecture so that queries are performed on a cluster of documents to scale and shortcut whole clusters. To optimize the construction of vector indices, log structured merge is used. The Vector Index has an IVF representation. During vector construction additionally to the embeddings vector id, the document ids containing the vectors are natively embedded in the vector index format. The similarity search component is optimizing the vector comparisons also that only vectors that are retrievable have to be compared. This is especially effective when using search constraints or a combination of full text search with vector search, or when only part of the document collection is accessible due to access restrictions.
Vector search can be done in multiple regions. These regions can also be combined. During index construction Mindbreeze InSpire efficiently builds embeddings for multiple regions such as default (text segmentation on sentence level with overlaps), large (combining multiple default ranges), page (if page annotations are available the granularity are whole pages), document (the complete document vector). By default, the larger regions use pooling strategies to combine the individual element vectors.
The answer text will also match the search region. Default returns the region of the chunks with overlaps. Large will return all the regions that were accumulated for the large region (configurable), page will return the complete text of the page, and document the whole documents text. Answers optionally contain structured information such as tables and paragraphs, if available as annotations on the text and other annotations such as entities that have been highlighted.
Larger regions therefore are used in retrieval augmented generation (RAG) pipelines to pass more context to the LLM for generation. The citation feature in RAG will then provide only the effectively cited text as sources to the response.
Unlike traditional hybrid search implementations that rely on Rank Fusion algorithms to merge separate ranked lists, Mindbreeze InSpire utilizes a tightly integrated retrieval engine. In our architecture, Graph, Vector, and Full-text retrieval are unified into a single document hit. This allows a singular, uniform relevance model to compute the final rank score in one pass.
This deep integration eliminates the „black box“ nature of rank fusion and provides significantly more granular control over result precision. The final relevance score is based on the following:
Integrating these factors into a unified scoring algorithm allows Mindbreeze InSpire to optimize for both semantic recall and lexical precision, bypassing the data degradation often associated with the fusion of independent result sets.
Relevant Links |
Mindbreeze Query Expression Transformation – Relevance Factors |
Documentation – Mindbreeze InSpire – Sentence Transformation |
The index has structures to automatically build string-based lookup targets (also reverse) given reference values (links in the intermediate representation directly) as well as string values such as identified entities.
A reference value is a link between items that is known by the uniform id of the indexed item (e.g. the key or data source key).
In the case of string references any property value (also identified in the semantic pipeline e.g. via LLM calls) can be used as a string lookup reference target. In this case this could be e.g. the name of an entity or an email address or an invoice id. These lookup values are very efficient and therefore one can use it via query to find all referenced objects by the power of the search using the effective permissions of the user doing the query.
Hence based on the graph, entities are linked as references via the Semantic pipeline yet the final resolution can be done highly efficient using hybrid graph retrieval dynamically given the current graph information and the context of the user. One use case is that the entity targets might have a dynamic lifecycle – entities are later added, updated or removed, another use case of dynamic resolution is that one is only interested in entities being referred to from content that is of relevance for the user.
Relevant Links |
Mindbreeze Property Expression Language – Inverse String References |
Mindbreeze Property Expression Language – Filter Annotations |
The indices serve retrieval directly, and ground the RAG Service's generative answers in retrieved chunks. Because every chunk carries page numbers, section paths, or timestamps, every generated statement is traceable to its exact location. Knowledge, once built, is consumed with full auditability.
Topic | Link |
Ingestion and Connectors | |
Connector overview (500+ data sources) | |
Filter Services and content processing | https://help.mindbreeze.com/en/index.php?topic=doc/Configuration---Filter-Plugins/index.htm |
Thumbnail and image page rendering | https://help.mindbreeze.com/en/doc/Configuration-of-Thumbnail-Images/index.htm |
Image classification filter | https://help.mindbreeze.com/en/doc/Configuration---InceptionImageFilter/index.htm |
Structured data ingestion | https://help.mindbreeze.com/en/doc/Configuration---Data-Integration-Connector/index.htm |
Custom item transformation (SDK) | |
Index Service Settings | |