Skip to content

Repository files navigation

UniMate — University Knowledge Assistant

UniMate is a multi-RAG AI assistant built to make university information easier to access and understand.

Instead of manually searching through lengthy university documents, students can upload their documents and ask questions in natural language. UniMate retrieves the most relevant information from the available knowledge sources and uses an LLM to generate an answer based on that context.

Key Features

  • Multi-RAG architecture for working with different knowledge sources
  • PDF document ingestion and text extraction
  • Intelligent text chunking with page-level information preserved
  • Vector-based retrieval using FAISS
  • PostgreSQL database for persistent document and chunk storage
  • LLM-powered answers using Groq/Llama
  • Document management with support for updating and replacing uploaded documents
  • FastAPI backend for handling the application's API layer
  • Simple web interface for uploading documents and interacting with the assistant

How It Works

                University Documents
                        │
                        ▼
               Document Processing
                        │
                        ▼
             Chunking + Page Tracking
                        │
                        ▼
             Embeddings / FAISS Index
                        │
                        ▼
              Relevant Context Retrieval
                        │
                        ▼
                 Groq / Llama LLM
                        │
                        ▼
                    Answer

The application combines persistent document storage with vector retrieval so that the LLM can answer questions using the information contained in the uploaded university material rather than relying only on its general knowledge.

Tech Stack

Area Technologies
Backend Python, FastAPI
Database PostgreSQL, SQLAlchemy
Retrieval FAISS, Embeddings
LLM Groq, Llama
Frontend HTML, CSS, JavaScript
Documents PDF processing

Running Locally

1. Install dependencies

pip install -r requirements.txt

2. Configure environment variables

Create a .env file and add your own API key and database configuration.

GROQ_API_KEY=your_api_key_here
DATABASE_URL=your_database_url_here

Do not commit your .env file or API keys to GitHub.

3. Start the application

uvicorn main:app --reload

Then open:

http://127.0.0.1:8000

What I Learned

UniMate was built as a hands-on project to understand how modern AI applications are put together beyond simply connecting an LLM to a prompt.

Through this project, I worked with:

  • Retrieval-Augmented Generation (RAG)
  • Multi-source knowledge retrieval
  • Document ingestion and processing
  • Embeddings and vector search
  • PostgreSQL database design
  • FastAPI APIs
  • SQLAlchemy
  • LLM integration
  • Frontend-to-backend communication
  • Managing and updating indexed documents

Project Status

**Completed **

UniMate is part of my ongoing AI portfolio, where I am building projects that progressively move from individual concepts toward complete AI systems.

Author

Areesha Arshad

About

Multi-RAG AI university assistant for intelligent document retrieval and question answering.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages