Skip to content
/ anaya Public

Anaya is a Content Engine that specializes in analyzing and comparing multiple PDF documents. It uses Retrieval Augmented Generation (RAG) techniques to effectively retrieve, assess, and generate insights from the documents.

Notifications You must be signed in to change notification settings

swax10/anaya

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Anaya🔥📑: Multimodal Retrieval-Augmented Generation

Anaya is a Content Engine that specializes in analyzing and comparing multiple PDF documents. It uses Retrieval Augmented Generation (RAG) techniques to effectively retrieve, assess, and generate insights from the documents. 📊🔍

[📄Docs.]

Contents

Architecture

Anaya RAG Architecture
Source: https://gradientflow.com/techniques-challenges-and-future-of-augmented-language-models/

TechStack

💻 Anaya utilizes a powerful tech stack to provide its functionalities:

  • Streamlit 🌈: We leverage Streamlit to create an interactive web application that allows you to easily interact with Anaya's features.
  • Logging 📝: We employ logging to record important events and errors during the execution of Anaya, ensuring smooth operation and easy troubleshooting.
  • OS 🖥️: Anaya uses the OS module to interact with the underlying operating system, enabling seamless integration and file operations.
  • Tempfile 📂: We utilize tempfile to create temporary files and directories, ensuring efficient and secure handling of data.
  • Shutil 📁: Shutil provides high-level file operations, enabling Anaya to manipulate and manage files with ease.
  • Pdfplumber 📄: Anaya leverages pdfplumber to extract text, images, and tables from PDF documents, enabling comprehensive analysis of the content.
  • Ollama 🦙: Anaya incorporates Ollama, a powerful component for language and vision processing, to enhance its capabilities and provide accurate results.
  • Langchain Community 🌐: We integrate various modules from Langchain Community, including document loaders, embeddings, text splitters, vector stores, prompts, output parsers, chat models, runnables, retrievers, LLMS, and memory management. This ensures a comprehensive and efficient language processing pipeline.
  • Chromadb 🌈: Anaya utilizes Chromadb, a local disk-based vector store for word embeddings, to enhance its language understanding capabilities.
  • Dotenv 🌐: We employ dotenv to load environment variables from a .env file, making configuration and deployment of Anaya easier.

With this robust tech stack, Anaya empowers you to unlock the full potential of your documents and gain valuable insights effortlessly. 🚀✨

Please note that the implementation and usage of these components are tailored specifically for Anaya, enabling seamless document analysis, language processing, and interactive web application development.

Let's dive into the world of Anaya and discover the possibilities together! 🌟💡🔎📚

Install

To install Anaya🔥📑, follow these steps:

1. Clone the Repository

To clone the Anaya repository from GitHub, use the following command:

git clone https://github.com/swax10/anaya.git

2. Install Requirements

Once the repository is cloned, navigate to the anaya folder:

cd anaya

Then, run the following command to install the requirements:

pip install -e .

3. Run Streamlit App

To run Streamlit demo, use the following command:

streamlit run main.py

Demo

Anaya.mp4

Output

Embedding

Embedding

Query Processing

Query Processing

About

Anaya is a Content Engine that specializes in analyzing and comparing multiple PDF documents. It uses Retrieval Augmented Generation (RAG) techniques to effectively retrieve, assess, and generate insights from the documents.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages