Skip to content

akatakan/Text2SQL-Agent-using-Langgraph

Repository files navigation

SQL Sorgulama Asistanı 🤖

Bu proje, doğal dil sorguları kullanarak SQL sorgularını otomatik olarak oluşturan ve veritabanında çalıştıran bir asistan uygulamasıdır.

🌟 Özellikler

  • Doğal dil sorguları SQL'e dönüştürme
  • Otomatik SQL sorgu optimizasyonu ve doğrulama
  • Etkileşimli Streamlit arayüzü
  • Çoklu LLM desteği (Ollama ve OpenAI)
  • Otomatik veri görselleştirme
  • Akıllı hata düzeltme ve geri bildirim

🛠️ Kurulum

Yerel Kurulum

  1. Projeyi klonlayın:
git clone https://github.com/akatakan/Text2SQL-Agent-using-Langgraph
cd Text2SQL-Agent-using-Langgraph
  1. Sanal ortam oluşturun ve etkinleştirin:
python -m venv .venv
# Windows için:
.\.venv\Scripts\activate
# Linux/Mac için:
source .venv/bin/activate
  1. Gerekli paketleri yükleyin:
pip install -r requirements.txt
  1. .env dosyasını yapılandırın:
DATABASE_URL="db-path"
LLM_MODEL="llama3.1:latest"
LLM_TEMPERATURE=0.1
USE_OLLAMA=true
USE_OPENAI=false

Docker ile Kurulum

  1. Docker imajını oluşturun:
docker build -t sql-assistant .
  1. Konteyner'ı çalıştırın:
docker run -d \
  -p 8501:8501 \
  -v $(pwd)/data:/app/data \
  --env-file .env \
  --name sql-assistant \
  sql-assistant

🚀 Kullanım

Yerel Kullanım

  1. Streamlit uygulamasını başlatın:
streamlit run app.py
  1. Tarayıcınızda http://localhost:8501 adresine gidin
  2. Yan menüden LLM ayarlarını yapılandırın
  3. Doğal dil ile sorgunuzu yazın ve "Sorguyu Çalıştır" butonuna tıklayın

Docker ile Kullanım

  1. Tarayıcınızda http://localhost:8501 adresine gidin
  2. Yan menüden LLM ayarlarını yapılandırın
  3. Doğal dil ile sorgunuzu yazın ve "Sorguyu Çalıştır" butonuna tıklayın

📊 Örnek Sorgular

  • "Show me the total number of employees for each level"
  • "What is the average salary by department?"
  • "Show me the highest paid employees in each department"

🧪 Testler

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

pytest tests/

🏗️ Proje Yapısı

.
├── src/
│   ├── analysis/        # Analiz ve mantıksal işlemler
│   ├── core/           # Temel modeller ve konfigürasyon
│   ├── database/       # Veritabanı işlemleri
│   ├── sql/           # SQL işlemleri
│   └── utils/         # Yardımcı fonksiyonlar
├── tests/             # Test dosyaları
├── app.py            # Streamlit arayüzü
├── Dockerfile        # Docker yapılandırması
└── requirements.txt  # Bağımlılıklar

🔧 Teknik Detaylar

  • LangChain: LLM entegrasyonu için
  • Streamlit: Web arayüzü için
  • SQLAlchemy: Veritabanı işlemleri için
  • Pandas: Veri manipülasyonu için
  • Pytest: Test otomasyonu için
  • Docker: Konteynerizasyon için

📝 Lisans

Bu proje MIT lisansı altında lisanslanmıştır.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published