Yapay zeka (AI) hızla gelişirken, AI tabanlı uygulamaların kullanım alanları da genişliyor. Sohbet botları, otomasyon sistemleri, veri analiz araçları gibi pek çok farklı alanda AI Agent’lar kullanılabiliyor. Bu rehberde, kendi AI Agent’ınızı sıfırdan nasıl oluşturabileceğinizi, hangi araçları kullanmanız gerektiğini, kodlamadan kuruluma kadar her aşamayı detaylı bir şekilde ele alacağız. Ayrıca karşılaşabileceğiniz olası hatalar ve bunların çözümlerine de yer vereceğiz.
AI Agent Nedir?
AI Agent, belirli görevleri yerine getirebilen, öğrenebilen ve insanlarla etkileşime girebilen bir yazılım birimidir. Genellikle büyük dil modelleri (LLM) gibi yapay zeka teknolojileri ile desteklenir ve aşağıdaki işlevleri gerçekleştirebilir:
- Metin Anlama ve Yanıt Üretme: Kullanıcıdan gelen metinleri işleyerek anlam çıkarır ve uygun yanıtlar üretir.
- Veri Analizi ve İşleme: Büyük veri setlerini analiz edebilir ve sonuçlar üretebilir.
- Otomasyon: Tekrarlayan görevleri otomatik hale getirebilir.
- API Entegrasyonu: Dış API’lerle bağlantı kurarak bilgi çekebilir veya işlem yapabilir.
- Öğrenme ve Uyarlanabilirlik: Kullanıcıdan gelen geri bildirimlerle zaman içinde gelişebilir.
Günümüzde müşteri hizmetleri botları, sanal asistanlar (Siri, Google Assistant gibi), otomatik yazılım yardımcıları ve veri analizi yapan yapay zeka çözümleri bu alanda önemli örneklerdir.
Kullanılacak Teknolojiler ve Araçlar
AI Agent geliştirmek için ihtiyaç duyacağımız temel bileşenler:
1. Dil Modelleri (LLM – Large Language Models)
Yapay zeka ajanınızın metin işlemesi için güçlü bir dil modeline ihtiyacınız olacak. İşte bazı popüler seçenekler:
Model | Avantajları | Kullanım Alanı |
---|---|---|
GPT-4 | Üst düzey dil işleme kapasitesi | Chatbotlar, içerik üretimi |
Claude | Uzun metinleri analiz edebilir | Hukuki ve akademik metin işleme |
Mistral | Açık kaynak, özelleştirilebilir | Özel AI geliştirme |
LLaMA | Hafif ve hızlı | Mobil ve gömülü sistemler |
Eğer hazır API kullanacaksanız, OpenAI GPT-4, Anthropic Claude veya Google Bard gibi modelleri kullanabilirsiniz. Açık kaynak çözümler için LLaMA, Falcon, Mistral gibi modelleri Hugging Face platformundan indirebilirsiniz.
2. Programlama Dili
Python, geniş AI ve makine öğrenmesi kütüphaneleri sayesinde en popüler seçenektir.
Alternatifler:
- JavaScript/TypeScript (Web tabanlı AI uygulamaları için)
- C++ veya Rust (Düşük seviyeli performans gerektiren uygulamalar için)
Bu rehberde Python kullanacağız.
3. Gerekli Kütüphaneler ve Araçlar
Python’da kullanacağımız ana kütüphaneler:
- OpenAI API veya Hugging Face Transformers (Dil modeli kullanımı için)
- LangChain (Agent iş akışlarını yönetmek için)
- Flask veya FastAPI (API oluşturma)
- Pinecone veya ChromaDB (Vektör veritabanı)
- PostgreSQL veya MongoDB (Veri saklama)
- Docker (Deployment için)
- AWS, Google Cloud, Azure (Cloud barındırma için)
AI Agent İçin Temel Yapı
Bir AI Agent oluştururken temel mimari şu şekildedir:
1. Kullanıcı Girişi (Input Handling)
- Kullanıcılar metin veya ses yoluyla AI Agent ile etkileşime geçer.
- Girdi temizlenir, anlam çıkarılır.
2. İşleme (Processing)
- Model, girdiyi analiz eder ve anlamlandırır.
- Bellekten veya dış veri kaynaklarından ek bilgi alınır.
3. Yanıt Üretme (Output Handling)
- AI modeli yanıtı oluşturur.
- Yanıt, kullanıcıya uygun bir formatta iletilir.
4. API ve Entegrasyonlar
- AI Agent, dış veri kaynaklarına erişebilir ve işlemleri otomatik hale getirebilir.
İlk Prototip
import openai
# API Anahtarınızı Buraya Ekleyin
OPENAI_API_KEY = "your-api-key-here"
def chat_with_ai(prompt):
response = openai.ChatCompletion.create(
model="gpt-4",
messages=[{"role": "user", "content": prompt}],
api_key=OPENAI_API_KEY
)
return response["choices"][0]["message"]["content"]
# Kullanıcıdan giriş al ve yanıt ver
while True:
user_input = input("Soru sor (Çıkmak için 'exit' yazın): ")
if user_input.lower() == "exit":
break
print("AI: ", chat_with_ai(user_input))
Bu kod, temel bir terminal tabanlı sohbet botu oluşturur. Ancak, daha gelişmiş bir AI Agent için LangChain ve vektör veritabanı gibi ek bileşenler eklememiz gerekecek.
Geliştirme ve Entegrasyon
LangChain ile Daha Kullanışlı AI Agent
LangChain, dil modellerini veri kaynakları ve araçlarla entegre etmenize yardımcı olur.
from langchain.chat_models import ChatOpenAI
from langchain.schema import SystemMessage, HumanMessage
llm = ChatOpenAI(model_name="gpt-4", openai_api_key=OPENAI_API_KEY)
def ai_agent(user_input):
messages = [
SystemMessage(content="Sen bir AI asistanısın."),
HumanMessage(content=user_input)
]
return llm(messages).content
while True:
user_input = input("Mesajınızı girin: ")
if user_input.lower() == "exit":
break
print("AI Agent: ", ai_agent(user_input))
Bellek Kullanımı (Vektör Veritabanı ile Hafıza)
AI Agent’ınızın geçmiş konuşmaları hatırlayabilmesi için vektör veritabanı (Pinecone veya ChromaDB) kullanabilirsiniz. Biz bu projede ChromaDB kullanacağız.
import chromadb
chroma_client = chromadb.Client()
collection = chroma_client.create_collection(name="chat_memory")
# Belleğe mesaj ekleme
collection.add(
documents=["Merhaba, ben bir yapay zeka asistanıyım! Size nasıl yardımcı olabilirim?"],
metadatas=[{"source": "ai_agent"}],
ids=["1"]
)
# Bellekten veri çekme
results = collection.query(
query_texts=["Sen kimsin?"],
n_results=1
)
print(results)
AI Agent için Web Arayüzü
AI Agent’ınızı FastAPI kullanarak bir web servisine dönüştürelim.
from fastapi import FastAPI
import openai
app = FastAPI()
@app.post("/chat")
async def chat(request: dict):
response = openai.ChatCompletion.create(
model="gpt-4",
messages=[{"role": "user", "content": request["message"]}],
api_key=OPENAI_API_KEY
)
return {"response": response["choices"][0]["message"]["content"]}
# API'yi çalıştırmak için:
# uvicorn filename:app --reload
Docker ile Deployment (Canlıya Alma)
Geliştirdiğiniz AI Agent’ı, yerel sisteminizde çalıştırmanın yanı sıra bir sunucuda barındırmanız gerekebilir. Bunun için Docker kullanacağız. Docker, uygulamanızı bir kapsayıcı içinde çalıştırarak bağımsız bir ortam sağlar.
Docker Nedir ve Neden Kullanmalıyız?
Docker, uygulamalarınızı ve bağımlılıklarını kapsülleyen bir platformdur. AI Agent’ınızı Docker kullanarak çalıştırmak, şu avantajları sağlar:
- Taşınabilirlik: Kapsayıcıyı herhangi bir makineye taşıyabilirsiniz.
- Kolay Ölçekleme: AI Agent’ınızı birçok sunucuda aynı anda çalıştırabilirsiniz.
- Bağımlılık Yönetimi: Kütüphane ve bağımlılık sürümleri kontrol altında olur.
Dockerfile ile AI Agent’ı Paketleme
AI Agent’ınızı FastAPI kullanarak oluşturduğunuzu varsayalım. İlk olarak, projenizin ana dizininde bir Dockerfile oluşturun:
# Python 3.9 kullanarak temel bir Docker imajı oluşturuyoruz
FROM python:3.9
# Çalışma dizinini belirliyoruz
WORKDIR /app
# Gerekli bağımlılıkları yüklemek için dosyaları kopyalıyoruz
COPY requirements.txt requirements.txt
RUN pip install --no-cache-dir -r requirements.txt
# Ana kod dosyamızı konteynere kopyalıyoruz
COPY . .
# FastAPI uygulamasını çalıştırmak için Uvicorn kullanıyoruz
CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "8000"]
Docker Konteynerini Oluşturma ve Çalıştırma
Öncelikle, bağımlılıkları içeren requirements.txt
dosyanızı oluşturun:
fastapi
openai
uvicorn
Ardından, Docker imajınızı oluşturun:
docker build -t my-ai-agent .
Konteyneri başlatmak için:
docker run -p 8000:8000 my-ai-agent
Eğer Docker çalışıyorsa, artık localhost:8000 üzerinden AI Agent’ınıza erişebilirsiniz.
Docker Konteynerlerini Yönetme
Docker konteynerleri yönetmek için şu komutları kullanabilirsiniz:
- Çalışan konteynerleri görmek için:
docker ps
- Konteyneri durdurmak için:
docker stop <container_id>
- Konteyneri silmek için:
docker rm <container_id>
- İmajları listelemek için:
docker images
AI Modelini Eğitme ve İnce Ayarlar
Şimdiye kadar hazır bir AI modeli kullandık. Ancak, AI Agent’ınızı özel verilere dayalı olarak eğitmek isteyebilirsiniz. Bu bölümde, açık kaynak modeller üzerinde nasıl ince ayar (fine-tuning) yapacağınızı ele alacağız.
Hugging Face Transformers Kullanarak AI Modeli Eğitme
Hugging Face, açık kaynak AI modelleri ile çalışmayı kolaylaştıran bir platformdur.
Adım 1: Gerekli Kütüphaneleri Yükleyin
pip install transformers datasets torch
Adım 2: Modeli ve Verileri Yükleyin
Örneğin, distilgpt2
modelini eğitebiliriz:
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
# Modeli ve tokenizer'ı yükleme
model_name = "distilgpt2"
model = AutoModelForCausalLM.from_pretrained(model_name)
tokenizer = AutoTokenizer.from_pretrained(model_name)
Adım 3: Veri Kümesini Kullanma
Modeli eğitmek için bir veri kümesi oluşturmalısınız. Hugging Face datasets
kütüphanesi ile bir veri kümesi yükleyelim:
from datasets import load_dataset
dataset = load_dataset("wikitext", "wikitext-2-raw-v1", split="train")
Adım 4: Modeli Eğitme
İnce ayar işlemi için Trainer
sınıfını kullanabiliriz:
from transformers import Trainer, TrainingArguments
training_args = TrainingArguments(
output_dir="./results",
evaluation_strategy="epoch",
per_device_train_batch_size=8,
per_device_eval_batch_size=8,
num_train_epochs=3,
save_total_limit=2
)
trainer = Trainer(
model=model,
args=training_args,
train_dataset=dataset
)
trainer.train()
Birkaç saat sürebilecek bu işlemden sonra modelinizi kaydedebilirsiniz:
model.save_pretrained("./my_trained_model")
tokenizer.save_pretrained("./my_trained_model")
Özel Verilerle AI Modeli Eğitme
Eğer AI Agent’ınızı kendi verilerinizle eğitmek isterseniz, bir .txt
veya .json
formatında veri sağlayabilirsiniz:
import json
data = [
{"text": "Merhaba! Sana nasıl yardımcı olabilirim?"},
{"text": "Bugün hava nasıl olacak?"},
]
with open("custom_data.json", "w") as f:
json.dump(data, f)
Ardından, bu veriyi modele yükleyebilirsiniz:
from datasets import load_dataset
dataset = load_dataset("json", data_files="custom_data.json")
Bu verilerle eğitilen bir model, AI Agent’ınızı belirli bir konuda özelleştirmek için kullanılabilir.
Olası Hatalar ve Çözümleri
AI Agent geliştirirken sıkça karşılaşılan hatalar şunlardır:
OpenAI API Hataları
Hata | Çözüm |
---|---|
openai.error.AuthenticationError | API anahtarınızın doğru olup olmadığını kontrol edin. |
openai.error.RateLimitError | API kullanım limitinizi aştınız. Daha az istek göndermeyi deneyin veya daha yüksek bir plan satın alın. |
openai.error.InvalidRequestError | Modelinize uygun olmayan bir istek yaptınız. Giriş formatını kontrol edin. |
Model Eğitim Hataları
Hata | Çözüm |
---|---|
RuntimeError: CUDA out of memory | GPU belleğiniz yetersiz olabilir. Küçük batch size kullanın veya CPU’ya geçin. |
KeyError: 'train' | Veri kümesi düzgün yüklenmedi. JSON formatını doğrulayın. |
TypeError: expected str, got list | Modelin giriş formatının doğru olduğundan emin olun. |
API ve Deployment Hataları
Hata | Çözüm |
---|---|
ModuleNotFoundError: No module named 'fastapi' | Gerekli kütüphanelerin yüklü olduğundan emin olun. (pip install fastapi ) |
uvicorn.error.ServerError | FastAPI veya Flask sunucunuzu başlattığınızdan emin olun. |
docker: command not found | Docker’ın kurulu olduğundan emin olun. |
AI Agent’ınızı Bir Adım Öteye Taşıyın
AI Agent’ınızı temel işlevselliklerin ötesine taşımak için çeşitli geliştirme yöntemleri vardır. Bu bölümde, AI Agent’ınızı nasıl daha akıllı, hızlı ve işlevsel hale getirebileceğinizi detaylandıracağız.
Çoklu Model Desteği
AI Agent’inizi hem metin tabanlı yanıtlar üreten bir model hem de görseller oluşturan bir model ile çalıştırabilirsiniz. Aşağıdaki kod, OpenAI GPT-4 ile metin işlemesini ve Stable Diffusion ile görüntü oluşturmayı birleştirir:
import openai
from diffusers import StableDiffusionPipeline
import torch
OPENAI_API_KEY = "your-api-key-here"
# OpenAI Metin İşleme
def chat_with_ai(prompt):
response = openai.ChatCompletion.create(
model="gpt-4",
messages=[{"role": "user", "content": prompt}],
api_key=OPENAI_API_KEY
)
return response["choices"][0]["message"]["content"]
# Stable Diffusion Görüntü Üretme
def generate_image(prompt):
model_id = "CompVis/stable-diffusion-v1-4"
pipe = StableDiffusionPipeline.from_pretrained(model_id, torch_dtype=torch.float16)
pipe = pipe.to("cuda") # GPU hızlandırma için
image = pipe(prompt).images[0]
image.save("generated_image.png")
return "generated_image.png"
# Kullanıcıdan giriş al ve metin veya görsel yanıt döndür
while True:
user_input = input("Bir şey yazın (Çıkmak için 'exit' yazın): ")
if user_input.lower() == "exit":
break
elif "resim çiz" in user_input or "görsel oluştur" in user_input:
print("AI: Görsel oluşturuluyor...")
img_path = generate_image(user_input.replace("resim çiz", "").strip())
print(f"AI: Görsel {img_path} olarak kaydedildi.")
else:
print("AI:", chat_with_ai(user_input))
Bu geliştirme ne kazandırır?
- Kullanıcılar yalnızca yazılı yanıtlar almakla kalmaz, aynı zamanda yapay zekanın ürettiği görselleri de kullanabilirler.
- Örneğin, bir AI sanatçısı veya içerik üreticisi asistanı oluşturabilirsiniz.
AI Agent’ınızı Sesle Çalıştırın
Birçok AI Agent sadece yazılı metin girişleriyle çalışır. Ancak, ses tanıma (Speech-to-Text, STT) ve ses sentezi (Text-to-Speech, TTS) teknolojilerini kullanarak AI Agent’inizi bir sesli asistana dönüştürebilirsiniz.
Kullanıcı Konuşmalarını Tanıma (Speech-to-Text – STT)
Google’ın speech_recognition
kütüphanesi ile AI Agent’inize sesle komut verebilirsiniz.
import speech_recognition as sr
recognizer = sr.Recognizer()
def recognize_speech():
with sr.Microphone() as source:
print("AI: Konuşmanızı bekliyorum...")
recognizer.adjust_for_ambient_noise(source)
audio = recognizer.listen(source)
try:
text = recognizer.recognize_google(audio, language="tr-TR")
print(f"AI: Duydum -> {text}")
return text
except sr.UnknownValueError:
print("AI: Ne dediğinizi anlayamadım.")
return ""
except sr.RequestError:
print("AI: Google hizmetine erişilemiyor.")
return ""
AI Yanıtlarını Sesli Okutma (Text-to-Speech – TTS)
pyttsx3
veya gTTS
(Google Text-to-Speech) kullanarak AI Agent’inizin konuşmasını sağlayabilirsiniz.
from gtts import gTTS
import os
def speak(text):
tts = gTTS(text=text, lang="tr")
tts.save("response.mp3")
os.system("mpg321 response.mp3") # Linux/macOS için. Windows için: os.system("start response.mp3")
Şimdi AI Agent’inizi sesli çalıştırabilirsiniz:
while True:
command = recognize_speech()
if command.lower() == "çık":
break
response = chat_with_ai(command)
print("AI:", response)
speak(response)
Bu geliştirme ne kazandırır?
- AI Agent’inizi bir sesli asistan haline getirebilirsiniz.
- Görme engelli kullanıcılar için daha erişilebilir bir çözüm sunabilirsiniz.
AI Agent’ınızı Sohbet Botu Olarak Kullanma
Birçok şirket ve web sitesi, AI destekli sohbet botlarını müşteri hizmetleri için kullanıyor. AI Agent’inizi bir web sitesine entegre etmek istiyorsanız, Flask veya FastAPI ile bir API oluşturabilirsiniz.
Flask ile Basit Bir Chatbot API’si
from flask import Flask, request, jsonify
import openai
app = Flask(__name__)
OPENAI_API_KEY = "your-api-key-here"
@app.route("/chat", methods=["POST"])
def chat():
user_input = request.json["message"]
response = openai.ChatCompletion.create(
model="gpt-4",
messages=[{"role": "user", "content": user_input}],
api_key=OPENAI_API_KEY
)
return jsonify({"response": response["choices"][0]["message"]["content"]})
if __name__ == "__main__":
app.run(debug=True)
Bu API’ye bir frontend bağlayarak canlı bir chatbot oluşturabilirsiniz.
Son Sözler
Yapay zekanın hızla geliştiği bu dönemde, kendi AI Agent’ınızı sıfırdan oluşturmak, onu geliştirmek ve gerçek dünya uygulamalarında kullanmak artık sadece büyük teknoloji şirketlerine özgü bir ayrıcalık değil. Bu rehberde, doğru teknolojileri seçmekten model eğitimine, bellek yönetiminden API entegrasyonuna, dağıtımdan hata yönetimine kadar her detayı ele aldık. Artık elinizde, AI dünyasında kendi izini bırakabilecek güçlü bir temel var.
Bu noktada önemli olan, öğrendiklerinizi nasıl uyguladığınız ve AI Agent’ınızı nasıl sürekli geliştirip optimize ettiğinizdir. Belki bugün basit bir chatbot geliştirdiniz, ancak birkaç ay içinde onu sesli asistan haline getirebilir, daha sonra müşteri hizmetleri için akıllı bir destek sistemi veya kişisel üretkenliğinizi artıran bir yardımcıya dönüştürebilirsiniz. Yeteneklerinizi ve yapay zekanın sunduğu sınırsız olanakları birleştirerek inovatif çözümler üretebilir, hatta kendi benzersiz AI tabanlı ürününüzü piyasaya sürebilirsiniz.
Unutmayın, teknoloji sürekli ilerliyor ve bu alanda bir adım önde olmak için denemeye, öğrenmeye ve geliştirmeye devam etmelisiniz. Küçük projelerle başlayın, geri bildirimleri analiz edin, eksik yönleri güçlendirin ve AI Agent’ınızı zamanla daha akıllı ve etkili hale getirin. Bugün küçük bir adımdan ibaret gibi görünen bu yolculuk, belki de gelecekte büyük bir yapay zeka girişimine dönüşecek. Şimdi, kendi AI Agent’ınızı hayata geçirmek için harekete geçme zamanı!