Modèle Langchain LLM
Introduction
Ce projet Django montre comment créer un modèle d'utilisateur personnalisé et définir des modèles connexes pour les profils utilisateur, les documents PDF et les messages de chat.
Caractéristiques
- Intégration avancée de chatbot : utilise des modèles de pointe générationnelle de pointe et de langage avancé pour alimenter un chatbot qui permet aux utilisateurs d'interagir avec les documents PDF téléchargés.
- PDF Document Upload : permet aux utilisateurs de télécharger des fichiers PDF, ce qui les rend accessibles pour les requêtes basées sur le contenu.
- Réponses en temps réel : fournit des réponses de chatbot en temps réel aux requêtes utilisateur sur le contenu des documents PDF téléchargés.
- UI réactif : met en œuvre une interface utilisateur réactive, garantissant une expérience transparente sur divers appareils pour une accessibilité améliorée.
- Historique de chat : conçu et implémenté une fonction d'historique de chat, permettant aux utilisateurs de revisiter les conversations précédentes avec le chatbot, en favorisant une interaction conviviale.
- Stack de technologie : utilisé Python, Django, PYPDF2, Chatbot Frameworks, LLM, OpenAAI et bibliothèques de traitement du langage naturel pour architecter et développer ce projet solo, démontrant la maîtrise de ces technologies standard de l'industrie.
Condition préalable
Avant de commencer, assurez-vous d'avoir satisfait aux exigences suivantes:
- Python (3.x) installé sur votre système.
- Django installé (
pip install Django ). - La bibliothèque de Langchain est installée (
pip install langchain ). - Bibliothèque PYPDF2 installée (
pip install PyPDF2 ). - Clé API OpenAI (définissez-le comme une variable d'environnement nommée
OPENAI_API_KEY ).
Commencer
Installation et démarrage
Instructions détaillées sur la façon d'installer, de configurer et de faire fonctionner le projet:
- Clone The Repository:
git clone https://github.com/amanastel/llm_project.git - Accédez au répertoire du projet:
cd PDF_Based_Chatbot_AI - Créer un environnement virtuel:
python3 -m venv venv - Activez l'environnement virtuel:
source venv/bin/activate - Installer les dépendances:
pip install -r requirements.txt - Appliquer les migrations de base de données:
python manage.py migrate - Créer un superutiliser:
python manage.py createsuperuser - Exécutez le serveur de développement:
python manage.py runserver
API utilisés
- Créez un superutilisateur pour accéder au panneau d'administration:
python manage.py createsuperuser - Démarrer le serveur de développement:
python manage.py runserver - Accéder au panneau d'administration à:
http://localhost:8000/admin/ - Utilisez le panneau d'administration pour gérer les utilisateurs, les profils, les documents PDF et les messages de chat.
Points de terminaison API
- Enregistrement de l'utilisateur:
POST /api/register/ - Connexion de l'utilisateur:
POST /api/login/ - Profil utilisateur:
GET /api/profile/ - Télécharger le document PDF:
POST /api/upload-pdf/ - Liste des documents PDF:
GET /api/pdf-documents/ - Créer un message de chat:
POST /api/chat/create/ - Liste des messages de chat:
GET /api/chat/list/
Sérialiseur d'utilisateur personnalisé
Vous pouvez trouver le CustomUserSerializer dans le fichier serializers.py dans le répertoire de l'application llmApp . Ce sérialiseur est utilisé pour l'enregistrement et la connexion des utilisateurs.
Modèles
-
CustomProfile : représente les profils d'utilisateurs avec des champs étendus (téléphone et adresse). -
PDFDocument : Représente les documents PDF téléchargés associés aux utilisateurs. -
ChatMessage : représente les messages de chat avec des horodatages.
Pile technologique
- Django
- Python
- Lubriole
- Mysql
- Vue
Contributif
Les contributions sont les bienvenues! Si vous trouvez des problèmes ou souhaitez ajouter de nouvelles fonctionnalités, n'hésitez pas à ouvrir une demande de traction.
Licence
Ce projet est autorisé en vertu de la licence MIT - voir le fichier de licence pour plus de détails.