✨ Un simple plug-in basé sur un modèle d'IA ~ ✨
Ce plug-in est uniquement destiné à la communication de divertissement et d’apprentissage.
NaiLongRemove est un plug-in de reconnaissance NaiLong construit avec un modèle d'IA simple, qui peut identifier les émoticônes NaiLong dans le groupe et retirer les émoticônes.
Actuellement, le plug-in prend en charge deux modèles, qui peuvent être modifiés via les fichiers de configuration. Pour plus de détails, consultez la section de configuration au bas du document.
Les utilisateurs peuvent choisir leur modèle préféré en fonction de leurs besoins. Les performances des deux modèles ont été optimisées, mais il peut encore y avoir différents degrés d'erreur. Vous êtes également invités à continuer à nous faire part de vos commentaires.
Si vous n'avez jamais travaillé avec NoneBot, veuillez consulter cette documentation
Choisissez simplement l’une des méthodes mentionnées ci-dessous
nb plugin installer nonebot-plugin-nailongremove
pip install nonebot-plugin-nailongremove
pdm ajouter nonebot-plugin-nailongremove
poésie ajouter nonebot-plugin-nailongremove
conda installe nonebot-plugin-nailongremove
Ouvrez le fichier pyproject.toml
dans le répertoire racine du projet nonebot2 et ajoutez-le à l'élément plugins
dans la section [tool.nonebot]
.
[tool.nonebot]plugins = [ # ... "nonebot_plugin_nailongremove"]
Ajoutez la configuration requise dans le tableau suivant au fichier .env
du projet nonebot2
Éléments de configuration | Requis | valeur par défaut | illustrer |
---|---|---|---|
Configuration globale | |||
PROXY | Non | None | L'adresse proxy utilisée lors du téléchargement de fichiers tels que des modèles |
Configuration de la réponse | |||
NAILONG_BYPASS_SUPERUSER | Non | True | S'il ne faut pas vérifier les images envoyées par les superutilisateurs |
NAILONG_BYPASS_ADMIN | Non | True | S'il ne faut pas vérifier les images envoyées par les administrateurs du groupe |
NAILONG_NEED_ADMIN | Non | False | S'il ne faut pas vérifier toutes les images du groupe lorsque vous n'êtes pas l'administrateur du groupe |
NAILONG_LIST_SCENES | Non | [] | La liste noire et blanche des ID de scène de discussion est l'ID de discussion sous une discussion à un seul niveau, tel que le numéro de groupe QQ ; Dans le cas d'une discussion à plusieurs niveaux, il s'agit de l'ID de discussion de chaque niveau séparé par _ , comme un sous-canal sous un canal ou une discussion privée sous un canal. |
NAILONG_BLACKLIST | Non | True | S'il faut utiliser le mode liste noire |
NAILONG_PRIORITY | Non | 100 | Priorité du correspondant |
configuration du comportement | |||
NAILONG_RECALL | Non | True | S'il faut retirer le message |
NAILONG_MUTE_SECONDS | Non | 0 | Réglez le temps d'inhibition, la valeur par défaut est 0, c'est-à-dire aucune unité d'inhibition : secondes |
NAILONG_TIP | Non | 本群禁止发奶龙! | Pour envoyer une invite, utilisez le modèle de message d'Alconna. Les variables disponibles sont indiquées ci-dessous. |
NAILONG_FAILED_TIP | Non | {:Reply($message_id)}呜,不要发奶龙了嘛? ?? | Invite envoyée lorsque le rappel échoue ou est désactivé, comme ci-dessus |
Configuration générale du modèle | |||
NAILONG_MODEL_DIR | Non | ./data/nailongremove | Emplacement de téléchargement du modèle |
NAILONG_MODEL | Non | 0 | Sélectionnez le modèle à charger. Les modèles disponibles sont indiqués ci-dessous. |
NAILONG_AUTO_UPDATE_MODEL | Non | True | S'il faut mettre à jour automatiquement le modèle |
NAILONG_CONCURRENCY | Non | 1 | Lorsque l'image est une image animée, le nombre maximum de cadres photo reconnus simultanément pour l'image |
NAILONG_ONNX_TRY_TO_USE_GPU | Non | True | S'il faut essayer d'utiliser le GPU lors du chargement du modèle onnx. En cas d'échec, une série d'avertissements s'affichera mais n'aura aucun impact sur le plug-in. Si vous ne souhaitez pas voir d'avertissements, fermez simplement cet élément de configuration. |
Configuration spécifique au modèle 1 | |||
NAILONG_MODEL1_YOLOX_SIZE | Non | [416,416] | Pour le modèle 1, les entrées du modèle personnalisé peuvent avoir des changements de taille |
NAILONG_MODEL1_TYPE | Non | tiny | Modèle 1 Le type de modèle utilisé, disponible tiny / m |
NAILONG_MODEL1_SCORE | Non | 0.5 | Seuil de confiance du modèle 1, plage 0 ~ 1 |
Configuration diverses | |||
NAILONG_GITHUB_TOKEN | Non | None | GitHub Access Token, vous pouvez essayer de le remplir si vous rencontrez des problèmes de téléchargement ou de mise à jour du modèle. |
0
: Inférence basée sur la formation du modèle de classification d'images Renet50, merci à @spawner1145 pour avoir fourni le modèle, lien d'origine : spawner1145/NailongRecognize
1
: Inférence de formation basée sur le modèle de détection de cible YOLOX, grâce à @NKXingXh pour avoir fourni le modèle, lien original : nkxingxh/NailongDetection
nom de la variable | taper | illustrer |
---|---|---|
$event | Event | événements actuels |
$target | Target | cible de l'événement |
$message_id | str | Identifiant du message |
$msg | UniMessage | actualités actuelles |
$ss | Session | session en cours |
$checked_image | bytes | L'image après la sélection de la cible correspondante dans le cadre n'existe que lorsque la configuration du modèle est 1 |
Dès que quelqu'un reconnaît l'émoticône Milk Dragon, elle sera retirée et rappelée.
Groupe de communication officiel d'Nonebot2 : 768887710 (des questions de base sur l'installation et le déploiement peuvent être posées ici)
Groupe d'apprentissage et d'échange sur l'intelligence artificielle : 949992679 (vous pouvez venir ici pour apprendre et échanger des technologies liées à l'IA)
Groupe d'échange d'apprentissage sur les plug-ins de robot : 200980266 (les commentaires sur la précision du modèle de BUG du robot et d'autres problèmes peuvent être trouvés ici)
Invitez tout le monde à rejoindre le groupe pour apprendre et communiquer ensemble~
Modèle d'optimisation mis à jour automatiquement (éventuellement optimisation inversée)
Renommez l'élément de configuration NAILONG_YOLOX_SIZE
-> NAILONG_MODEL1_YOLOX_SIZE
Le modèle 1 peut désormais obtenir automatiquement la dernière version, ou vous pouvez sélectionner le type de modèle à utiliser via la configuration
Le modèle 1 peut désormais contrôler le seuil de confiance de la reconnaissance via des éléments de configuration
Lors du chargement du modèle onnx, il tentera d'utiliser le GPU par défaut. En cas d'échec, une série d'avertissements s'affichera. Si vous ne souhaitez pas voir les avertissements, reportez-vous à ce qui précède pour désactiver la configuration correspondante.
Correction du bug selon lequel la configuration de NAILONG_NEED_ADMIN
ne prend pas effet
Correction du bug d'ignorance de la gestion des groupes et de l'invalidation du super utilisateur
Refactorisez du code et corrigez les bugs potentiels
Variable ajoutée $checked_image
Téléchargez le modèle depuis le référentiel d'origine
Refactoriser le plug-in pour l'adapter à plusieurs plateformes
Deux nouveaux modèles ont été mis à jour pour optimiser la précision du modèle. Les utilisateurs peuvent en choisir un pour l'inférence.
Ajout de fonctions telles que l'interdiction, la liste noire et blanche des groupes, la désactivation facultative de la détection de l'administrateur, etc.
Ajout d'une option de modèle de mise à jour automatique