Intenta is an end-to-end Machine Learning system that classifies user intents and retrieves relevant domain-specific knowledge using a hybrid search architecture.
The project combines traditional NLP, semantic embeddings, vector search, and REST APIs to provide intelligent support-query understanding.
API Base URL: https://intenta-api-3r59.onrender.com/
Swagger Documentation: https://intenta-api-3r59.onrender.com/docs
Health Check: https://intenta-api-3r59.onrender.com/health
User Query
↓
Language Detection
↓
Translation (if required)
↓
Text Preprocessing
↓
Intent Classification
(TF-IDF + Logistic Regression)
↓
Intent Routing
↓
Hybrid Retrieval
(FAISS + BM25)
↓
Relevant Response Documents
- TF-IDF Vectorization
- Logistic Regression Classifier
- Confidence-based Prediction
- Alternative Intent Suggestions
- Semantic Search using FAISS
- Keyword Search using BM25
- Hybrid Ranking Strategy
- Domain-Specific Knowledge Bases
Supported Languages:
- English
- Hindi
- Gujarati
Queries are automatically translated to English before classification.
- User Feedback Collection
- Positive/Negative Feedback Tracking
- Intent Performance Analytics
- Failure Trend Monitoring
- Prediction API
- Semantic Search API
- Feedback API
- Analytics API
- Health Check API
┌─────────────────┐
│ User Query │
└────────┬────────┘
│
▼
┌─────────────────────┐
│ Language Detection │
└────────┬────────────┘
│
▼
┌─────────────────────┐
│ Translation Layer │
└────────┬────────────┘
│
▼
┌─────────────────────┐
│ Text Cleaning │
└────────┬────────────┘
│
▼
┌─────────────────────┐
│ Intent Classifier │
│ TF-IDF + LogReg │
└────────┬────────────┘
│
▼
┌─────────────────────┐
│ Intent Router │
└────────┬────────────┘
│
▼
┌──────────────────────────────────┐
│ Hybrid Retrieval System │
│ │
│ Semantic Search (FAISS) │
│ Keyword Search (BM25) │
└──────────────┬───────────────────┘
│
▼
┌─────────────────────┐
│ Retrieved Documents │
└─────────────────────┘
| Category | Technology |
|---|---|
| Backend | FastAPI |
| ML Framework | Scikit-Learn |
| Embeddings | Sentence Transformers |
| Vector Search | FAISS |
| Keyword Search | BM25 |
| Language Detection | LangDetect |
| Translation | Deep Translator |
| Model Storage | Joblib |
| Data Storage | JSON |
| Evaluation | Scikit-Learn Metrics |
| Visualization | Matplotlib, Seaborn |
TF-IDF Vectorizer
+
Logistic Regression
SentenceTransformer
(all-MiniLM-L6-v2)
+
FAISS
Final Score =
(0.7 × Semantic Score)
+
(0.3 × Keyword Score)
- 11 Intent Classes
- Developer Support Queries
- Training Examples per Intent
Example Intents:
api_error
database_connection
deployment_issue
docker_issue
git_issue
login_issue
model_saving
payment_failed
project_run
project_transfer
training_error
technical
billing
account
| Method | Endpoint | Description |
|---|---|---|
| POST | /predict |
Predict intent and retrieve documents |
| POST | /semantic/search |
Semantic search endpoint |
| POST | /feedback |
Submit user feedback |
| GET | /analytics |
View feedback analytics |
| GET | /health |
Health check |
{
"text": "my model training failed"
}{
"prediction": "training_error",
"confidence": 0.87,
"source": "technical"
}| Metric | Value |
|---|---|
| Accuracy | 72.09% |
| Intent Classes | 11 |
| Languages Supported | 3 |
| Retrieval Method | Hybrid |
| API Framework | FastAPI |
git clone <repository-url>
cd Intentapython -m venv venvvenv\Scripts\activatesource venv/bin/activatepip install -r requirements.txtpython app/training/train.pypython app/training/build_faiss_index.pyuvicorn app.main:app --reloadhttp://127.0.0.1:8000/docs
- End-to-End ML Pipeline
- Intent Classification System
- Hybrid Search Architecture
- Multilingual Query Processing
- FastAPI REST API
- Feedback Analytics
- FAISS Vector Search
- BM25 Retrieval
- Modular Architecture
- Docker Deployment
- CI/CD Pipeline
- MLflow Integration
- PostgreSQL Storage
- Automated Retraining
- Monitoring & Observability
- Model Registry
- Cloud Deployment
Kevin
Machine Learning Engineer | MLOps Enthusiast