Bu proje, Python ile kural tabanlı (rule-based) bir agent mimarisini öğrenmek ve gerçek veri üzerinde uygulamak isteyenler için hazırlandı. Hedef, uçuş verileriyle çalışan, kendi kararlarını verebilen ve modüler olarak genişletilebilen bir agent geliştirmek.
- Gerçek dünya problemi: Uçuş gecikme verileriyle çalışarak pratik yapma imkânı.
- Agent mimarisi: Sadece sabit adımlar değil, duruma göre karar veren ve tool seçebilen bir yapı.
- Genişletilebilirlik: Kendi tool'unuzu kolayca ekleyebilir, sistemi büyütebilirsiniz.
- Doğal dilde komutlarla analiz
- CSV dosyasından veri yükleme (DataLoaderTool)
- Kolon bazında istatistiksel analiz (StatsCalculator)
- Hata yönetimi ve kullanıcıya açıklayıcı geri bildirim
- Temiz, modüler ve anlaşılır Python kodu
- Hafıza: Geçmiş görevleri hatırlama
- Otomatik model eğitimi ve kaydetme (ModelTrainerTool)
- Makine öğrenmesi ile gecikme tahmini
- Python 3 ve pip yüklü olmalı.
- Sanal ortam oluşturun ve aktif edin:
python3 -m venv venv source venv/bin/activate - Gerekli paketleri yükleyin:
pip install -r requirements.txt
Testleri çalıştırmak için:
PYTHONPATH=. python3 tests/test_tools.pyagent_learning/
├── src/
│ └── tools.py # Tool sınıfları ve iş mantığı
├── data/
│ ├── flights_sample.csv
│ └── data_dictionary.txt
├── tests/
│ └── test_tools.py # Tool'lar için testler
├── requirements.txt
├── .gitignore
└── README.md
Uçuş verisini yükleyip, bir kolonun istatistiklerini hesaplamak için:
from src.tools import DataLoaderTool, StatsCalculator
# CSV'den veri yükle
loader = DataLoaderTool()
df = loader.execute({"file_path": "data/flights_sample.csv"})
# Kolon istatistiklerini hesapla
stats_tool = StatsCalculator()
result = stats_tool.execute({
"dataframe": df,
"column": "delay_minutes"
})
print(result)Makine öğrenmesiyle gecikme tahmini için model eğitmek ve kaydetmek için:
from src.tools import ModelTrainerTool
trainer = ModelTrainerTool()
result = trainer.execute({
"dataframe": df,
"model_type": "random_forest" # "gradient_boosting" veya "all" da olabilir
})
print(result)ModelTrainerTool, uçuş gecikmelerini tahmin etmek için Random Forest ve Gradient Boosting modelleri eğitir ve modelleri otomatik olarak kaydeder.
💡 Nasıl Geliştirirsin?
- Yeni bir tool eklemek için
Toolsınıfını miras alıpexecutemetodunu yazman yeterli. - Testlerini
tests/klasöründe yazabilirsin. - Katkı ve önerilere her zaman açığım!
Pull request ve issue açarak katkıda bulunabilirsin. Kodun temiz, anlaşılır ve test edilmiş olmasına dikkat etmen yeterli.
✅ Doğal Dil Anlama: "Hangi havayolu en çok gecikiyor?" gibi sorular
✅ Otomatik Veri Yükleme: Veri yoksa kendisi yükler
✅ İstatistiksel Analiz: Ortalama, medyan, max, min hesaplar
✅ Havayolu Analizi: Havayollarını karşılaştırır
✅ Rota Analizi: En çok geciken rotaları bulur
✅ Çoklu Kolon Desteği: Tüm numeric kolonları analiz eder
✅ Hafıza: Geçmiş görevleri hatırlar
🔜 LangChain Entegrasyonu: GPT-4 ile daha akıllı karar verme
🔜 API Desteği: REST API ile kullanım