1. Proje Gereksinimleri

Öncelikle, projemiz için aşağıdaki araç ve kütüphanelere ihtiyacımız olacak:

  • Python 3.x (Son sürüm önerilir)
  • Flask (Web arayüzü için)
  • OpenAI API (Chatbot'un yapay zeka motoru için)
  • Requests (API istekleri için)

Gerekli kütüphaneleri yüklemek için aşağıdaki komutu çalıştırabilirsiniz:

pip install flask openai requests

 

2. OpenAI API Anahtarı Alımı

OpenAI'nin sunduğu GPT-4 veya GPT-3.5 modellerini kullanarak chatbot geliştirmek için OpenAI Platformu üzerinden bir API anahtarı edinmelisiniz.

API anahtarınızı aldıktan sonra, güvenli bir şekilde saklamalı ve kod içinde doğrudan paylaşmamalısınız. Bunun yerine, .env dosyası veya ortam değişkenleri kullanabilirsiniz.

 

3. Flask ile API Sunucusu Oluşturma

Şimdi Flask kullanarak bir web sunucusu oluşturacağız. Bu sunucu, istemciden gelen kullanıcı girdisini OpenAI API'ye iletecek ve yanıtları döndürecek.

app.py Dosyası:

from flask import Flask, request, jsonify
import openai
import os

env_api_key = os.getenv("OPENAI_API_KEY")
openai.api_key = env_api_key

app = Flask(__name__)

@app.route("/chat", methods=["POST"])
def chat():
    data = request.get_json()
    user_message = data.get("message")
    
    response = openai.ChatCompletion.create(
        model="gpt-4",
        messages=[{"role": "user", "content": user_message}]
    )
    
    reply = response["choices"][0]["message"]["content"]
    return jsonify({"reply": reply})

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

Bu kod, /chat endpoint'ine gelen POST isteklerini alır ve OpenAI API’ye ileterek chatbot yanıtını döndürür.

 

4. Basit Bir HTML ve JavaScript Arayüzü

Flask API'mizi bir frontend ile test etmek için basit bir HTML ve JavaScript sayfası oluşturabiliriz.

index.html Dosyası:

<!DOCTYPE html>
<html lang="tr">
<head>
    <meta charset="UTF-8">
    <title>Türkçe Chatbot</title>
</head>
<body>
    <h2>Türkçe Chatbot</h2>
    <input type="text" id="userInput" placeholder="Mesajınızı girin...">
    <button onclick="sendMessage()">Gönder</button>
    <p id="response"></p>

    <script>
        async function sendMessage() {
            const message = document.getElementById("userInput").value;
            const response = await fetch("/chat", {
                method: "POST",
                headers: { "Content-Type": "application/json" },
                body: JSON.stringify({ message })
            });
            const data = await response.json();
            document.getElementById("response").innerText = data.reply;
        }
    </script>
</body>
</html>

Bu sayfa, Flask sunucumuza bağlanarak kullanıcı mesajlarını alır ve yanıtları ekrana yazdırır.

 

5. Uygulamayı Yayınlama

Uygulamanızı yerel olarak çalıştırmak için terminalde şu komutu çalıştırabilirsiniz:

python app.py

Daha geniş bir kitleye sunmak için Heroku, Vercel veya Render gibi platformları kullanarak Flask uygulamanızı deploy edebilirsiniz.

 

Sonuç

Bu yazıda, Python ile OpenAI API ve Flask kullanarak basit bir Türkçe chatbot geliştirdik. İleri seviyeye geçmek için:

  • Veritabanı entegrasyonu ekleyerek chatbot'un hafızasını geliştirebilirsiniz.
  • Kullanıcı kimlik doğrulama ekleyerek kişiselleştirilmiş sohbet deneyimi sunabilirsiniz.
  • Sesli yanıt ve konuşma tanıma özellikleri ekleyerek chatbot'unuzu daha interaktif hale getirebilirsiniz.

Bu adımları takip ederek siz de kendi yapay zeka destekli chatbot'unuzu geliştirebilirsiniz!