Flask Nedir ve Neden Kullanmalıyız?
Web geliştirme dünyasında, Flask popüler bir Python web framework'üdür. Özellikle küçük ve orta ölçekli projeler için ideal olan Flask, basitliği ve esnekliğiyle bilinir. Flask kullanarak web uygulamanızı hızlıca kurabilir, üzerine özellikler ekleyebilir ve kolayca ölçeklendirebilirsiniz. Bugün, Flask ile nasıl bir API oluşturabileceğinizi ve buna yapay zeka özelliklerini nasıl entegre edebileceğinizi keşfedeceğiz.
Adım 1: Flask ile Temel Bir API Nasıl Oluşturulur?
İlk olarak, Flask’ı sistemimize kurarak bir API oluşturmaya başlıyoruz. Flask ile API oluşturmak son derece basit. Aşağıdaki gibi temel bir yapı kurarak başlayabilirsiniz.
# Flask'ı import ediyoruz
from flask import Flask, jsonify
# Flask uygulamasını başlatıyoruz
app = Flask(__name__)
# API endpoint
@app.route('/api', methods=['GET'])
def home():
return jsonify({"message": "Merhaba, Yapay Zeka API'niz hazır!"})
if __name__ == "__main__":
app.run(debug=True)
Bu kodu çalıştırdığınızda, Flask uygulamanız temel bir API ile çalışmaya başlayacaktır. `GET` isteği yapıldığında, “Merhaba, Yapay Zeka API'niz hazır!” mesajını döndüren basit bir endpoint’e sahip olacaksınız.
Adım 2: TensorFlow'u Kurarak Basit Bir Model Nasıl Eğitilir?
Şimdi, yapay zeka kısmına geçelim. TensorFlow, yapay zeka ve derin öğrenme alanında güçlü bir kütüphanedir. TensorFlow’u kurarak, basit bir model eğitmeye başlayacağız. Bu örnekte, oldukça basit bir sınıflandırıcı modeli eğiteceğiz.
# TensorFlow'u import ediyoruz
import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
# Iris veri setini yüklüyoruz
data = load_iris()
X = data.data
y = data.target
# Veriyi eğitim ve test setlerine ayırıyoruz
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
# Basit bir model oluşturuyoruz
model = Sequential([
Dense(10, activation='relu', input_shape=(X_train.shape[1],)),
Dense(3, activation='softmax')
])
# Modeli derliyoruz
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
# Modeli eğitiyoruz
model.fit(X_train, y_train, epochs=50)
# Modeli kaydediyoruz
model.save('iris_model.h5')
Bu kod, Iris veri setini kullanarak basit bir sınıflandırıcı modeli oluşturur ve eğitir. Modeli kaydettikten sonra, artık bu modeli Flask API’nize entegre edebiliriz.
Adım 3: Flask API'nize TensorFlow Modelini Nasıl Entegre Edersiniz?
Şimdi, eğittiğimiz TensorFlow modelini Flask API’mize entegre edelim. Flask API’niz, kullanıcılardan gelen verileri alacak ve eğittiğiniz model aracılığıyla tahmin yapacak.
from flask import Flask, request, jsonify
import tensorflow as tf
# Flask uygulamasını başlatıyoruz
app = Flask(__name__)
# Modeli yüklüyoruz
model = tf.keras.models.load_model('iris_model.h5')
# API endpoint
@app.route('/predict', methods=['POST'])
def predict():
# JSON verisini alıyoruz
data = request.get_json()
# Veriyi modelin beklediği formata çeviriyoruz
input_data = [data['features']]
# Model ile tahmin yapıyoruz
prediction = model.predict(input_data)
predicted_class = prediction.argmax(axis=-1)[0]
# Sonucu döndürüyoruz
return jsonify({"prediction": int(predicted_class)})
if __name__ == "__main__":
app.run(debug=True)
Yukarıdaki kodda, `/predict` endpoint'ine gelen veriyi modelimize gönderiyoruz. Model, tahminini yaptıktan sonra, sonucu kullanıcıya JSON formatında geri döndürüyor. Bu, basit ama işlevsel bir yapay zeka API’sinin nasıl çalıştığını gösteriyor.
Adım 4: API'nizi Test Etme ve Gerçek Dünyadaki Kullanım Örnekleri
Artık API’niz hazır! Bunu test etmek için bir HTTP istemcisi kullanabilirsiniz (Postman gibi). Örneğin, aşağıdaki gibi bir POST isteği gönderebilirsiniz:
```json
{
"features": [5.1, 3.5, 1.4, 0.2]
}
```
Bu özellikler Iris veri setinden bir örnek olup, modelin hangi sınıfı tahmin ettiğini göreceksiniz. Örneğin, modelin sonucu şu şekilde olabilir:
```json
{
"prediction": 0
}
```
Yani, model bu örneğin Iris veri setindeki setosa türüne ait olduğunu tahmin etti.
Gerçek dünyada, böyle bir yapay zeka API’si, kullanıcıların veri girmesiyle anında tahminler yapabilen, otomatik kararlar veren ve sürekli öğrenen sistemlere dönüştürülebilir.
Sonuç olarak, Flask ve TensorFlow kombinasyonu ile oluşturduğunuz bu basit yapay zeka API’si, web uygulamaları geliştirme sürecinde kullanabileceğiniz güçlü bir araçtır. Hem kolayca ölçeklenebilir hem de çok esnek bir yapıya sahiptir. Yapay zeka ile web uygulamalarınızı bir adım öteye taşımak için bu temel adımları takip edebilirsiniz.