Code pour un bot télégramme? spécial sur Pytorch LLM alimenté
Ce projet vise à simuler un texte Mesagge Chatbot pour discuter de Pytorch
Dans cette architecture rationalisée, l'histoire du chatbot sert de référentiel central de l'histoire d'interaction, soutenant à la fois la récupération du contexte historique et la journalisation de nouvelles interactions, y compris les réponses complètes du LLM. L'interface utilisateur de chatbot, le retriever, la base de données vectorielle, le stockage rapide et le LLM jouent tous des rôles dans une boucle de conversation fluide, offrant à l'utilisateur une expérience de chat transparente.
+--------+--------+ (11)
| |
| Chatbot UI |
| |
+--------+--------+
^
|
(2) input|(10) output
v
+--------+-----------+
| | (9) response content
| Chatbot History +<-------------------------------+
| | |
+--------+-----------+ |
| |
| (3) message |
v ^
+-------------------+ +---------+------------+ (4) +---------+-----------+
| | | | | |
|Vector Database ? +---------->| Retriever ? | | requests History ? |
| | | | | |
+-------------------+ +---------+------------+ +---------+-----------+
| ^
| (5) Augmented message |
v |
+--------+---------+ (6) |
| | |
|Prompt Storage | |
| | |
+--------+---------+ |
| |
| (7) Augmented prompt with LLM params |
| |
v |
+--------+-----------+ |
| | |
| LLM ? | (8) Generated response |
| (Large Language +--------------------------------+
| Model) |
| |
+--------------------+
Avant de commencer, assurez-vous d'avoir les conditions préalables suivantes:
.env il n'est pas ignoré sur le repo Suivez ces étapes pour configurer et exécuter le projet:
Clone le référentiel:
git clone [email protected]:DLesmes/torchbot.git
cd torchbot
Configurez un environnement virtuel Python avec les exigences.txt:
python3 -m venv venv
source venv/bin/activate
python3 -m pip install -r requirements.txt
Exécutez le serveur:
python3 main.py
Vous pouvez également le déboguer dans votre IDE préféré.
Par défaut, un fichier History.json sera créé simulant une base de données sans SQL qui peut être développée pour les versions suivantes, ce fichier est comme ceci:
{
"<user_id>": [
{
"full_chat": [
{
"reply_id": srt, // reply id
"role": "system", // by default the first reply role is the "system"
"content": srt, // message content
"timestamp": int, // timestamp in milliseconds
},
{
"reply_id": str, // reply id
"role": "user", // by default the second reply role is the "user"
"content": srt, // message content
"timestamp": int, // timestamp in milliseconds
},
{
"reply_id": str, // reply id
"role": "assitant", // by default the third reply role is the "assistant"
"content": srt, // message content
"timestamp": int, // timestamp in milliseconds
},
{
"reply_id": str, // reply id
"role": str, // role of the user
"content": srt, // message content
"timestamp": int, // timestamp in milliseconds
}
]
}
]
}
Par défaut, un fichier remergs.json sera créé simulant une base de données sans SQL qui peut être développée pour les versions suivantes, ce fichier est comme ceci:
{
"<reply_id>": [
{
"user_id": srt, // reply id
"prompt": srt, // message content
"response": int, // timestamp in milliseconds
"timestamp": int, // timestamp in milliseconds
}
]
}
N'hésitez pas à contribuer et à rendre ce projet de chatbot encore meilleur! Nous accueillons les contributions de la communauté! Si vous souhaitez contribuer, veuillez suivre ces étapes:
git checkout -b feature/YourFeatureNamegit commit -am 'Add some feature'git push origin feature/YourFeatureNamePour toute question ou suggestion, n'hésitez pas à contacter mon profil