The Enterprise Knowledge Assistant is a Retrieval-Augmented Generation (RAG) based chatbot that enables interns and employees to query internal company documents using natural language.
Instead of manually searching through policy PDFs or FAQ files, users can ask questions in a chat interface and receive accurate, context-aware answers grounded strictly in the organization’s internal documents.
This project was built as part of an AI/ML Internship Assessment to demonstrate practical understanding of LLMs, RAG pipelines, backend APIs, and lightweight UI development.
In most organizations, important information such as internship policies, leave rules, working hours, onboarding requirements, and exit procedures are stored in static documents. This often leads to:
- Time wasted searching through PDFs
- Repetitive queries to HR or managers
- Inconsistent or delayed responses
The goal of this project is to simplify access to internal knowledge by providing a conversational chatbot that answers questions directly from official company documents.
This project uses a Retrieval-Augmented Generation (RAG) architecture:
- Documents are first indexed and converted into embeddings
- When a question is asked, only the most relevant document chunks are retrieved
- The LLM generates answers only using retrieved context
This approach ensures:
- Reduced hallucinations
- High factual accuracy
- Answers remain aligned with company policies
User (Streamlit Chat UI)
↓
FastAPI Backend (app/main.py)
↓
Document Loader (PDF + CSV)
↓
Text Chunking
↓
Embedding Generation (HuggingFace)
↓
Vector Retrieval (Semantic Search)
↓
LLM Answer Generation (Groq)
↓
Answer returned to UI
- Python
- FastAPI – REST API for question answering
- LangChain – RAG pipeline orchestration
- HuggingFace sentence-transformer models (embeddings)
- Groq LLM API (answer generation)
- Retrieval-Augmented Generation (RAG)
- Streamlit – chat-based UI
- Company policy PDF
- FAQ CSV file
- Groq API – LLM inference
- HuggingFace Models – text embeddings
- Local Vector Store – semantic document retrieval
(No managed cloud database was required; focus was on correctness of the RAG implementation.)
- Eliminated the need to manually search policy documents
- Reduced dependency on HR for common queries
- Enabled instant and consistent responses
- Improved accessibility of internal knowledge
enterprise-knowledge-assistant/
├── app/
│ ├── rag/
│ │ ├── loader.py
│ │ ├── embedder.py
│ │ ├── retriever.py
│ │ └── chain.py
│ └── main.py
├── data/
│ ├── company_policy.pdf
│ └── faq.csv
├── chat_ui.py
├── requirements.txt
├── .env.example
├── .gitignore
└── README.md
git clone https://github.com/Akrishna4/enterprise-knowledge-assistant.git
cd enterprise-knowledge-assistantpython -m venv venv
source venv/bin/activatepip install -r requirements.txtCreate a .env file using .env.example:
GROQ_API_KEY=your_api_key_hereuvicorn app.main:app --reloadstreamlit run chat_ui.py- How long is the internship duration?
- How many leaves are interns allowed per month?
- Is work from home allowed?
- What are the working hours?
- What documents are required during onboarding?
- What is the notice period for interns?
- Managing LangChain dependency compatibility
- Designing a clean RAG pipeline without hallucinations
- Handling Git and project structure correctly
- Balancing simplicity and functionality in the UI
- Practical understanding of RAG architecture
- Hands-on experience with LLM APIs
- Importance of document-grounded answers
- Clean repository and secret management practices
📹 Video Explanation Link: https://drive.google.com/file/d/154_4wjEYe5TvlpmWUHENcpZSuFc2KpkK/view?usp=drive_link
The video covers:
- Project idea and motivation
- RAG architecture walkthrough
- AI and cloud services used
- Key challenges and learnings
- Complete source code is included
- No API keys or secrets are exposed
- Repository follows best practices
- Designed for easy review and execution
Ayush Krishna B.Tech (Electronics & Computer Engineering) LinkedIn: https://www.linkedin.com/in/ayush-krishna-b5b149304/