CHATBOT Q&R COLLEGE
Ce projet est un chatbot de questions / réponses conçu pour répondre aux questions liées à l' Académie mondiale de technologie (GAT) en utilisant une combinaison de modèles de grande langue (LLM), de textos, de génération de récupération (RAG) et de techniques d'ingénierie rapides. Le chatbot peut traiter à la fois les entrées de texte et audio, fournissant des réponses pertinentes en fonction de l'historique de conversation et des documents préchargés.
Caractéristiques
- Entrée texte et audio : accepte les requêtes utilisateur via une entrée de texte ou un enregistrement vocal.
- Génération (RAG) (RAG) de la récupération : améliore les réponses à l'aide d'informations pertinentes récupérées à partir de documents préchargés.
- Réponses contextuelles : utilise l'historique des conversations pour fournir des réponses cohérentes et contextuellement appropriées.
- Interface rationalisée : interface conviviale construite avec Streamlit, avec des options de mode de suivi et de personnalisation de la profondeur de recherche.
Installation
Cloner le référentiel
git clone https://github.com/mahadev0811/CollegeChatbot.git
cd CollegeChatbot
Créer un environnement virtuel
python -m venv venv
source venv/bin/activate # On Windows use `venvScriptsactivate`
Installer des dépendances
pip install -r requirements.txt
Configurer la clé de l'API
- Créez un fichier
config.json dans le répertoire racine avec votre clé API Google:
{
"google_api_key" : " YOUR_GOOGLE_API_KEY "
}
Usage
Exécuter l'application
Interagir avec le chatbot
- Utilisez la zone d'entrée de texte ou l'enregistreur audio pour soumettre vos requêtes.
- Réglez les paramètres à l'aide des options de barre latérale:
- Mode des questions de suivi : Basculez pour utiliser l'historique des conversations pour les réponses.
- Profondeur de recherche : ajustez le nombre de paragraphes pour rechercher dans les documents des informations pertinentes.
Structure du projet
- ST_App.py : script d'application principal.
- Embedding_generator.py : script pour générer des intégres à partir du fichier de données.
- Webscrapper.ipynb : cahier Jupyter pour gratter les données de texte des URL pour générer le fichier de données brutes.
- config.json : fichier de configuration pour les touches API.
- exigences.txt : liste des packages Python requis.
- data_generation / gat_raw.txt : des données grattées brutes contenant des informations sur GAT.
- data_generation / gat_refined.txt : la version supervisée et éditée des données brutes.
- GAT_EMBEDDINGS.PKL : Embeddings précomposés pour le document préchargé.
Génération de données
Pour générer le fichier de données brutes initial ( gat_raw.txt ), utilisez le cahier webscrapper.ipynb . Ce carnet gratte le contenu du texte à partir d'URL et de formats donnés de manière appropriée.
Générer des intérêts
Pour générer des intégres à partir de votre fichier de données, utilisez le script embedding_generator.py . Ce script lit un fichier texte contenant les données, génère des incorporations à l'aide du modèle FlakeMedding et enregistre les intégres en tant que fichier de cornichon.
Exécution du générateur d'intégration
Préparez votre fichier de données
- Assurez-vous que votre fichier de données (par exemple, data_generation / gat_refined.txt) est dans le bon format, avec des paragraphes séparés par Double Newlines ( n n).
Exécutez le script
Exécutez le script embedding_generator.py avec le chemin d'accès à votre fichier de données comme argument:
python embedding_generator.py --data_file data_generation/gat_refined.txt
Le script générera des intégres pour les paragraphes dans le fichier de données et les enregistrera en tant que fichier de cornichon ( gat_embeddings.pkl ).
Captures d'écran
- Cette vidéo montre le chatbot en action, répondant aux questions sur GAT:
enregistrements.mp4
Crédits
- FLAGEMBEDDING: Modèle d'incorporation personnalisé utilisé pour les requêtes de codage.
- Sationlit: Framework d'applications open source pour les projets de science ML et de données.
- Transformers de face étreintes: bibliothèque pour les modèles NLP de pointe.
- API Speech-to-Text Google Cloud: Service de conversion de la parole en texte.
- Google Generative AI: utilisé pour générer des réponses.
Licence
Ce projet est autorisé en vertu de la licence MIT - voir le fichier de licence pour plus de détails.