Skip to content

Subbu2542/Enterprise-Knowledge-Assistant

Repository files navigation

🤖 Enterprise Knowledge Assistant

An AI-powered Retrieval-Augmented Generation (RAG) application that allows users to upload enterprise PDF documents and ask questions using natural language. The system retrieves relevant information from uploaded documents using semantic search and generates accurate responses using Google Gemini 2.5 Flash.


🚀 Features

  • Upload one or more PDF documents

  • Extract text from PDF files

  • Intelligent text chunking

  • Semantic embeddings using Google Gemini

  • FAISS vector database for similarity search

  • Context-aware question answering

  • Source document and page number citations

  • Conversation history

  • Multiple assistant modes:

    • Answer Questions
    • Summarize
    • Generate Interview Questions
    • Explain Like a Beginner
  • Interactive Streamlit web interface


🏗️ System Architecture

User │ ▼ Streamlit UI │ ▼ Upload PDF Documents │ ▼ PDF Loader │ ▼ Text Splitter │ ▼ Gemini Embeddings │ ▼ FAISS Vector Store │ ▼ Retriever │ ▼ Gemini 2.5 Flash │ ▼ Answer + Source Citation


🛠️ Tech Stack

  • Python
  • Streamlit
  • LangChain
  • FAISS
  • Google Gemini API
  • PyPDFLoader

📁 Project Structure

Enterprise-Knowledge-Assistant/ │ ├── app.py ├── requirements.txt ├── README.md ├── .env ├── uploads/ ├── data/ ├── docs/ ├── utils/ │ ├── pdf_loader.py │ ├── text_splitter.py │ ├── embeddings.py │ ├── vector_store.py │ ├── rag_pipeline.py │ └── file_manager.py └── vectorstore/


⚙️ Installation

Clone the repository

git clone <repository-url>
cd Enterprise-Knowledge-Assistant

Create a virtual environment

python -m venv venv

Activate the environment

Windows

venv\Scripts\activate

Linux / macOS

source venv/bin/activate

Install dependencies

pip install -r requirements.txt

Configure environment variables

Create a .env file:

GOOGLE_API_KEY=YOUR_GEMINI_API_KEY

▶️ Run the Application

streamlit run app.py

📋 Usage

  1. Launch the application.
  2. Upload one or more PDF documents.
  3. Click Process Documents.
  4. Select the desired assistant mode.
  5. Ask questions related to the uploaded documents.
  6. Review the generated answer and the cited source pages.

📸 Screenshots

Add screenshots in the docs/Screenshots/ folder and reference them here.

Example:

  • Home Page
  • PDF Upload
  • Chat Interface
  • Answer with Source Citation

🔮 Future Enhancements

  • Support DOCX, TXT, PPTX, and Excel files
  • Persistent vector database
  • User authentication
  • Cloud deployment
  • Hybrid keyword and semantic search
  • Multilingual support

👨‍💻 Author

Subba Rami Reddy Janga

Enterprise Knowledge Assistant – AI RAG Project

About

Enterprise Knowledge Assistant using Streamlit, LangChain, FAISS and Google Gemini.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages