A powerful application that combines document processing, semantic search, and question answering capabilities. This application uses FAISS for efficient similarity search and Hugging Face models for text embeddings and generation.
- PDF document processing and text extraction
- Semantic search using FAISS indexing
- RESTful API endpoints for querying
- Web interface for easy interaction
- Docker support for containerized deployment
- Efficient document chunking and embedding
- Python 3.x
- Flask (Web Framework)
- FAISS (Vector Similarity Search)
- LangChain (Document Processing)
- Hugging Face Transformers
- Sentence Transformers
- Node.js
- Express.js
- Material Design Components
- Axios for API calls
- Python 3.x
- Node.js and npm
- Docker (optional)
- Start the Python backend server:
python api.py- Start the Node.js server:
node server.js- Access the web interface at
http://localhost:3000
- URL:
/query - Method:
POST - Body:
{
"query": "Your question here"
}rag-application/
├── api.py # Flask API server
├── create_database.py # Database creation and indexing
├── query_data.py # Query processing logic
├── pdf_util.py # PDF processing utilities
├── server.js # Node.js server
├── public/ # Frontend static files
├── faiss_index/ # FAISS index storage
├── Data/ # Document storage
└── requirements.txt # Python dependencies
Build and run using Docker:
docker build -t rag-application .
docker run -p 8000:8000 rag-application- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the ISC License.
- Hugging Face for their transformer models
- FAISS for efficient similarity search
- LangChain for document processing capabilities