Bu proje, Streamlit tabanlı RAG asistanıdır. Asistan, PDF'lerden alınan bilgilere dayanarak yanıtlar üretmek için bir LLM kullanır.
- Vektör Veritabanı (Vector Database): Dokümanların anlamsal içeriğini depolamak ve verimli bir şekilde aramak için ChromaDB kullanılmaktadır. Kullanıcının sorgusuyla en alakalı metin parçalarını bulmak için vektör gömülmeleri (vector embeddings) üzerinde benzerlik araması yapar.
- RAG Pipeline: LangChain kütüphanesi, PDF işleme, metin bölme (text splitting), gömülme (embedding) oluşturma ve LLM ile etkileşim gibi RAG akışının temel adımlarını yönetmek için kullanılır.
- Kullanıcı Arayüzü (UI): Arayüz, hızla etkileşimli veri uygulamaları oluşturmak için popüler bir Python kütüphanesi olan Streamlit ile geliştirilmiştir.
- Dil Modeli (LLM): Yanıtların üretilmesi için Together AI tarafından sağlanan bir dil modeli entegre edilmiştir.
- PDF İşleme: İşlenmek ve dizine eklenmek üzere bir veya daha fazla PDF dosyası yükleyin.
- Anlamsal Arama: Soruları doğal dilde sorun ve belgelerden ilgili bağlamı alın.
- Sohbet Yapay Zekası: PDF içeriğine dayalı olarak sorularınızı yanıtlayan bir yapay zeka asistanı ile etkileşim kurun.
- Kaynak Gösterimi: Yanıtı oluşturmak için kullanılan PDF kaynaklarını görüntüleyin.
- Python 3.8+
- Together AI veya başka bir LLM sağlayıcısından bir API anahtarı.
-
Depoyu klonlayın:
git clone https://github.com/kullanici-adiniz/Streamlit-RAG-Assistant.git cd Streamlit-RAG-AssistantNot:
kullanici-adinizkısmını kendi GitHub kullanıcı adınızla güncellemeyi unutmayın. -
Sanal bir ortam oluşturun ve etkinleştirin:
python -m venv venv source venv/bin/activate # Windows'ta `venv\Scripts\activate` komutunu kullanın.
-
Bağımlılıkları yükleyin:
pip install -r requirements.txt
-
Ortam değişkenlerinizi ayarlayın:
Projenin kök dizininde
.envadında bir dosya oluşturun ve Together AI API anahtarınızı ekleyin:TOGETHER_API_KEY="api_anahtariniz_buraya_gelecek"
-
PDF dosyalarınızı
filesklasörüne yerleştirin. -
Streamlit uygulamasını çalıştırın:
streamlit run src/main.py
-
Web tarayıcınızı açın ve
http://localhost:8501adresine gidin.