Skip to content

AI-powered assistant that answers questions from the EASA PPL/SPL/BPL syllabus using Retrieval-Augmented Generation (RAG) and OpenAI.

License

Notifications You must be signed in to change notification settings

jogendra/easa-rag-assistant

Repository files navigation

✈️ EASA Syllabus RAG Assistant

An AI-powered Retrieval-Augmented Generation (RAG) system that answers questions directly from the EASA Syllabus for PPL, SPL, and BPL theory exams. Built with LangChain, FAISS, OpenAI, and Streamlit, this project extracts and embeds content from the official syllabus PDF and uses LLMs to generate accurate, syllabus-aligned answers. This was created just for learning purpose.


📚 Features

  • ✅ Contextual question-answering using the official EASA syllabus
  • ✅ Smart document chunking and text cleaning
  • ✅ FAISS-based vector search for fast retrieval
  • ✅ OpenAI LLM for natural language responses
  • ✅ Streamlit UI with clean and modern design
  • ✅ Fully containerized with Docker Compose

🗂️ Project Structure

rag-easa/
├── app.py # Optional FastAPI backend
├── ingest.py # Extracts and embeds syllabus from PDF
├── query.py # Core RAG logic (retriever + LLM)
├── ui.py # Streamlit UI to ask questions
├── requirements.txt # Python dependencies
├── Dockerfile # Docker image definition
├── docker-compose.yml # For local container orchestration
├── .env # Environment variables
├── data/ # PDF source already provided
└── vectorstore/ # Stores FAISS index after ingestion

⚙️ Run with Docker Compose

1. Set your OpenAI API key

Create a .env file in the root directory:

OPENAI_API_KEY=sk-...

2. Build and run the app

docker-compose up --build

The app will be available at http://localhost:8501

Image

🧠 Tech Stack

Component Tech
Embeddings OpenAIEmbeddings via tiktoken
Vector DB FAISS
LLM ChatGPT via langchain-openai
Frontend Streamlit
Backend LangChain RetrievalQA chain
Containerization Docker + Docker Compose

📄 License

MIT License. PDF Syllabus © Aircademy / EASA. Used for educational purposes only.

About

AI-powered assistant that answers questions from the EASA PPL/SPL/BPL syllabus using Retrieval-Augmented Generation (RAG) and OpenAI.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published