Scikit-Learn، AWS Lambda، اور API گیٹ وے کا استعمال کرتے ہوئے سرور لیس اسپام کلاسیفائر کو کیسے تعینات کیا جائے

آج کی ڈیجیٹل دنیا میں، اسپام اب صرف ایک پریشانی نہیں ہے، بلکہ ایک بڑھتا ہوا سیکورٹی خطرہ ہے۔ اس مسئلے کو حل کرنے کے لیے، ڈویلپرز اکثر ایسے ذہین فلٹرز بنانے کے لیے مشین لرننگ کا فائدہ اٹھاتے ہیں جو جائز اور بدنیتی پر مبنی ای میلز میں فرق کر سکتے ہیں۔

لیپ ٹاپ پر مشین لرننگ ماڈل بنانا نسبتاً آسان ہے، لیکن اصل چیلنج آخری مراحل میں ہے۔ اس کا مطلب ہے کہ اس ماڈل کو ایک قابل توسیع، پیداوار کے لیے تیار نظام میں تعینات کرنا جس کے ساتھ صارف درحقیقت تعامل کر سکتے ہیں۔

اس پروجیکٹ میں، ہم نے تعیناتی کے لیے ماڈل ڈیولپمنٹ کے لیے Scikit-learn کو AWS Lambda، Amazon S3، اور Amazon API گیٹ وے کے ساتھ ملا کر ایک اینڈ ٹو اینڈ سرور لیس سپیم کلاسیفائر بنایا ہے۔ نتیجہ ایک ہلکا پھلکا، قابل توسیع API ہے جو آپ کو حقیقی وقت میں پیغامات کی درجہ بندی کرنے کی اجازت دیتا ہے۔

سسٹم کو ماڈیولر اور لاگت سے موثر بنانے کے لیے ڈیزائن کیا گیا ہے، جس سے ماڈلز کو آزادانہ طور پر دوبارہ تربیت اور لائیو API کو متاثر کیے بغیر اپ ڈیٹ کیا جا سکتا ہے۔ "مفت آئی فون” گھوٹالوں کا پتہ لگانے سے لے کر فشنگ کی کوششوں کی نشاندہی تک، یہ پروجیکٹس یہ ظاہر کرتے ہیں کہ مشین لرننگ کے تجربات اور حقیقی دنیا کی تعیناتیوں کے درمیان خلا کو کیسے پُر کیا جائے۔

انڈیکس

1. شرطیں

  1. بنیادی مہارتیں: Python میں بنیادی مہارت اور مشین لرننگ کے تصورات جیسے درجہ بندی کی سمجھ۔

  2. AWS اکاؤنٹ: Lambda، S3، اور API گیٹ وے کے لیے اجازتوں کے ساتھ AWS اکاؤنٹ تک رسائی حاصل کریں۔

  3. ماحول: Python 3.11 لائبریریوں کے ساتھ نصب کیا گیا ہے جیسے scikit-learn، pandas اور joblib۔

  4. AWS CLI: فائل اپ لوڈ کرنے کے لیے آپ کے مقامی کمپیوٹر پر ترتیب دیا گیا ہے۔

  5. HuggingFace اکاؤنٹ: آپ میرے اکاؤنٹ سے براہ راست ماڈلز ڈاؤن لوڈ کر سکتے ہیں۔

2. دماغ کی تعمیر: ایک ماڈل

تصویر کریڈٹ: اسٹیو اے جانسن کو کھولنا

اس منصوبے کے مرکز میں ایک زیر نگرانی سیکھنے کا طریقہ ہے۔ فضول سمجھے جانے والے الفاظ کی وضاحت کرنے کے بجائے، ہم کمپیوٹرز کو ڈیٹا سیٹس اور الگورتھم فراہم کرتے ہیں تاکہ وہ خود ہی اسپام کے نمونوں کو سیکھ سکیں اور ان کی شناخت کر سکیں۔

1. ویکٹرائزیشن: متن کو ریاضی میں تبدیل کریں۔

مشین لرننگ ماڈل نہیں کر سکتے پڑھیں متن عددی ان پٹ درکار ہے۔ اس کو حل کرنے کے لیے، ہم نے ٹرم فریکوئنسی-انورس دستاویز فریکوئنسی (TF-IDF) ویکٹرائزر استعمال کیا۔

feature_extraction = TfidfVectorizer(min_df=1, stop_words="english", lowercase=True)
X_train_features = feature_extraction.fit_transform(X_train

ریاضی کا فارمولا ہے:

$$w_{i,j} = tf_{i,j} times log left(frac{N}{df_i} right)$$

TF-IDF اصطلاح کی تعریف:

  • wᵢ,ⱼ (وزن): دستاویز میں کسی مخصوص لفظ کے لیے حتمی اہمیت کا سکور۔

  • tfᵢ,ⱼ (ٹرم فریکوئنسی): ایک ای میل میں ایک لفظ کتنی بار ظاہر ہوتا ہے۔

  • N (کل دستاویزات): ڈیٹا سیٹ میں تمام ای میلز کی کل تعداد۔

  • dfᵢ (دستاویز کی فریکوئنسی): اس مخصوص لفظ پر مشتمل مختلف ای میلز کی تعداد۔

  • log(N/dfᵢ)(IDF): سزائیں جو عام الفاظ کے اسکور کو کم کرتی ہیں جیسے کہ یا ہے ہر جگہ نظر آتا ہے۔

عام الفاظ کو ہٹا کر اپنے ڈیٹا کو صاف کریں، تمام متن کو مستقل مزاجی کے لیے چھوٹے حروف میں تبدیل کریں، اور اکثر استعمال ہونے والے الفاظ کو کم اہمیت دیں اور نایاب، بامعنی الفاظ کو زیادہ اہمیت دیں۔

2. تربیت: لاجسٹک ریگریشن انجن

ہم استعمال کریں گے لاجسٹک ریگریشن یہاں، یہ ایک درجہ بندی الگورتھم ہے جو کسی نتیجہ کے امکان کی پیشین گوئی کرتا ہے۔

اس مرحلے میں، ہم لاجسٹک ریگریشن الگورتھم کو ویکٹرائزڈ ٹریننگ ڈیٹا فیڈ کرتے ہیں۔ مقصد یہ ہے کہ الفاظ کے درمیان مخصوص الفاظ کا وزن اور ریاضی کا رشتہ قائم کیا جائے۔ سپیم یا ہیم برانڈ

تربیت کے دوران، ماڈل غلطیوں کو کم کرنے کے لیے اپنے اندرونی پیرامیٹرز کو بار بار ایڈجسٹ کرتا ہے، آخر کار یہ سیکھتا ہے کہ فاتح یا مفت جیسے الفاظ اسپام کے ساتھ بہت زیادہ منسلک ہوتے ہیں، جب کہ بات چیت کی زبان کا تعلق جائز پیغامات سے ہوتا ہے۔

model = LogisticRegression()
model.fit(X_train_features, Y_train)

ہمارے معاملے میں، ہم اس امکان کا حساب لگاتے ہیں کہ ای میل اسپام یا HAM سے تعلق رکھتی ہے۔

یہ الگورتھم 0 اور 1 کے درمیان کی قدروں کو حقیقی اقدار کا نقشہ بنانے کے لیے Sigmoid فنکشن کا استعمال کرتا ہے۔

$$P(y=1|x) = frac{1}{1 + e^{-(z)}}$$

جہاں z = β₀ + β₁x₁ + … + βₙxₙ۔

3. تشخیص: انٹیلی جنس ٹیسٹ

تربیت کے بعد، آپ کو یہ دیکھنے کی ضرورت ہے کہ آیا آپ کا دماغ اس ڈیٹا پر کام کرتا ہے جو اس نے پہلے کبھی نہیں دیکھا۔

prediction_on_test_data = model.predict(X_test_features)
accuracy_on_test_data = accuracy_score(Y_test, prediction_on_test_data)

ماڈل کی پیشین گوئیوں کا ٹیسٹ سیٹ میں اصل لیبلز سے موازنہ کرکے درستگی کے اسکور کا حساب لگایا جاتا ہے۔ اس سے آپ کو اعتماد ملتا ہے کہ آپ کا ماڈل حقیقی دنیا کے لیے تیار ہے (ٹیسٹوں میں 94% تک درستگی حاصل کی گئی ہے)۔

4. منطق برآمد کریں (سیریلائزیشن)

اس دماغ کو ہمارے مقامی Python ماحول سے AWS کلاؤڈ میں منتقل کرنے کے لیے، ہم اپنی ملازمتوں کو بائنری فائلز (.pkl) میں محفوظ کرنے کے لیے Joblib کا استعمال کرتے ہیں۔

joblib.dump(model, 'spam_model.pkl')
joblib.dump(feature_extraction, 'vectorizer.pkl')

ہم Pickle فارمیٹ کا استعمال کرتے ہیں کیونکہ یہ ہمیں پیچیدہ Python اشیاء (ریاضی کے وزن اور الفاظ کی نقشہ سازی) کو ایک پورٹیبل بائنری فارمیٹ میں منجمد کرنے کی اجازت دیتا ہے جسے بادل میں فوری طور پر دوبارہ متحرک کیا جا سکتا ہے۔

نئے صارف کے متن کو درست عددی نقاط میں تبدیل کرنے کے لیے ویکٹرائزیشن کی ضرورت ہے جسے سمجھنے کے لیے ماڈل کو تربیت دی گئی ہے۔ ایک کو دوسرے کے بغیر استعمال کرنا ایسا ہے جیسے ایک چابی ہو لیکن تالا نہ ہو۔

تربیت یافتہ لاجسٹک ریگریشن ماڈل اور TF-IDF ویکٹرائزیشن ٹول عوامی طور پر Hugging Face کمیونٹی میں دستیاب ہیں۔ HuggingFace سے ماڈل درآمد کریں۔

3. ماڈل کو AWS میں تعینات کریں۔

ایک ماڈل کو تربیت دینا ایک سائنس ہے، اور ایک ماڈل کو تعینات کرنا انجینئرنگ ہے۔ اس درجہ بندی کو عالمی سطح پر قابل رسائی بنانے کے لیے، ہم ایک سرور لیس اسٹیک استعمال کریں گے جو خود بخود پیمانہ ہو جاتا ہے اور عملی طور پر دیکھ بھال کے کوئی اخراجات نہیں ہوتے ہیں۔

1. ماڈل اسٹوریج: ایمیزون S3

پہلے، آئیے .pkl فائل کو اپنی S3 بالٹی میں اپ لوڈ کریں۔ کوڈ سے ماڈل کو ڈیکپل کر کے، آپ بیک اینڈ کوڈ کو دوبارہ تعینات کیے بغیر AI کی انٹیلی جنس کو اپ ڈیٹ کر سکتے ہیں (صرف S3 میں فائل کو اوور رائٹ کریں)۔ یہ نظام کو برقرار رکھنے کے لئے آسان بناتا ہے.

2. پیداواری پسدید: AWS Lambda

AI کو قابل رسائی بنانے کے لیے، ہم مقامی اسکرپٹ سے بغیر سرور کے کلاؤڈ فن تعمیر کی طرف جائیں گے۔ یہ یقینی بناتا ہے کہ آپ کے ماڈل 24/7 سرور کے اخراجات کے بغیر ہمیشہ دستیاب ہیں۔

تعیناتی کا ماحول AWS Lambda (Python 3.11) ہے۔ Lambda ایک ہلکا پھلکا ماحول ہے اور اس میں Scikit-Learn یا Joblib شامل نہیں ہے۔ اسے فراہم کرنے کے لیے، ہم اسے S3 بالٹی میں ڈاؤن لوڈ اور اسٹور کرتے ہیں اور اسے ٹائرز سے کھینچتے ہیں۔

AWS CLI میں کمانڈز:


# 1. Create a workspace
mkdir ml_layer && cd ml_layer

# 2. Install scikit-learn and its dependencies into a folder
pip install 
    --platform manylinux2014_x86_64 
    --target=python/lib/python3.11/site-packages 
    --implementation cp 
    --python-version 3.11 
    --only-binary=:all: 
    scikit-learn joblib

# 3. Zip the folder
zip -r sklearn_lib.zip python

# 4. Upload to S3 (Using AWS CLI)
aws s3 cp sklearn_lib.zip s3://YOUR-BUCKET-NAME/

AWS Lambda کی تعیناتی پیکیج کے سائز کی حدود کو نظرانداز کرنے کے لیے Scikit-Learn لائبریری کو S3 کے لیے زپ کے طور پر محفوظ کریں۔ یہ فنکشنز کو بنیادی کوڈ کو پھولے بغیر، ضرورت کے وقت ہی بھاری انحصار کو متحرک طور پر لوڈ کرنے کی اجازت دیتا ہے۔

لیمبڈا فنکشن:


import json
import boto3
import os
import sys
from io import BytesIO

# Ensures the custom Lambda layer(containing sklearn/joblib)
sys.path.append('/opt/python')

try:
    import joblib
except ImportError:
    # Fallback for specific Scikit-Learn distributions
    from sklearn.utils import _joblib as joblib

# Initialize S3 client
s3 = boto3.client('s3')

# Use placeholders for the article so readers can insert their own values
BUCKET_NAME = 'YOUR_S3_BUCKET_NAME' 
MODEL_KEY = 'spam_model.pkl'
VECTORIZER_KEY = 'vectorizer.pkl'

# Global variables for 'Warm Start' caching (improves performance by keeping model in RAM)
model = None
vectorizer = None

def load_model():
    """Downloads model files from S3 only if they aren't already in RAM"""
    global model, vectorizer
    if model is None or vectorizer is None:
        try:
            # 1. Load the Logistic Regression Model from S3
            m_obj = s3.get_object(Bucket=BUCKET_NAME, Key=MODEL_KEY)
            model = joblib.load(BytesIO(m_obj['Body'].read()))
            
            # 2. Load the TF-IDF Vectorizer directly from S3
            v_obj = s3.get_object(Bucket=BUCKET_NAME, Key=VECTORIZER_KEY)
            vectorizer = joblib.load(BytesIO(v_obj['Body'].read()))
        except Exception as e:
            raise Exception(f"Failed to load .pkl files from S3: {str(e)}")

def lambda_handler(event, context):
    try:
        # Ensure model and vectorizer are ready before processing
        load_model()
        
        # Handles both direct Lambda tests and API Gateway POST requests
        body = event.get('body', event)
        if isinstance(body, str):
            body = json.loads(body)
            
        text = body.get('text', '')
            
        if not text:
            return {
                'statusCode': 400,
                'body': json.dumps({'error': 'No text provided.'})
              }

        # 1. Transform input text to numeric features using the trained Vectorizer
        data_vec = vectorizer.transform([text])
        
        # 2. Predict using the Logistic Regression Model 
        prediction = int(model.predict(data_vec)[0])
        
      # 3. Map numeric result to human-readable label
        result_label = "HAM" if prediction == 1 else "SPAM"
        
        # RESPONSE WITH CORS
        return {
            'statusCode': 200,
            'headers': {
                'Content-Type': 'application/json',
                'Access-Control-Allow-Origin': '*' # needed for cross-domain web integration
            },
            'body': json.dumps({
                'status': 'success',
                'classification': result_label,
                'input_text': text
            })
        }
        
    except Exception as e:
        return {
            'statusCode': 500,
            'body': json.dumps({'error_message': f"Inference Error: {str(e)}"})
        }

لیمبڈا افعال کی اہم خصوصیات:

  1. گرم شروع کیشنگ: Lambda_handler کے باہر ماڈل اور ویکٹرائزیشن متغیرات کی وضاحت کریں اور انہیں کنٹینر کی میموری میں محفوظ کریں۔ یہ نمایاں طور پر بعد کی درخواستوں کے لیے کولڈ اسٹارٹ لیٹنسی کو کم کرتا ہے۔

  2. متحرک انحصار لوڈنگ: کہ sys.path.append(‘/opt/python’) لائن آپ کو S3/Layers سے بھاری لائبریریوں کو اپ لوڈ کی حد سے تجاوز کیے بغیر درآمد کرنے کی اجازت دیتی ہے۔

  3. Bimodal ان پٹ ہینڈلنگ: یہ فنکشن AWS کنسول سے براہ راست JSON ٹیسٹنگ اور API گیٹ وے کے ذریعے بھیجے گئے سخت پے لوڈز دونوں کو ہینڈل کرنے کے لیے ڈیزائن کیا گیا ہے۔

3. API گیٹ وے – ویب سے کنکشن

یہ ایک ڈیمو امیج ہے جو API گیٹ وے کو دکھا رہی ہے۔

Unsplash پر Growtika کی تصویر

ایک REST API بنائیں

اگلا، ہم واحد POST طریقہ استعمال کرتے ہوئے ایک REST API بنائیں گے۔ آپ سوچ رہے ہوں گے کہ ہم POST کیوں استعمال کرتے ہیں۔ ٹھیک ہے، ہمیں ماڈل کو صارف کے ٹیکسٹ میسج پر مشتمل JSON پے لوڈ کو محفوظ طریقے سے بھیجنے کی ضرورت ہے۔

  1. سب سے پہلے، Amazon API گیٹ وے کنسول پر جائیں اور Create API -> REST API کو منتخب کریں۔

  2. اپنے API کو EmailSpamPredictor-API جیسا نام دیں اور اختتامی نقطہ کی قسم کو مقامی پر سیٹ کریں۔

  3. پھر بائیں سائڈبار میں وسائل پر کلک کریں اور وسائل کا نام درج کریں، جیسے / پیشن گوئی (جیسا کہ میں نے ٹائپ کیا)

  4. پھر تخلیق کا طریقہ پر کلک کریں، POST کو منتخب کریں، اور انضمام کی قسم کے طور پر لیمبڈا فنکشن کو منتخب کریں۔

  5. یقینی بنائیں کہ لیمبڈا پراکسی انٹیگریشن فعال ہے (اس سے پوری درخواست کو آپ کے کوڈ پر بھیج دیا جائے گا)۔

CORS کنفیگریشن (ٹربل شوٹنگ ہب)
یہ وہ جگہ ہے جہاں بہت سے ڈویلپرز خوفناک پریشانی کا شکار ہیں۔ کنکشن کی خرابی. اگر API کو AWS پر ہوسٹ کیا گیا ہے اور فرنٹ اینڈ ایک علیحدہ ویب سائٹ پر ہے، تو براؤزر کی اسی اصل کی پالیسی کی بنیاد پر درخواست کو بطور ڈیفالٹ بلاک کر دیا جائے گا۔

اسے ٹھیک کرنے کے لیے، آئیے فعال کریں: کور:

  1. رسائی-کنٹرول-اجازت-ذریعہ: براؤزر کو بتانے کے لیے * (یا خاص طور پر آپ کا ڈومین) پر سیٹ کریں کہ آپ کا API فرنٹ اینڈ کے ساتھ بات چیت کرسکتا ہے۔

  2. اختیارات کا طریقہ: API گیٹ وے خود بخود ایک OPTIONS طریقہ بناتا ہے۔ یہ پری فلائٹ کی درخواستوں کو ہینڈل کرتا ہے، جہاں براؤزر پوچھتا ہے "کیا آپ مجھے آپ سے ڈیٹا وصول کرنے کی اجازت دینا چاہتے ہیں؟” اصل متن بھیجنے سے پہلے

  3. رسائی کنٹرول ہیڈر کی اجازت دیں: اسکرین شاٹ میں آپ دیکھ سکتے ہیں کہ مواد کی قسم اور اجازت جیسے ہیڈر کی اجازت ہے۔ یہ API گیٹ وے کو JavaScript fetch() کالز کو مسترد کرنے سے روکتا ہے جب وہ مواد کی قسم کو ایپلیکیشن/json پر سیٹ کرتے ہیں۔

تصویر ہمارے پروجیکٹ کے لیے CORS کنفیگریشن کو ظاہر کرتی ہے۔

تصویر ہمارے پروجیکٹ کے لیے CORS کنفیگریشن کو ظاہر کرتی ہے۔ (تصاویر مصنف کی طرف سے)

تعیناتی کا مرحلہ

جب آپ کے API کو پروڈکشن میں تعینات کیا جاتا ہے، تو AWS ایک مستقل درخواست URL تخلیق کرتا ہے۔ یہ ہمارے ماڈل کے عوامی گیٹ وے کے طور پر کام کرتا ہے اور عام طور پر درج ذیل ڈھانچے کی پیروی کرتا ہے: https://[api-id].execute-api۔[region].amazonaws.com/prod/classify۔

فرنٹ اینڈ کنیکٹیویٹی (جاوا اسکرپٹ پرت)

API Live کے ساتھ، اب آپ سادہ JavaScript فنکشن لکھ سکتے ہیں جو آپ کے ماڈل سے بات کرتے ہیں۔ یہ اسکرپٹ صارف کو اجازت دیتا ہے۔ تجزیہ بٹن پر کلک کریں۔


async function checkSpam() {
    const message = document.getElementById("userInput").value;
    const apiUrl = "YOUR_API_GATEWAY_INVOKE_URL";

    try {
        const response = await fetch(apiUrl, {
            method: "POST",
            headers: {
                "Content-Type": "application/json"
            },
            body: JSON.stringify({ "text": message })
        });

        const data = await response.json();
        
        // Display result on the webpage
        const resultElement = document.getElementById("result");
        resultElement.innerText = `Prediction: ${data.classification}`;
        resultElement.style.color = data.classification === "SPAM" ? "red" : "green";

    } catch (error) {
        console.error("Error:", error);
        alert("Could not connect to the Spam Detector API.");
    }
}

4. مقامی طور پر پروجیکٹ کو کیسے چلایا جائے۔

آپ فرنٹ اینڈ کو HTML فائل کے طور پر محفوظ کر سکتے ہیں۔ ایک بار جب آپ تیار ہو جائیں تو، .html فائل پر ڈبل کلک نہ کریں۔ اسے اس طرح کھولیں: فائل آپ اپنے براؤزر میں حفاظتی پابندیوں کا تجربہ کر سکتے ہیں۔ اس کے بجائے، آپ کو اس کی میزبانی کے لیے ایک سادہ مقامی سرور استعمال کرنا چاہیے۔

مرحلہ 1: ٹرمینل یا کمانڈ پرامپٹ کھولیں۔

مرحلہ 2: پروجیکٹ فولڈر میں جائیں۔

cd [PATH_TO_YOUR_FOLDER]

مرحلہ 3: مقامی ازگر کا ویب سرور شروع کریں۔

python -m http.server 8000

مرحلہ 4: درخواست تک رسائی حاصل کریں۔

اپنا براؤزر کھولیں اور اس پر جائیں:
http://localhost:8000/your-file-name.html

ڈیمو دیکھیں:

5. پروجیکٹ فن تعمیر

ہمارے پروجیکٹ کے آرکیٹیکچر ڈایاگرام کو ظاہر کرنے والی تصویر۔

تصویر ہمارے پروجیکٹ کے فن تعمیر کو ظاہر کرتی ہے (ایک سرور لیس اسپام کلاسیفائر بنانا)۔ یہ کلائنٹ ان پٹ سے حتمی ماڈل آؤٹ پٹ تک کا عمل دکھاتا ہے۔ (تصاویر مصنف کی طرف سے)

  1. کلائنٹ کا فرنٹ اینڈ انٹرایکشن: یہ عمل انتہائی بائیں سے شروع ہوتا ہے۔ صارفین ویب انٹرفیس (جیسے ویب سائٹ یا ڈیسک ٹاپ ایپ) کے ساتھ تعامل کرتے ہیں۔ وہ اس طرح متن درج کرتے ہیں: ابھی اپنا مفت آئی فون حاصل کریں۔ ایک درخواست کو متحرک کریں۔

  2. انٹری پوائنٹ: API گیٹ وے: درخواست Amazon API گیٹ وے تک پہنچ جاتی ہے۔ باؤنسر اور مترجم۔
    (کوئی راستہ نہیں) CORS آپشنز پری فلائٹ ہینڈ شیک کو ہینڈل کرتا ہے تاکہ یہ یقینی بنایا جا سکے کہ براؤزر کو AWS کلاؤڈ کے ساتھ بات چیت کرنے کی اجازت ہے۔
    (بارش) درجہ بندی کی درخواست (POST) پیغام کے اصل ڈیٹا کو بیک اینڈ منطق کی طرف لے جاتی ہے۔

  3. انجن: AWS Lambda (Python 3.11): "مرکزی”بجلی کا بلب” ایک لیمبڈا فنکشن کی نمائندگی کرتا ہے۔ یہ وہ جگہ ہے جہاں آپ کا لکھا ہوا کوڈ رہتا ہے۔ یہ 24/7 نہیں چلتا، لیکن صرف اس وقت اٹھتا ہے جب کوئی درخواست آتی ہے۔

  4. ذخیرہ اور بازیافت: S3 بالٹی: چونکہ Lambda ہلکا پھلکا ہے، یہ بھاری مشین لرننگ فائلوں کو اندرونی طور پر اسٹور نہیں کرتا ہے۔
    انحصار اور ماڈل ڈاؤن لوڈ کریں: یہ فنکشن sklearn_lib.zip (انجن) اور .pkl فائلوں (انٹیلی جنس) کو بازیافت کرنے کے لیے S3 بالٹی تک رسائی حاصل کرتا ہے۔
    مطلوبہ انحصار اور ماڈل: یہ اثاثے پیشین گوئیوں کی تیاری کے لیے لیمبڈا کی عارضی میموری میں لوڈ کیے جاتے ہیں۔

  5. انفرنس پائپ لائن: لیمبڈا کے اندر، ایک تین قدمی ریاضی کا دور ہوتا ہے۔
    (a) ٹیکسٹ ویکٹرائزر: الفاظ کو اعداد میں ترجمہ کریں۔
    (b) لاجسٹک ریگریشن: اس نمبر کی بنیاد پر، ہم سپیم کے امکان کا حساب لگاتے ہیں۔
    (c) لیبل: حتمی نتیجہ (سپیم یا ہیم) تفویض کریں۔

  6. نتائج فراہم کریں: نتائج API گیٹ وے کے ذریعے واپس بھیجے جاتے ہیں، بشمول CORS ہیڈرز کو یقینی بنانے کے لیے کہ براؤزر انہیں قبول کرتا ہے۔ پھر فرنٹ اینڈ کو اپ ڈیٹ کیا جاتا ہے اورنتیجہ: سپیمایک بصری اشارے ہے جو کہتا ہے "

6. نتیجہ: بغیر سرور AI کی طاقت

لاجسٹک ریگریشن کی ریاضیاتی سادگی کو AWS سرور لیس فن تعمیر کی صنعتی طاقت کے ساتھ ملا کر، ہم نے جامد Python اسکرپٹس کو عالمی سطح پر قابل رسائی اور قابل توسیع APIs میں تبدیل کر دیا۔

یہ پروجیکٹ ظاہر کرتا ہے کہ اعلیٰ معیار کی مشین لرننگ کی تعیناتی کے لیے 24/7 بڑے بجٹ یا سرشار سرورز کی ضرورت نہیں ہے۔

S3-Lambda کے کام کا استعمال کرتے ہوئے، ہم ذخیرہ کرنے کی عام رکاوٹوں کو نظرانداز کرنے اور اس بات کو یقینی بنانے میں کامیاب ہو گئے کہ دماغ (ماڈل) اور اس کے پٹھے (Scikit-Learn) بادل میں عارضی ماحول میں بغیر کسی رکاوٹ کے کام کر سکتے ہیں۔ تجربات اور حقیقی دنیا کی ایپلی کیشنز کے درمیان فرق کو ختم کرنا AI سسٹم کو عملی، موثر اور قابل رسائی بناتا ہے۔

7. اعترافات/حوالہ جات

مجھ سے جڑیں

آپ بھی پسند کر سکتے ہیں۔

  1. پولرز نے پانڈوں کو کیسے پیچھے چھوڑ دیا۔

  2. DevOps مر گیا ہے۔ لمبی عمر پلیٹ فارم انجینئرنگ

Scroll to Top