Skip to content

İlk Sohbet Botu

Bu rehberde, Python ve openai SDK'sı ile komut satırında çalışan basit bir sohbet botu yazacağız. Botun geçmişi hatırlamasını ve yanıtları akışla göstermesini sağlayacağız.

Hazırlık

bash
pip install openai
export QEVRON_API_KEY="sk-..."   # kendi anahtarınız

1. İstemciyi kurun

python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["QEVRON_API_KEY"],
    base_url="https://app.qevron.ai/v1",
)

2. Geçmişi tutan döngü

Sohbet botunun bağlamı hatırlaması için, her mesajı bir messages listesinde biriktiririz:

python
messages = [
    {"role": "system", "content": "Sen kısa ve net yanıt veren bir asistansın."},
]

print("Sohbet başladı (çıkmak için 'q')\n")
while True:
    user_input = input("Sen: ")
    if user_input.strip().lower() == "q":
        break

    messages.append({"role": "user", "content": user_input})

    # Yanıtı akışla al
    print("Bot: ", end="", flush=True)
    full = ""
    stream = client.chat.completions.create(
        model="verinova",
        messages=messages,
        stream=True,
    )
    for chunk in stream:
        delta = chunk.choices[0].delta.content or ""
        full += delta
        print(delta, end="", flush=True)
    print("\n")

    # Botun yanıtını da geçmişe ekle
    messages.append({"role": "assistant", "content": full})

Nasıl çalışıyor?

  • messages listesi her turda büyür; böylece bot önceki konuşmayı "hatırlar".
  • stream=True sayesinde yanıt kelime kelime ekrana yazılır (bkz. Akış).
  • Botun yanıtını (full) tekrar messages'a assistant rolüyle eklemek bağlamın korunması için kritiktir.

İyileştirmeler

  • Bağlamı sınırlayın: Çok uzun sohbetlerde eski mesajları kırpın (token tasarrufu).
  • Sistem mesajını özelleştirin: Botun kişiliğini ve görevini system mesajıyla belirleyin.
  • Hata yönetimi: 429/503 durumunda kısa bekleyip yeniden deneyin (bkz. Hatalar).

Sıradaki: RAG: Embedding + Rerank ile botunuza kendi dokümanlarınızı öğretin.

Qevron — AI gateway. Arpanet / OpenAI / Anthropic / Gemini uyumlu.