Bu proje, Excel dosyalarındaki verileri analiz eden bir RAG (Retrieval-Augmented Generation) sistemidir. Türkçe dil desteği ile kullanıcıların doğal dil sorularına yanıt verir.
- Anlamsal Arama: Excel verilerini embedding vektörleri ile analiz eder
- Türkçe Dil Desteği: Türkçe sorular ve yanıtlar
- Yerel Embedding: İnternet bağlantısı gerektirmeden çalışır
- PostgreSQL + pgvector: Hızlı vektör araması
- Google Gemini Entegrasyonu: Akıllı yanıt üretimi
- Otomatik Veri İşleme: Excel satırlarını doğal dil cümlelerine dönüştürür
- Python 3.8+
- PostgreSQL 12+ (pgvector uzantısı ile)
- RAM: En az 4GB (embedding modeli için)
pip install -r requirements.txtgit clone https://github.com/Bor4brn/Excel-File-Analyzer-via-RAG.git
cd Excel-File-Analyzer-via-RAG# PostgreSQL kurulumu (macOS)
brew install postgresql
# pgvector uzantısını ekleyin
git clone https://github.com/pgvector/pgvector.git
cd pgvector
make
make installCREATE DATABASE excel_analyzer;
\c excel_analyzer;
CREATE EXTENSION IF NOT EXISTS vector;.env dosyası oluşturun:
GEMINI_KEY=your_google_gemini_api_key_here
DATABASE_URL=postgresql://username:password@localhost:5432/excel_analyzerDevice Dataset.xlsxdosyasını proje kök dizinine yerleştirin- Veya
EXCEL_FILE_PATHdeğişkenini güncelleyin
python main.py- Excel satırları doğal Türkçe cümlelere dönüştürülür
- Her satır için semantic embedding oluşturulur
- Vektörler PostgreSQL'de saklanır
- Kullanıcı sorusu embedding'e dönüştürülür
- Cosine similarity ile en yakın veri satırları bulunur
- Gemini LLM ile doğal dil yanıtı üretilir
- Embedding:
intfloat/multilingual-e5-base - Vector DB: PostgreSQL + pgvector
- LLM: Google Gemini 1.5 Flash
- Backend: Python + SQLAlchemy
self.embedding_model = SentenceTransformer('başka-model-adı')
LOCAL_EMBEDDING_DIM = yeni_vektör_boyutudef query_semantic_data(self, query: str, top_k: int = 15):- İlk Çalıştırma: 5-10 dakika (embedding oluşturma)
- Sonraki Sorular: 1-3 saniye
- Bellek Kullanımı: ~2GB (model + veri)
- Vektör Arama: <100ms
1. Embedding Format Hatası
TextEncodeInput must be Union[TextInputSequence, Tuple[InputSequence, InputSequence]]
Çözüm: Kod güncellenmiş durumda, tekrar çalıştırın.
2. PostgreSQL Bağlantı Hatası
connection to server failed
Çözüm: PostgreSQL servisinin çalıştığından emin olun.
3. Gemini API Hatası
Invalid API key
Çözüm: .env dosyasında API anahtarını kontrol edin.
- GitHub: @Bor4brn
- Proje Linki: https://github.com/Bor4brn/Excel-File-Analyzer-via-RAG