{
“@context”: “https://schema.org”,
“@type”: “TechArticle”,
“headline”: “2026 में पायथन और डॉकर के साथ मशीन लर्निंग मॉडल कैसे बनाएं और तैनात करें”,
“description”: “एंड-टू-एंड एमएल प्रोजेक्ट: एक मॉडल को प्रशिक्षित करें, एक फास्टएपीआई भविष्यवाणी एपीआई बनाएं, डॉकर के साथ कंटेनरीकरण करें, और निगरानी के साथ उत्पादन में तैनात करें।”,
“url”: “https://techpulsesite.com/how-to-build-and-deploy-a-machine-learni-hi/”,
“datePublished”: “2026-06-27T11:05:00+00:00”,
“dateModified”: “2026-06-29T04:14:27+00:00”,
“author”: {
“@type”: “Organization”,
“name”: “TechPulse Editorial Team”,
“url”: “https://techpulsesite.com”
},
“publisher”: {
“@type”: “Organization”,
“name”: “TechPulse”,
“url”: “https://techpulsesite.com”
},
“inLanguage”: “hi”
}
{
“@context”: “https://schema.org”,
“@type”: “TechArticle”,
“headline”: “2026 में पायथन और डॉकर के साथ मशीन लर्निंग मॉडल कैसे बनाएं और तैनात करें”,
“description”: “एंड-टू-एंड एमएल प्रोजेक्ट: एक मॉडल को प्रशिक्षित करें, एक फास्टएपीआई भविष्यवाणी एपीआई बनाएं, डॉकर के साथ कंटेनरीकरण करें, और निगरानी के साथ उत्पादन में तैनात करें।”,
“url”: “https://techpulsesite.com/how-to-build-and-deploy-a-machine-learni-hi/”,
“datePublished”: “2026-06-27T11:05:00+00:00”,
“dateModified”: “2026-06-21T06:04:12+00:00”,
“author”: {
“@type”: “Organization”,
“name”: “TechPulse Editorial Team”,
“url”: “https://techpulsesite.com”
},
“publisher”: {
“@type”: “Organization”,
“name”: “TechPulse”,
“url”: “https://techpulsesite.com”
},
“inLanguage”: “hi”
}
मशीन लर्निंग मॉडल का प्रशिक्षण केवल आधा काम है। इसे उत्पादन में लाना – जहां वास्तविक उपयोगकर्ता इसे कॉल कर सकते हैं – इसे एपीआई में लपेटने, लगातार तैनाती के लिए इसे कंटेनरीकृत करने और निगरानी स्थापित करने की आवश्यकता होती है। यह मार्गदर्शिका संपूर्ण एंड-टू-एंड एमएल पाइपलाइन बनाती है: प्रशिक्षित करना, क्रमबद्ध करना, परोसना, कंटेनरीकृत करना और तैनात करना।
📋 Table of Contents
- हम क्या बना रहे हैं
- चरण 1: मॉडल को प्रशिक्षित और क्रमबद्ध करें
- चरण 2: फास्टएपीआई भविष्यवाणी सेवा का निर्माण करें
- चरण 3: डॉकर के साथ कंटेनरीकरण
- चरण 4: उत्पादन के लिए डॉकर कंपोज़
- चरण 5: उत्पादन में परिनियोजन
- चरण 6: नग्नेक्स रिवर्स प्रॉक्सी + टीएलएस
- मॉडल निगरानी सर्वोत्तम अभ्यास
- अक्सर पूछे जाने वाले प्रश्न
- निष्कर्ष
हम क्या बना रहे हैं
एक भावना विश्लेषण एपीआई जो पाठ इनपुट स्वीकार करता है और आत्मविश्वास स्कोर के साथ एक भावना वर्गीकरण (सकारात्मक/नकारात्मक/तटस्थ) लौटाता है। स्टैक: मॉडल के लिए स्किकिट-लर्न, सर्विंग लेयर के लिए फास्टएपीआई, कंटेनरीकरण के लिए डॉकर, और वीपीएस या क्लाउड वीएम पर तैनाती।
चरण 1: मॉडल को प्रशिक्षित और क्रमबद्ध करें
pip install scikit-learn pandas numpy joblib fastapi uvicorn pydantic
import pandas as pd
from sklearn.pipeline import Pipeline
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
from sklearn.metrics import classification_report
import joblib
# Load training data (replace with your dataset)
data = [
("This product is amazing!", "positive"),
("Terrible experience, would not recommend", "negative"),
("It was okay, nothing special", "neutral"),
# ... more examples
]
df = pd.DataFrame(data, columns=["text", "label"])
X_train, X_test, y_train, y_test = train_test_split(
df["text"], df["label"], test_size=0.2, random_state=42
)
# Build pipeline: TF-IDF + Logistic Regression
pipeline = Pipeline([
("tfidf", TfidfVectorizer(max_features=10000, ngram_range=(1, 2))),
("clf", LogisticRegression(max_iter=1000, C=1.0))
])
pipeline.fit(X_train, y_train)
print(classification_report(y_test, pipeline.predict(X_test)))
# Save the trained model
joblib.dump(pipeline, "model/sentiment_model.pkl")
print("Model saved")
चरण 2: फास्टएपीआई भविष्यवाणी सेवा का निर्माण करें
# app/main.py
from fastapi import FastAPI, HTTPException
from pydantic import BaseModel
import joblib
import numpy as np
from pathlib import Path
app = FastAPI(title="Sentiment API", version="1.0.0")
# Load model once at startup
MODEL_PATH = Path("model/sentiment_model.pkl")
model = None
@app.on_event("startup")
async def load_model():
global model
if not MODEL_PATH.exists():
raise RuntimeError("Model file not found")
model = joblib.load(MODEL_PATH)
print(f"Model loaded from {MODEL_PATH}")
class PredictRequest(BaseModel):
text: str
class PredictResponse(BaseModel):
sentiment: str
confidence: float
text: str
@app.post("/predict", response_model=PredictResponse)
async def predict(request: PredictRequest):
if not request.text.strip():
raise HTTPException(status_code=400, detail="Text cannot be empty")
prediction = model.predict([request.text])[0]
proba = model.predict_proba([request.text])[0]
confidence = float(np.max(proba))
return PredictResponse(
sentiment=prediction,
confidence=round(confidence, 4),
text=request.text
)
@app.get("/health")
async def health():
return {"status": "ok", "model_loaded": model is not None}
स्थानीय स्तर पर परीक्षण करें:uvicorn app.main:app --reload
curl -X POST "http://localhost:8000/predict" -H "Content-Type: application/json" -d '{"text": "This tutorial is excellent!"}'
# {"sentiment":"positive","confidence":0.9234,"text":"This tutorial is excellent!"}
चरण 3: डॉकर के साथ कंटेनरीकरण
# Dockerfile
FROM python:3.11-slim
WORKDIR /app
# Install dependencies first (Docker layer caching)
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
# Copy application code
COPY app/ ./app/
COPY model/ ./model/
# Non-root user for security
RUN adduser --disabled-password --gecos "" appuser && chown -R appuser:appuser /app
USER appuser
EXPOSE 8000
CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"]
docker build -t sentiment-api:1.0 .
docker run -p 8000:8000 sentiment-api:1.0
# Verify
curl http://localhost:8000/health
चरण 4: उत्पादन के लिए डॉकर कंपोज़
# docker-compose.yml
version: "3.8"
services:
api:
image: sentiment-api:1.0
ports:
- "8000:8000"
restart: unless-stopped
environment:
- ENV=production
deploy:
resources:
limits:
memory: 512M
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8000/health"]
interval: 30s
timeout: 10s
retries: 3
चरण 5: उत्पादन में परिनियोजन
# On your VPS (Hetzner, DigitalOcean, etc.)
# Install Docker
curl -fsSL https://get.docker.com | sh
# Copy your Docker image
docker save sentiment-api:1.0 | gzip > sentiment-api.tar.gz
scp sentiment-api.tar.gz user@your-server:/home/user/
# On server
ssh user@your-server
docker load < sentiment-api.tar.gz
docker-compose up -d
# Or use Docker Hub
docker tag sentiment-api:1.0 yourusername/sentiment-api:1.0
docker push yourusername/sentiment-api:1.0
# On server: docker pull yourusername/sentiment-api:1.0
चरण 6: नग्नेक्स रिवर्स प्रॉक्सी + टीएलएस
# /etc/nginx/sites-enabled/sentiment-api
server {
listen 443 ssl;
server_name api.yourdomain.com;
ssl_certificate /etc/letsencrypt/live/api.yourdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/api.yourdomain.com/privkey.pem;
location / {
proxy_pass http://127.0.0.1:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
निःशुल्क टीएलएस प्राप्त करें:certbot --nginx -d api.yourdomain.com
मॉडल निगरानी सर्वोत्तम अभ्यास
- प्रत्येक भविष्यवाणी लॉग करें: डेटाबेस या लॉग फ़ाइल में इनपुट, आउटपुट, आत्मविश्वास और टाइमस्टैम्प संग्रहीत करें। बहाव का पता लगाने में सक्षम बनाता है।
- ट्रैक आत्मविश्वास वितरण: यदि समय के साथ औसत आत्मविश्वास गिरता है, तो आपका मॉडल वह डेटा देख सकता है जिस पर उसे प्रशिक्षित नहीं किया गया था।
- ए/बी परीक्षण: 10% ट्रैफ़िक को नए मॉडल संस्करण पर रूट करें; पूर्ण रोलआउट से पहले प्रदर्शन की तुलना करें।
- ट्रिगर्स को फिर से प्रशिक्षित करें: जब भविष्यवाणी सटीकता (स्पॉट-चेकिंग या मानव प्रतिक्रिया के माध्यम से) एक सीमा से नीचे चली जाती है तो अलर्ट सेट करें।
अक्सर पूछे जाने वाले प्रश्न
प्रश्न: क्या मुझे 2026 में उत्पादन एमएल के लिए स्किकिट-लर्न या पायटोरच का उपयोग करना चाहिए?
ए: पारंपरिक एमएल (वर्गीकरण, प्रतिगमन, क्लस्टरिंग) के लिए स्किकिट-लर्न – तेज़ अनुमान, छोटे कंटेनर। गहन शिक्षण के लिए PyTorch/ट्रांसफार्मर (एनएलपी, कंप्यूटर विज़न)। सबसे सरल मॉडल का उपयोग करें जो आपकी सटीकता आवश्यकताओं को पूरा करता हो।
प्रश्न: मैं एक बड़े ट्रांसफार्मर मॉडल की सेवा कैसे करूँ?
उत्तर: अनुकूलित अनुमान के लिए ONNX रनटाइम या टॉर्चसर्व का उपयोग करें। हगिंगफेस मॉडल के लिए, फास्टएपीआई + ट्रांसफार्मर पाइपलाइन मामूली ट्रैफ़िक के लिए अच्छी तरह से काम करती है। उच्च लोड के लिए, ट्राइटन इन्फेरेंस सर्वर या समर्पित मॉडल सर्विंग इंफ्रास्ट्रक्चर का उपयोग करें।
प्रश्न: एक सामान्य एमएल मॉडल डॉकर छवि कितनी बड़ी होती है?
ए: स्किकिट-लर्न मॉडल: ~200एमबी छवि। PyTorch CPU मॉडल: ~1.5GB। PyTorch + CUDA: ~5-8GB। आकार को कम करने के लिए मल्टी-स्टेज बिल्ड और स्लिम बेस छवियों का उपयोग करें।
प्रश्न: मैं मॉडल वर्जनिंग को कैसे संभालूं?
ए: मॉडल कलाकृतियों, मापदंडों और मेट्रिक्स को ट्रैक करने के लिए एमएलफ्लो या डीवीसी का उपयोग करें। मॉडल संस्करण संख्याओं के साथ डॉकर छवियों को टैग करें। त्वरित रोलबैक के लिए अंतिम 3 मॉडल संस्करण तैनात रखें।
प्रश्न: एमएल अनुमान को मापने का सबसे अच्छा तरीका क्या है?
ए: क्षैतिज रूप से – एक लोड बैलेंसर के पीछे कई कंटेनर प्रतिकृतियां चलाएं। बार-बार समान इनपुट के लिए रेडिस कैश जोड़ें। GPU मॉडल के लिए, कतार की गहराई के आधार पर ऑटोस्केलिंग का उपयोग करें।
निष्कर्ष
2026 में मशीन लर्निंग मॉडल को तैनात करना एक दोहराई जाने वाली इंजीनियरिंग प्रक्रिया है, कोई शोध नवीनता नहीं। इस ट्यूटोरियल में स्टैक –स्किकिट-लर्न/पाइटोरच + फास्टएपीआई + डॉकर + नेग्नेक्स – खिलौना मॉडल से लेकर उत्पादन यातायात तक सब कुछ मामूली पैमाने पर संभालता है। इस फाउंडेशन से शुरुआत करें, जैसे-जैसे उपयोग बढ़ता है मॉनिटरिंग और वर्जनिंग जोड़ें, और कुबेरनेट्स या प्रबंधित अनुमान सेवाओं पर तभी जाएं जब ट्रैफ़िक वास्तव में इसकी मांग करता है।
🔗 Share this article
✍️ Leave a Comment