NEWVectors or files. Pick a path.Start →

    Retrievers

    Retrievers combine the features your extractors produce into multi-stage search pipelines. Each stage below is one step you can chain: search, filter, rank, enrich, reduce.

    34 stages

    A retriever is the stable multi-stage contract an application binds to by name, so the embedding model, the index and the query plan underneath can all change without breaking a caller. That job is one layer of the semantic layer for unstructured and multimodal data, the architecture that turns raw objects into named features and serves them through contracts an application can bind to.

    34 stages

    • Filter

      Search and filter documents by vector similarity using feature embeddings

      stage_id
      feature_search
      View stageDocs
    • Filter

      Filter documents by metadata attribute values using boolean logic

      stage_id
      attribute_filter
      View stageDocs
    • Filter

      Filter documents using LLM-based semantic evaluation

      stage_id
      llm_filter
      View stageDocs
    • Filter

      LLM-driven multi-step retrieval with iterative reasoning and tool orchestration

      stage_id
      agent_search
      View stageDocs
    • Filter

      Generate query variations with LLM and fuse search results via RRF

      stage_id
      query_expand
      View stageDocs
    • Filter

      Drop results below an absolute score and return no results when nothing qualifies

      stage_id
      score_threshold
      View stageDocs
    • Sort

      Sort documents by any metadata field value

      stage_id
      sort_attribute
      View stageDocs
    • Sort

      Reorder results using Maximal Marginal Relevance for diversity

      stage_id
      mmr
      View stageDocs
    • Sort

      Rerank documents using cross-encoder models for accurate relevance

      stage_id
      rerank
      View stageDocs
    • Sort

      Rescale document scores to a common range for consistent comparison

      stage_id
      score_normalize
      View stageDocs
    • Reduce

      Compute aggregations (COUNT, SUM, AVG, etc.) on pipeline results

      stage_id
      aggregate
      View stageDocs

    How Retriever Pipelines Work

    Combine stages to build sophisticated search and retrieval pipelines. Each stage type serves a specific purpose in the data flow.

    What is a retriever pipeline: a query (text, image, video, or audio) flows through five chained stage groups (Search (feature_search, query_expand, agent_search), Filter (attribute_filter, llm_filter, deduplicate), Rank (rerank, mmr, sort_relevance, score_normalize), Enrich (llm_enrich, taxonomy_enrich, rag_prepare, document_enrich), and Reduce (aggregate, group_by, cluster, sample, limit, summarize)) producing scored, enriched, shaped results from 34 available stages in under 100ms p95. Each stage is JSON: stage_type plus a config with stage_id and parameters. Retrievers are stored, versioned, callable as one endpoint, and exposed to LLM agents as MCP tools.
    The full anatomy: stages chain sequentially (search, filter, rank, enrich, reduce), each processing the output of the one before it. Define the pipeline once in JSON, then call it from any client, or let an agent call it as an MCP tool.

    1. Search

    Retrieve documents from collections using semantic search, keyword search, or hybrid approaches.

    2. Filter

    Remove documents that don't match criteria using attribute filters, score thresholds, or LLM evaluation.

    3. Rank

    Reorder documents by relevance using sorting, cross-encoders, or LLM-based reranking.

    4. Generate

    Create responses from retrieved documents using RAG, summarization, or custom LLM generation.