Yazılım dünyasında "API" kelimesi, günümüzde en sık duyduğumuz terimlerden biri. Web uygulamaları geliştirenler için vazgeçilmez olan bu yapı, uygulamalar arasında veri alışverişini sağlamak için temel bir araçtır. Peki, ya bir API'yi yalnızca verileri taşımak için değil, aynı zamanda akıllı hale getirmek için kullanabileceğinizi söylesem? Evet, doğru duydunuz! Flask kullanarak basit bir API geliştirirken, içine yapay zeka entegrasyonu ekleyebilir ve uygulamanızı daha zeki hale getirebilirsiniz. Hazırsanız, gelin bu yolculuğa birlikte çıkalım!
Flask ile API Geliştirme: Temel Bilgiler
Öncelikle, Flask nedir? Flask, Python ile yazılmış hafif ve esnek bir mikroframework'tür. Web uygulamaları geliştirmek için çok sayıda araç sunar ancak minimal bir yapıya sahiptir. Bu, geliştiricilere uygulamanın yapısını ihtiyaçlarına göre özgürce şekillendirme imkanı verir. Flask ile, hızlıca bir API oluşturmak oldukça kolaydır. Şimdi, temel bir API yapalım ve bunu adım adım yapay zeka ile nasıl entegre edeceğimizi görelim.
Adım 1: Flask Kurulumu ve API Yapısının Oluşturulması
Flask ile başlamak için önce gerekli paketleri yüklemeliyiz. Eğer henüz yüklemediyseniz, terminal veya komut satırında şu komutları çalıştırarak Flask’ı kurabilirsiniz:
pip install Flask
Şimdi, basit bir Flask API'si oluşturacağız. Aşağıdaki Python kodu ile bir "Hello World" API'si yaratabiliriz:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Merhaba, Yapay Zeka ve Flask Dünya!'
if __name__ == '__main__':
app.run(debug=True)
Bu kod, "/ " endpoint'ine gelen isteklerde "Merhaba, Yapay Zeka ve Flask Dünya!" mesajını döndürecek bir API oluşturuyor. Şu anda, basit bir API'niz var, ancak nasıl daha akıllı hale getireceğiz?
Adım 2: Yapay Zeka Modeli Entegre Etme
Artık API'miz çalışıyor, ancak biz onu bir yapay zeka modeliyle donatmak istiyoruz. Peki, ne tür bir yapay zeka kullanabiliriz? Bu yazıda, basit bir sınıflandırıcı model kullanacağız. Ancak, farklı ihtiyaçlarınıza göre farklı yapay zeka modellerini de entegre edebilirsiniz. Python'da en popüler yapay zeka kütüphanelerinden biri olan scikit-learn ile bir model oluşturabiliriz. Hadi bunu Flask API'mize dahil edelim.
Öncelikle, scikit-learn'i yüklemeliyiz:
pip install scikit-learn
Şimdi, basit bir model oluşturalım ve bu modeli API'mize entegre edelim. Aşağıdaki kodda, scikit-learn ile iris veri seti üzerinde bir sınıflandırıcı eğitiyoruz ve ardından bu modeli API'ye dahil ediyoruz:
from flask import Flask, request, jsonify
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
import pickle
app = Flask(__name__)
# Iris veri setini yükleyelim ve modeli eğitelim
iris = load_iris()
X_train, X_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size=0.3, random_state=42)
model = RandomForestClassifier()
model.fit(X_train, y_train)
# Modeli kaydedelim
pickle.dump(model, open('model.pkl', 'wb'))
@app.route('/predict', methods=['POST'])
def predict():
data = request.get_json(force=True)
prediction = model.predict([data['features']])
return jsonify({'prediction': int(prediction[0])})
if __name__ == '__main__':
app.run(debug=True)
Bu kodda, bir kullanıcıdan gelen özellikleri (features) alarak, eğittiğimiz model ile tahmin yapıyoruz ve sonucu JSON formatında geri döndürüyoruz. API'mizin /predict endpoint'ine bir POST isteği gönderildiğinde, modelin tahmin ettiği sonucu alabiliyoruz.
Adım 3: API'yi Test Etme ve Kullanma
Artık her şey hazır! API'nizi çalıştırdıktan sonra, herhangi bir HTTP istemcisi (örneğin, Postman veya cURL) ile test edebilirsiniz. POST isteğini şu şekilde yapabilirsiniz:
POST http://127.0.0.1:5000/predict
Content-Type: application/json
{
"features": [5.1, 3.5, 1.4, 0.2]
}
Bu isteği yaptıktan sonra, API'niz iris veri setindeki tahmin sonucunu döndürecektir.
Sonuç
Flask ile basit bir API oluşturduk ve içine yapay zeka modelimizi entegre ettik. Bu, hem geliştiriciler hem de teknolojiye ilgi duyanlar için harika bir başlangıç noktasıdır. Flask’ın hafif yapısı, hızlıca çalışmaya başlamanızı sağlar ve yapay zeka ile entegrasyon, API'nizi çok daha güçlü hale getirebilir. Artık kendi AI destekli API’nizi oluşturmak için gerekli adımları öğrenmiş oldunuz! Herhangi bir sorunuz olursa, yorumlarda buluşalım!