Ce projet est un système de génération (RAG) de la récupération de la conversation conversationnelle qui permet aux utilisateurs de télécharger des fichiers PDF, d'extraire le contenu et de poser des questions sur le contenu téléchargé. Le système garde une trace de l'historique du chat et contextualise les questions des utilisateurs en fonction de la conversation passée pour fournir des réponses pertinentes.
L'application est construite avec Streamlit pour l'interface utilisateur, intègre le GROQ pour le LLM (modèle de langue) et Chroma en tant que magasin vectoriel pour gérer les intégres et la récupération des documents. Le flux conversationnel est maintenu avec l'historique du chat pour permettre un réponses de questions avec état.
HuggingFaceEmbeddings pour créer des intégres de documents et récupérer le contenu pertinent. Pour exécuter ce projet, vous avez besoin de ce qui suit:
Clone le référentiel:
git clone https://github.com/yourusername/conversational-rag-with-pdf.git
cd conversational-rag-with-pdfCréer un environnement virtuel:
python3 -m venv venv
source venv/bin/activate # On Windows, use `venvScriptsactivate`Installez les dépendances requises:
pip install -r requirements.txtConfigurer des variables d'environnement:
Créez un fichier .env dans le répertoire racine et ajoutez vos touches API:
touch .env À l'intérieur du fichier .env , ajoutez ce qui suit:
HF_TOKEN=your_huggingface_token
GROQ_API_KEY=your_groq_api_keyExécutez l'application:
streamlit run utils.pyLorsque vous lancez l'application, vous devrez d'abord saisir votre touche API GROQ. Cela est nécessaire pour effectuer la modélisation du langage et la réponse aux questions.
Cliquez sur le bouton Choisissez un fichier PDF pour télécharger un ou plusieurs fichiers PDF. Le contenu des PDF sera traité et divisé en morceaux pour une récupération efficace.
Après avoir téléchargé des PDF, vous pouvez poser des questions liées au contenu des fichiers téléchargés. L'assistant répondra sur la base du contexte fourni par les PDF et l'historique de chat précédent.
Le système suit l'historique de la conversation. Vous pouvez voir l'histoire de la session et l'assistant utilise cette histoire pour répondre aux questions de suivi dans son contexte.
Gemma2-9b-It .Si vous rencontrez des problèmes tels que des erreurs de clés de l'API ou des problèmes de téléchargement de fichiers, assurez-vous que:
pip install -r requirements.txt .