🎓 අවසන් ව්‍යාපෘතිය: ඔබේම AI Web App එකක් තනමු

ඔබ ඉගෙනගත් සියල්ල භාවිතා කර, ඔබගේ AI ආකෘතිය අන්තර්ජාලය හරහා ක්‍රියාත්මක වන වෙබ් යෙදුමක් බවට පත් කරමු.

ඔබේ නිර්මාණය ලෝකයට ගෙන යමු 🌐

සුභ පැතුම්! ඔබ පාඨමාලාවේ අවසාන අදියරට පැමිණ ඇත. 10 වන ඒකකයේදී අපි command-line වැඩසටහනක් සෑදුවා. දැන්, අපි එය තවත් පියවරක් ඉදිරියට ගෙන ගොස්, ඕනෑම කෙනෙකුට වෙබ් බ්‍රව්සරයක් හරහා භාවිතා කළ හැකි සරල වෙබ් යෙදුමක් (Web Application) බවට පත් කරමු.

මේ සඳහා අපි **Django** නම් ඉතා ජනප්‍රිය සහ බලවත් Python web framework එක භාවිතා කරමු. Django මගින් සංකීර්ණ වෙබ් යෙදුම් නිර්මාණය ඉතා පහසු කරයි. මෙම ව්‍යාපෘතියේදී, අපි Django හි මූලිකම කරුණු පමණක් භාවිතා කර, අපේ AI ආකෘතිය ක්‍රියාත්මක වන එක පිටුවක වෙබ් අඩවියක් නිර්මාණය කරමු.

ව්‍යාපෘති අවශ්‍යතා:

  • පරිශීලකයාට වෙබ් පිටුවක් පෙන්විය යුතුය.
  • එම පිටුවේ "අනාවැකිය ලබා ගන්න" ලෙස බොත්තමක් තිබිය යුතුය.
  • බොත්තම click කළ විට, අපේ AI ආකෘතිය ක්‍රියාත්මක වී, අනාවැකි පළ කළ අංක ටික එම පිටුවේම පෙන්විය යුතුය.

පියවරෙන් පියවර Django வழிகாட்டி

පියවර 1: Django ස්ථාපනය කිරීම

ඔබේ Terminal (or Command Prompt) එකේ පහත විධානය ක්‍රියාත්මක කරන්න.

pip install django

පියවර 2: Django ව්‍යාපෘතිය ආරම්භ කිරීම

ඔබේ ව්‍යාපෘතිය තැනීමට අවශ්‍ය folder එකට ගොස්, පහත විධාන එකින් එක ක්‍රියාත්මක කරන්න.

# 'lottery_project' නමින් Django project එකක් සාදයි django-admin startproject lottery_project # එම project folder එකට යයි cd lottery_project # 'predictor' නමින් අපේ අනාවැකි app එක සාදයි python manage.py startapp predictor

පියවර 3: අපේ App එක Django වලට හඳුන්වා දීම

`lottery_project/settings.py` ගොනුව විවෘත කර, `INSTALLED_APPS` ලැයිස්තුවට `'predictor'` යන්න ඇතුළත් කරන්න.

INSTALLED_APPS = [
...,
'django.contrib.staticfiles',
'predictor', # <--- මේ පේළිය එකතු කරන්න
]

පියවර 4: AI Logic එක ලිවීම (`views.py`)

පරිශීලකයෙක් වෙබ් පිටුවට එන විට හෝ බොත්තමක් click කරන විට ක්‍රියාත්මක විය යුතු Python කේතය අපි ලියන්නේ `predictor/views.py` ගොනුවේය. ඔබගේ `lottery_predictor_model.keras`, `scaler.gz`, සහ `lottery_data.csv` යන ගොනු තුන `predictor` folder එකට copy කරන්න. ඉන්පසු `predictor/views.py` ගොනුව විවෘත කර පහත කේතය ඇතුළත් කරන්න.

# predictor/views.py from django.shortcuts import render import pandas as pd import numpy as np import tensorflow as tf import joblib import os # Build paths inside the project like this: os.path.join(BASE_DIR, ...) BASE_DIR = os.path.dirname(os.path.abspath(__file__)) def predict_view(request): prediction = None if request.method == 'POST': try: model_path = os.path.join(BASE_DIR, 'lottery_predictor_model.keras') scaler_path = os.path.join(BASE_DIR, 'scaler.gz') data_path = os.path.join(BASE_DIR, 'lottery_data.csv') model = tf.keras.models.load_model(model_path) scaler = joblib.load(scaler_path) df = pd.read_csv(data_path) SEQUENCE_LENGTH = 10 number_cols = ['number_1', 'number_2', 'number_3', 'number_4', 'bonus'] NUM_FEATURES = len(number_cols) last_sequence_df = df.tail(SEQUENCE_LENGTH) scaled_input = scaler.transform(last_sequence_df[number_cols]) input_for_prediction = np.reshape(scaled_input, (1, SEQUENCE_LENGTH, NUM_FEATURES)) predicted_scaled = model.predict(input_for_prediction) predicted_numbers = scaler.inverse_transform(predicted_scaled) final_prediction = np.round(predicted_numbers).astype(int) prediction = sorted(final_prediction[0]) except Exception as e: prediction = [f"Error: {e}"] return render(request, 'predictor/index.html', {'prediction': prediction})

පියවර 5: වෙබ් පිටුව නිර්මාණය (`template`)

`predictor` folder එක තුළ `templates` නමින් අලුත් folder එකක්ද, ඒ තුළ `predictor` නමින් තවත් folder එකක්ද සාදන්න. අවසාන වශයෙන්, එම folder එක තුළ `index.html` නමින් ගොනුවක් සාදා පහත කේතය ඇතුළත් කරන්න.

<!DOCTYPE html> <html lang="si"> <head> <meta charset="UTF-8"> <title>AI ලොතරැයි අනාවැකි</title> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet"> </head> <body> <div class="container text-center mt-5"> <h1>🧠 AI ලොතරැයි අනාවැකිය</h1> <p class="lead">ඊළඟ දිනුම් ඇදීම සඳහා අනාවැකියක් ලබා ගැනීමට පහත බොත්තම ඔබන්න.</p> <form method="post"> {% csrf_token %} <button type="submit" class="btn btn-primary btn-lg">අනාවැකිය ලබා ගන්න</button> </form> {% if prediction %} <div class="card mt-4"> <div class="card-body"> <h3 class="card-title">🔮 ඔබගේ අනාවැකිය:</h3> <h2 class="display-4">{{ prediction|join:', ' }}</h2> <p class="text-muted">මෙය අධ්‍යාපනික අරමුණු සඳහා පමණි. ජයග්‍රහණය සහතික නොවේ.</p> </div> </div> {% endif %} </div> </body> </html>

පියවර 6: URL එක සකස් කිරීම

මුලින්ම, `predictor` folder එක තුළ `urls.py` නමින් අලුත් ගොනුවක් සාදා පහත කේතය යොදන්න.

# predictor/urls.py
from django.urls import path
from . import views

urlpatterns = [
path('', views.predict_view, name='predict'),
]

දැන්, ප්‍රධාන project එකේ `lottery_project/urls.py` ගොනුව විවෘත කර, අපේ app එකේ URL ටික එයට සම්බන්ධ කරන්න.

# lottery_project/urls.py
from django.contrib import admin
from django.urls import path, include # <--- include එකතු කරන්න

urlpatterns = [
path('admin/', admin.site.urls),
path('', include('predictor.urls')), # <--- මේ පේළිය එකතු කරන්න
]

පියවර 7: Web Server එක ක්‍රියාත්මක කිරීම!

සියල්ල සූදානම්! දැන් ඔබේ Terminal එකේ, `manage.py` ගොනුව ඇති තැන සිට, පහත විධානය ක්‍රියාත්මක කරන්න.

python manage.py runserver

ඉන්පසු, ඔබේ වෙබ් බ්‍රව්සරය විවෘත කර, http://127.0.0.1:8000/ යන ලිපිනයට යන්න. ඔබේ AI Web App එක ක්‍රියාත්මක වන ආකාරය ඔබට දැකගත හැකි වනු ඇත!

« නැවත මුල් පිටුවට