A Retrieval-Augmented Generation (RAG) application built with Python, LangChain, Google Gemini, and vector embeddings. The assistant retrieves relevant information from a document collection and generates accurate, context-aware responses using a Large Language Model (LLM).
- Semantic document search using embeddings
- Retrieval-Augmented Generation (RAG)
- Google Gemini integration
- Modular project architecture
- Document chunking
- Vector-based retrieval
- Command-line interface
- Easily extendable for PDFs, local folders, and web applications
- Python
- LangChain
- Google Gemini API
- Vector Embeddings
- FAISS / Vector Store
- python-dotenv
AI-Knowledge-Assistant/
│
├── app.py
├── requirements.txt
├── README.md
├── .gitignore
│
├── data/
│ └── documents/
│ ├── docker.txt
│ ├── fastapi.txt
│ └── langchain.txt
│
├── utils/
│ ├── chunker.py
│ ├── embeddings.py
│ ├── load_documents.py
│ ├── prompt_builder.py
│ └── retriever.py
│
└── vector_store/
└── vector_store.py
- Load documents
- Split documents into chunks
- Generate embeddings
- Store embeddings in a vector store
- Retrieve the most relevant chunks
- Send retrieved context to Gemini
- Generate an answer grounded in the retrieved documents
Clone the repository
git clone https://github.com/YOUR_USERNAME/AI-Knowledge-Assistant.gitCreate a virtual environment
python -m venv venvActivate it
Windows
venv\Scripts\activateInstall dependencies
pip install -r requirements.txtCreate a .env file
GEMINI_API_KEY=YOUR_API_KEY
python app.py- What is LangChain?
- Explain Docker.
- What is FastAPI?
- Compare Docker and FastAPI.
- Retrieval-Augmented Generation (RAG)
- Prompt Engineering
- LLM Integration
- Vector Embeddings
- Semantic Search
- Modular Python Development
- API Integration
- Git & GitHub
- PDF support
- Local folder indexing
- Chat memory
- FastAPI backend
- Streamlit web interface
- Multi-agent workflow
- MCP integration
- Persistent vector database
Vasudha Pasumarthy