Ce projet met en œuvre un système de réponse à la question (QA) pour la documentation CUDA. Il exploite la documentation NVIDIA CUDA, traite les données, les stocke dans une base de données vectorielle et utilise des techniques de récupération avancées pour répondre aux requêtes utilisateur.
Les principales dépendances de ce projet sont:
Pour une liste complète des dépendances, reportez-vous au fichier requirements.txt .
Assurez-vous que vous avez un serveur Milvus en cours d'exécution. Reportez-vous à la documentation Milvus pour les instructions d'installation et de configuration.
Exécutez le script principal: 3. Le système commencera par ramper la documentation CUDA, le traitement des données et les stocker dans la base de données Milvus. Cette configuration initiale peut prendre un certain temps.
Une fois la configuration terminée, vous pouvez commencer à poser des questions sur CUDA. Le système fournira des réponses en fonction des informations récupérées.
Pour quitter le système, tapez «quit» lorsqu'il est invité à une question.
main.py : le script principal qui orchestre l'ensemble du processus.crawler/web_crawler.py : contient la logique de rampe Web.data_processing/chunking.py : implémente les techniques avancées de section de données.data_processing/embedding.py : gère la création d'embeddings vectoriels.vector_db/milvus_db.py : gère les interactions avec la base de données Milvus.retrieval/query_expansion.py : implémente les techniques d'extension de requête.retrieval/hybrid_retrieval.py : contient la logique de récupération hybride.qa/llm_qa.py : gère le processus de réponse aux questions à l'aide d'un modèle de langue. SentenceTransformer dans main.pycrawl_data (actuellement réglée à 5 niveaux).top_k dans l'appel de méthode retrieve . Si vous rencontrez des problèmes:
Pour tout problème persistant, veuillez ouvrir un problème dans le référentiel GitHub.