PDF Gaia ve Qdrant ile Soru-Cevap
Gaia PDF RAG, kullanıcıların yerel bir Gaia düğümü ve Qdrant vektör veritabanı kullanarak PDF belgeleri hakkında sorular sormasına olanak tanıyan bir Alma-Artırılmış Üretim (RAG) uygulamasıdır. Doğru, bağlama duyarlı yanıtlar sağlamak için yerel LLM'lerin gücünü verimli vektör aramasıyla birleştirir.
Bu örneği kurmak ve çalıştırmak için tüm kaynak kodu ve ayrıntılı talimatlar Gaia Cookbook deposunda bulunabilir.
Neler Öğrenebilir ve İnşa Edebilirsiniz?
Bu örneği keşfederek ve uyarlayarak nasıl yapılacağını öğrenebilirsiniz:
- PDF Belgelerini İşleyin ve Parçalara Ayırın: Etkili erişim için PDF dosyalarını yönetilebilir parçalara ayırmakla ilgili adımları anlayın.
- Qdrant ile Anlamsal Arama Uygulayın: Belge yığınlarınızda verimli ve bağlama duyarlı arama yapmak için bir vektör veritabanından nasıl yararlanabileceğinizi görün.
- Gaia aracılığıyla Yerel LLM'leri Entegre Edin: Soru yanıtlama için yerel olarak barındırılan dil modellerinin gücünden yararlanmak üzere yerel Gaia düğümünüze nasıl bağlanacağınızı öğrenin.
- Çapraz Kodlayıcı Yeniden Sıralaması ile Alaka Düzeyini Artırın: Arama sonuçlarını iyileştirmek ve alınan bilgilerin doğruluğunu artırmak için teknikleri keşfedin.
- Akış Yanıtları ile Sorunsuz Bir Kullanıcı Deneyimi Sağlayın: Yanıt oluşturulurken kullanıcılar için gerçek zamanlı geri bildirim uygulayın.
- Akıllı Kaynak Atıfları ile Güvenilirliği Sağlayın: Her yanıt için kaynak belgelere nasıl açık referanslar sağlayacağınızı öğrenin.
- Alaka Filtreleme ile Halüsinasyonları Azaltın: Alakasız bilgileri filtrelemek ve yanlış yanıt olasılığını azaltmak için stratejileri keşfedin.
- Özelleştirilebilir bir PDF Soru-Cevap Botu Oluşturun: Bu örnek, belirli PDF belgeleri veya koleksiyonları için kendi soru-cevap sisteminizi uyarlamanız ve dağıtmanız için sağlam bir temel sağlar.
Gösterilen Temel Özellikler:
- 📑 PDF Belge İşleme ve Yığınlama: PDF dosyalarından içerik çıkarma ve segmentasyon işlemlerini etkin bir şekilde gerçekleştirir.
- 🔍 Qdrant kullanarak Anlamsal Arama: İlgili belge parçalarının akıllıca alınması için vektör katıştırmalarından yararlanır.
- 🤖 Gaia düğümü aracılığıyla Yerel LLM Entegrasyonu: Alınan bağlama dayalı yanıtlar oluşturmak için yerel olarak çalışan LLM'nize bağlanır.
- ️ Gelişmiş alaka düzeyi için çapraz kodlayıcı yeniden sıralaması: Daha sofistike bir sıralama modeli uygulayarak arama sonuçlarını optimize eder.
- 💨 Daha iyi kullanıcı deneyimi için yanıt akışı: Daha etkileşimli ve duyarlı bir kullanıcı deneyimi sağlar.
- 🎯 Akıllı kaynak gösterimi: Her bir cevabı oluşturmak için kullanılan kaynak belgeleri açıkça belirtir.
- ⚡ Halüsinasyonları önlemek için alaka filtreleme: Daha az ilgili bilgileri filtreleyerek cevapların güvenilirliğini artırır.
Başlarken:
Ön Koşullar
Gaia RAG'ı çalıştırmadan önce, sahip olduğunuzdan emin olun:
- Çalışan yerel bir Gaia düğümü (Kendi yerel LLM'nizi nasıl çalıştıracağınızı öğrenmek için bu bağlantıyı kontrol edin: https://docs.gaianet.ai/node-guide/quick-start)
- Qdrant sunucusu çalışıyor
- Python 3.8+
- PDF işleme için gerekli sistem kütüphaneleri
Kurulum
- Depoyu klonlayın:
git clone https://github.com/harishkotra/gaia-pdf-rag.git
cd gaia-pdf-rag
- Sanal bir ortam oluşturun:
python -m venv venv
source venv/bin/activate # Windows üzerinde kullanım: venv\Scripts\activate
- Bağımlılıkları yükleyin:
pip install -r requirements.txt
Bileşenlerin Kurulumu
1. Gaia Düğümü
Yerel Gaia düğümünüzü başlatın:
gaianet init
gaianet başlangıç
2. Qdrant Sunucu
Docker kullanarak Qdrant'ı başlatın:
docker run -d -p 6333:6333 -p 6334:6334 \
-v $(pwd)/qdrant_storage:/qdrant/storage \
qdrant/qdrant
Uygulamayı Çalıştırma
-
Hem Gaia node'un hem de Qdrant'ın çalıştığından emin olun
-
Streamlit uygulamasını başlatın:
streamlit run app.py
- Tarayıcınızı şu adreste açın
http://localhost:8501
Kullanım
- Kenar çubuğunu kullanarak bir PDF belgesi yükleyin
- İndekslemek için "Belgeyi İşle "ye tıklayın
- Ana giriş alanında sorular sorun
- Cevapları ve ilgili kaynak belgeleri görüntüleyin
Konfigürasyon
Aşağıdaki parametreleri şuradan değiştirebilirsiniz app.py
:
GAIA_NODE_URL
: Yerel Gaia düğümünüzün URL'siQDRANT_HOST
: Qdrant sunucu ana bilgisayarıQDRANT_PORT
: Qdrant sunucu bağlantı noktasıVECTOR_SIZE
: Gömme boyut boyutuCOLLECTION_NAME
: Vektör veritabanı koleksiyonu için ad
Proje Yapısı
gaia-pdf-rag/
├── app.py # Ana Streamlit uygulaması
├── requirements.txt # Python bağımlılıkları
├── .gitignore # Gitignore dosyası
├── README.md
Bu örneği kurmak ve çalıştırmak için tüm kaynak kodu ve ayrıntılı talimatlar Gaia Cookbook deposunda bulunabilir.