Skip to content

hincaltopcuoglu/agent_learning

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

✨ Rule-Based Agent ile Akıllı Otomasyon Öğrenme Projesi

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.

🚀 Neden Bu Proje?

  • 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.

🛠️ Özellikler

  • 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

📦 Kurulum

  1. Python 3 ve pip yüklü olmalı.
  2. Sanal ortam oluşturun ve aktif edin:
    python3 -m venv venv
    source venv/bin/activate
  3. Gerekli paketleri yükleyin:
    pip install -r requirements.txt

⚡ Hızlı Başlangıç

Testleri çalıştırmak için:

PYTHONPATH=. python3 tests/test_tools.py

🧩 Proje Yapısı

agent_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

🔍 Örnek Kullanım

Veri Yükleme ve Temel Analiz

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)

Model Eğitimi ve Kaydı

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 Tool sınıfını miras alıp execute metodunu yazman yeterli.
  • Testlerini tests/ klasöründe yazabilirsin.
  • Katkı ve önerilere her zaman açığım!

🤝 Katkı

Pull request ve issue açarak katkıda bulunabilirsin. Kodun temiz, anlaşılır ve test edilmiş olmasına dikkat etmen yeterli.


Yol Haritası

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

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages