• Arsa, arazi ve gayrimenkul sorularınızı ilgili bölümde sorun; bölgesel bilgi ve deneyimlerinizi paylaşın.

Rehber Yapay zeka chatbot nasıl yapılır?

  • Konuyu Başlatan Konuyu Başlatan OgrenmeIzci
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 0
  • Görüntüleme Görüntüleme 14

OgrenmeIzci

Kayıtlı Üye
Konum
YurtDışı
Konular
30
Mesajlar
40
Çözümler
0
Basit bir yapay zekâ sohbet botu hazırlamanın en kısa yolu, Python ile bir komut satırı uygulaması yazıp bir dil modeli API’sine istek göndermektir. Kullanıcıdan metin alır, önceki mesajları konuşma geçmişinde tutar ve modelin ürettiği yanıtı ekrana yazdırırsınız. Aşağıdaki örnek, bu temel döngüyü çalışır hâle getirir; daha sonra aynı arka ucu web arayüzüne, Telegram botuna veya n8n akışına bağlayabilirsiniz.

Botun çalışma mantığı​


Bir sohbet botunun temelinde dört parça bulunur: kullanıcı girdisi, konuşma geçmişi, model isteği ve model yanıtı. Bot yalnızca son mesajı gönderirse önceki konuşmayı hatırlamaz. Bu nedenle her turda kullanıcı mesajını geçmişe eklemek ve modelden gelen yanıtı da geçmişte saklamak gerekir.

Bu örnekte bot belirli bir bilgi tabanına bağlı değildir. Dolayısıyla genel metin üretir; şirket içi belgeleri, güncel verileri veya özel hesap bilgilerini kendiliğinden bilemez. Böyle bir ihtiyaç için daha sonra RAG, veritabanı sorgusu veya harici API bağlantısı eklenmelidir.

Python ile en küçük çalışan bot​


Ön koşul olarak Python kurulumu, API erişimi ve kullanılabilir bir model adı gerekir. API anahtarını doğrudan kodun içine yazmayın; ortam değişkeninde saklayın. Anahtarı tarayıcıda, mobil uygulamada veya herkese açık depoda bulundurmak yetkisiz kullanıma ve beklenmeyen maliyete yol açabilir.
  1. Bir proje klasörü oluşturun. Terminalde yeni bir klasör açıp içine girin; örneğin ai-sohbet-botu adlı klasör kullanabilirsiniz.
  2. Python paketini kurun. Proje klasöründe pip install openai komutunu çalıştırın. Kurulum tamamlanınca Python kodu API istemcisini kullanabilir.
  3. API anahtarını ortam değişkenine ekleyin. Windows Komut İstemi’nde setx OPENAI_API_KEY "ANAHTARINIZ", Linux veya macOS terminalinde ise export OPENAI_API_KEY="ANAHTARINIZ" komutunu kullanın. Windows’ta komuttan sonra yeni bir terminal açın.
  4. Kullanacağınız model adını ayrıca tanımlayın. OPENAI_MODEL adlı ortam değişkenine hesabınızda kullanılabilen bir model adını yazın. Model adı geçersizse botun kodu doğru olsa bile istek hata verir.
  5. dosyasını oluşturun. Dosyaya aşağıdaki kodu yapıştırın. instructions alanı botun davranışını, history listesi ise konuşma geçmişini belirler.
Python:
import os
from openai import OpenAI

api_key = os.environ.get("OPENAI_API_KEY")
model = os.environ.get("OPENAI_MODEL")

if not api_key:
    raise RuntimeError("OPENAI_API_KEY ortam değişkeni bulunamadı.")

if not model:
    raise RuntimeError("OPENAI_MODEL ortam değişkeni bulunamadı.")

client = OpenAI(api_key=api_key)

history = []
instructions = (
    "Sen kısa, açık ve Türkçe yanıt veren bir yardımcı botsun. "
    "Bilmediğin bilgiyi kesinmiş gibi sunma."
)

print("Bot hazır. Çıkmak için q yazın.")

while True:
    user_text = input("Siz: ").strip()

    if user_text.lower() in {"q", "quit", "exit", "çıkış"}:
        print("Bot kapatıldı.")
        break

    if not user_text:
        continue

    history.append({"role": "user", "content": user_text})

    try:
        response = client.responses.create(
            model=model,
            instructions=instructions,
            input=history,
        )
        answer = response.output_text.strip()
    except Exception as error:
        history.pop()
        print(f"İstek başarısız oldu: {error}")
        continue

    print(f"Bot: {answer}")
    history.append({"role": "assistant", "content": answer})

Dosyayı çalıştırın. Aynı klasörde python bot.py komutunu verin. Ekranda “Bot hazır” mesajı görünürse bot kullanıcı girdisi bekliyor demektir.
Konuşmayı test edin. Önce “Benim adım Deniz.”, ardından “Benim adım ne?” yazın. Bot önceki mesajı kullanarak Deniz yanıtını vermelidir. İlk yanıtı hatırlamıyorsa history listesinin her turda güncellenip güncellenmediğini kontrol edin.


Sonuçları nasıl yorumlamalısınız?​


Botun yanıt üretmesi, bağlantı ve kimlik doğrulama aşamasının çalıştığını gösterir; yanıtın doğru olduğu anlamına gelmez. Dil modelleri ikna edici fakat hatalı bilgiler üretebilir. Önemli işlemlerde yanıtı doğrudan uygulamak yerine doğrulama, izin kontrolü ve gerektiğinde insan onayı ekleyin.

Bir istek her seferinde hata veriyorsa önce hata metnini ayırın. Kimlik doğrulama hatası anahtarın eksik, yanlış veya süresi dolmuş olabileceğini; model bulunamadı hatası OPENAI_MODEL değerinin hesabınızda kullanılmadığını; bağlantı veya zaman aşımı hatası ise ağ erişimini ya da geçici servis durumunu kontrol etmeniz gerektiğini gösterir. Anahtarı kod içine yapıştırmayın ve hata çıktısını herkese açık biçimde paylaşırken gizli değerleri silin.

Konuşma geçmişi büyüdükçe her isteğin içeriği uzar ve uygulamanın maliyeti, yanıt süresi veya modelin bağlam sınırı etkilenebilir. Uzun süre çalışan bir botta eski mesajları özetleyebilir, yalnızca son mesajları saklayabilir veya geçmişi bir veritabanında kullanıcıya göre ayırabilirsiniz.

Botu gerçek bir otomasyona dönüştürme​


Komut satırı örneği, model çağrısını doğrulamak için yeterlidir. Kullanıcıların erişeceği bir uygulamada API anahtarını tarayıcıdaki JavaScript koduna koymayın. Tarayıcı isteği kendi sunucunuza, sunucunuz da model API’sine gitmelidir. Böylece anahtar sunucu tarafında kalır; ayrıca kullanıcı doğrulama, istek sınırı, günlükleme ve kötüye kullanım koruması ekleyebilirsiniz.

Bir sonraki pratik geliştirme, botun belirli bir işi yapmasını sağlamaktır. Örneğin destek botu için önce kullanıcının sorusunu alıp ilgili belge aramasını çalıştırabilir, bulunan metni modele bağlam olarak gönderebilir ve yanıtın yalnızca bu kaynaklara dayanmasını isteyebilirsiniz. Bu yaklaşım botun kendi bilgisini artırmaz; yalnızca yanıt üretirken sağlanan belgeleri kullanmasını sağlar.
 

Sen de şimdi bize katılmak ister misin?

Kayıt ol

Bize katılım kolay ve ücretsizdir!

Konuyu görüntüleyenler

Bu konuyu şu anda görüntüleyen üye bulunmuyor.
Geri
Üst