Skip to content

Create DocEmbedder class along with RAGRetriever #5426

Open

Description

@jyejare

Currently, the Document Embedder comes separately and outside of Feast for RAG use cases. We are in the process of reviewing and merging the RAGRetriever PR https://github.com/feast-dev/feast/pull/5405 which currently does not explicitly add the Document Embedder as part of the RAGRetriever. Having this functionality within feast will help users using feast for RAG use case as a one stop solution.

As part of this implementation, we should:

Add the document embeddings capacity to feast using HuggingFace doc embedders OR any other embedders.
The RAGRetriever uses the DocEmbedder object for adding it to offline / online store.
The DocEmbedder provides the choice to choose HuggingFace doc embedders or any other.

Activity

  1. patelchaitany commented on Feb 3, 2026

    @patelchaitany
    Contributor

    Hey I like to work On this issue.

  2. patelchaitany commented on Feb 5, 2026

    @patelchaitany
    Contributor

    Hey I thought of Implementing this plan and i am looking for any feedback Like is there something which i missed or Which i can do the better.

    Implementation Plan:

    1. Document Embedder Class - A high-level orchestrator that coordinates the entire ingestion pipeline.

    2. Chunker - Handles chunking for different types of data. Users can extend or override methods to handle data in their own way.

    3. Logical Layer - Defines how to represent the data in the FeatureView schema. This is written by the Data Scientist or Data Engineer.

    4. Embedding Class - Handles embedding generation. This is designed as a separate class so it can support different modalities (text, images, etc.) by simply extending the base class.

    5. Storage - Write the processed data to both the offline and online store.

    Here is the Diagram

    Image

    I have some concern Regarding this - "The RAGRetriever uses the DocEmbedder object for adding it to offline / online store."

    DocEmbedder and FeastRAGRetriever are independent classes. The FeastRAGRetriever provides retrieval functionality at query time. The DocEmbedder is only needed during data ingestion. Keeping them separate maintains clean code and clear responsibilities.

  3. jyejare commented on Feb 6, 2026

    @jyejare
    CollaboratorAuthor

    Hey @patelchaitany , Thanks for putting this all together. Initially, when I put this together (and I am open to have any modifications in the architecture), I saw DocEmbedder as a mediator between the raw documents and embeddings. So the mindmap I had in mind for RAGRetriever was like:

    Raw Documents -> Chunking -> embeddings -> Offload to Store -> read embeddings based on the query -> Top-K retrievals.

    Its like one shot architecture from raw docs to embeddings. But even then, I wanted to keep the Embedder class separate, which would take care of pulling the docs and saving them in the offline store.

    So, I think we are on the same page, just only extra thing I had in mind was to plug DocEmbedder with RAGRetreiver as described in mind map.

    Let me know your thoughts.

  4. added 4 commits that reference this issue on Feb 11, 2026
  5. added 2 commits that reference this issue on Mar 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions