Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding a Vision RAG Notebook to Llama Recipes #781

Open
adithya-s-k opened this issue Nov 10, 2024 · 1 comment
Open

Adding a Vision RAG Notebook to Llama Recipes #781

adithya-s-k opened this issue Nov 10, 2024 · 1 comment

Comments

@adithya-s-k
Copy link

🚀 The feature, motivation and pitch

I propose the addition of a comprehensive notebook that demonstrates the construction of a Vision-based Retrieval-Augmented Generation (RAG) system using the following components:

  • Llama 3.2 11B Vision model: The primary Vision Language Model (VLM) for multimodal data understanding.
  • ColPali/Colqwen: For direct vision embedding generation from document images, capturing contextualized image embeddings.
  • LanceDB: As the vector store, to manage and retrieve embeddings with optimal performance.

This feature will address the increasing need for seamless integration of both visual and textual data in RAG systems, enhancing their ability to process and retrieve relevant information from multimodal sources.

The motivation behind this proposal stems from our development work on VARAG and from use cases involving document analysis where visual components such as figures, diagrams, and complex images are as essential as textual data. By leveraging ColPali, which provides direct and contextually rich embeddings from visual inputs, this system bridges the gap between text-based and image-based data retrieval. Such integration not only enhances retrieval accuracy but also empowers systems to interpret and interact with multimodal data in a more sophisticated and nuanced way.

The notebook will serve as a hands-on guide, offering step-by-step setup instructions for configuring the environment, integrating ColPali for image embedding generation, and utilizing LanceDB to store and retrieve embeddings efficiently. Users will gain practical insights into implementing a RAG system tailored for vision-based tasks around the Llama 3.2 11B Vision model.

Alternatives

While developing this proposal, I explored alternatives that focus solely on text-based representations, which often rely on Optical Character Recognition (OCR) or layout analysis. However, such approaches can miss valuable visual information. The integration of ColPali with LanceDB allows for simultaneous handling of text and visual data, bypassing the need for complex preprocessing while maintaining high retrieval fidelity.

Additional context

  • ColPali/Colqwen: This vision embedding model generates embeddings directly from images, allowing for richer representation of visual content in queries.
  • LanceDB: This open-source vector database is optimized for efficient handling of multimodal embeddings and supports rapid retrieval, even in large-scale deployments.
  • Llama 3.2 11B Vision Model: A VLM specifically designed for tasks requiring a deep understanding of both text and images, including image recognition, captioning, and visual reasoning.

This notebook will showcase the combined capabilities of these technologies, enabling users to explore and implement their own vision-based RAG systems with code examples, insights, and practical use cases.

Thanks for considering this proposal!

@adithya-s-k
Copy link
Author

@HamidShojanazeri @wukaixingxp
I wanted to follow up on this proposal regarding the addition of a Vision RAG Notebook to the Llama Recipes repository. This feature could provide significant value by enabling users to build advanced multimodal Retrieval-Augmented Generation systems, integrating both textual and visual data seamlessly.

If there's any additional information or clarification needed to move forward with this, I'd be happy to provide it. Additionally, I would greatly appreciate it if this issue could be assigned for further development.

Looking forward to your thoughts!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant