Hugging Face Modelleriyle NLP Projelerine Güç Katın: Basit Adımlarla Model Kullanımı ve Arayüz Entegrasyonu

Doğal Dil İşleme (NLP) projelerinde Hugging Face modelleri, güçlü dil anlayışı ve üretim yetenekleri sunarak büyük kolaylık sağlar. Bu yazıda, Hugging Face’de mevcut olan bir NLP modelinin nasıl kullanılacağını ve modelin bir web arayüzü ile nasıl entegre edileceğini adım adım inceleyeceğiz.

1. Hugging Face Nedir?

Hugging Face, NLP için geliştirilen açık kaynaklı modelleri barındıran bir platformdur. Özellikle Transformers kütüphanesi sayesinde kullanıcılar, büyük dil modellerini hızlıca uygulamalarına entegre edebilirler. GPT, BERT, T5 gibi modeller, farklı doğal dil işleme görevlerinde kullanabileceğiniz popüler seçeneklerdir.

2. Model Seçimi ve Kurulum

İlk adım olarak Hugging Face’deki modellerden projenize uygun olanını seçmeniz gerekecek. Örneğin, Türkçe dil işleme üzerine çalışıyorsanız, BERTurk veya BLOOM gibi modelleri tercih edebilirsiniz. Şimdi, bir Hugging Face modeli kullanmak için Python ile nasıl bir kurulum yapılacağını görelim:

Adım 1: Hugging Face ve Transformers kütüphanelerini yükleyin

Terminal üzerinden aşağıdaki komutları kullanarak gerekli kütüphaneleri yükleyebilirsiniz:

pip install transformers
pip install torch   # PyTorch backend kullanacaksanız

Adım 2: Model ve Tokenizer’ı İndirin

Seçtiğiniz modeli ve onun tokenizasyon işlemi için gerekli tokenizer’ı şu şekilde indirebilirsiniz:

from transformers import AutoTokenizer, AutoModelForSequenceClassification

# Modelin adını Hugging Face sayfasından alabilirsiniz
model_name = "dbmdz/bert-base-turkish-cased"

# Tokenizer ve modelin yüklenmesi
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSequenceClassification.from_pretrained(model_name)

Bu adımda model başarıyla indirilecek ve kullanıma hazır hale gelecektir.

3. Modelin Kullanımı

Şimdi bu modeli bir örnek cümle üzerinde test edelim:

import torch

# Örnek bir cümleyi token haline getirme
inputs = tokenizer("Bu bir deneme cümlesidir.", return_tensors="pt")

# Modeli çalıştırma ve tahmin sonuçlarını alma
with torch.no_grad():
    outputs = model(**inputs)

print(outputs)

Bu kod parçası, örnek cümleniz için modelin çıkardığı sonuçları gösterecektir.

4. Flask ile Basit Bir Web Arayüzü Oluşturma

Hugging Face modelinizi bir web uygulamasıyla entegre etmek için Flask gibi basit bir web framework’ü kullanabilirsiniz. Aşağıda, Flask ile Hugging Face modeli nasıl bir arayüz ile çalıştırılır göstereceğiz.

Adım 1: Flask’i Yükleyin

pip install Flask

Adım 2: Flask Uygulaması Oluşturma

Basit bir Flask uygulaması oluşturarak kullanıcıların bir form aracılığıyla cümle girmesini sağlayabilir ve bu cümleleri Hugging Face modeline gönderip analiz ettirebilirsiniz.

from flask import Flask, request, render_template
from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch

app = Flask(__name__)

# Model ve tokenizer yükleme
model_name = "dbmdz/bert-base-turkish-cased"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSequenceClassification.from_pretrained(model_name)

@app.route("/", methods=["GET", "POST"])
def index():
    if request.method == "POST":
        user_input = request.form["text"]
        inputs = tokenizer(user_input, return_tensors="pt")
        with torch.no_grad():
            outputs = model(**inputs)
        result = outputs.logits.argmax().item()
        return render_template("index.html", result=result)
    return render_template("index.html", result=None)

if __name__ == "__main__":
    app.run(debug=True)

Adım 3: HTML Arayüzü

index.html dosyasını aşağıdaki gibi oluşturabilirsiniz. Bu sayede kullanıcılar metin girerek modeli kullanabilecekler.

<!DOCTYPE html>
<html lang="tr">
<head>
    <meta charset="UTF-8">
    <title>Türkçe Metin Analizi</title>
</head>
<body>
    <h1>Metin Analiz Aracı</h1>
    <form method="POST">
        <textarea name="text" rows="4" cols="50"></textarea><br>
        <input type="submit" value="Analiz Et">
    </form>
    {% if result is not none %}
        <h2>Sonuç: {{ result }}</h2>
    {% endif %}
</body>
</html>

Hugging Face’deki bir modeli indirip Python ile nasıl çalıştırabileceğinizi ve Flask aracılığıyla bir web arayüzüne nasıl entegre edebileceğinizi gördük. Hugging Face’in sunduğu geniş model yelpazesi ve kolay kullanım sayesinde NLP projelerinizi hızla geliştirebilir, kullanıcı dostu web arayüzleriyle modellerinizi paylaşabilirsiniz.