✨ Um plug-in simples baseado no modelo de IA ~ ✨
Este plug-in é apenas para entretenimento e comunicação de aprendizagem.
NaiLongRemove é um plug-in de reconhecimento NaiLong construído com um modelo simples de IA, que pode identificar emoticons NaiLong no grupo e retirá-los.
Atualmente, o plug-in suporta dois modelos, que podem ser alterados através de arquivos de configuração. Para detalhes, consulte a seção de configuração no final do documento.
Os usuários podem escolher seu modelo favorito de acordo com suas necessidades. O desempenho de ambos os modelos foi otimizado, mas ainda pode haver vários graus de erro.
Se você nunca trabalhou com NoneBot, verifique esta documentação
Basta escolher qualquer um dos métodos mencionados abaixo
nb plugin instalar nonebot-plugin-nailongremove
pip instalar nonebot-plugin-nailongremove
pdm adicionar nonebot-plugin-nailongremove
poesia adicionar nonebot-plugin-nailongremove
conda instalar nonebot-plugin-nailongremove
Abra o arquivo pyproject.toml
no diretório raiz do projeto nonebot2 e adicione-o ao item plugins
na seção [tool.nonebot]
.
[tool.nonebot]plugins = [ # ... "nonebot_plugin_nailongremove"]
Adicione a configuração necessária na tabela a seguir ao arquivo .env
do projeto nonebot2
Itens de configuração | Obrigatório | valor padrão | ilustrar |
---|---|---|---|
Configuração global | |||
PROXY | não | None | O endereço proxy usado ao baixar arquivos como modelos |
Configuração de resposta | |||
NAILONG_BYPASS_SUPERUSER | não | True | Se não deve verificar imagens enviadas por superusuários |
NAILONG_BYPASS_ADMIN | não | True | Se não deve verificar as imagens enviadas pelos administradores do grupo |
NAILONG_NEED_ADMIN | não | False | Se você não deve verificar todas as fotos do grupo quando você não é o administrador do grupo |
NAILONG_LIST_SCENES | não | [] | A lista negra e branca de ID de cena de bate-papo é o ID de bate-papo no bate-papo de nível único, como o número do grupo QQ; No chat multinível, é o ID do chat de cada nível separado por _ , como um subcanal em um canal ou um chat privado em um canal |
NAILONG_BLACKLIST | não | True | Se deve usar o modo de lista negra |
NAILONG_PRIORITY | não | 100 | Prioridade de correspondência |
configuração de comportamento | |||
NAILONG_RECALL | não | True | Se deve retirar a mensagem |
NAILONG_MUTE_SECONDS | não | 0 | Defina o tempo de muting, o padrão é 0, ou seja, nenhuma unidade de muting: segundos |
NAILONG_TIP | não | 本群禁止发奶龙! | Para enviar um prompt, use o modelo de mensagem da Alconna. As variáveis disponíveis são mostradas abaixo. |
NAILONG_FAILED_TIP | não | {:Reply($message_id)}呜,不要发奶龙了嘛? ?? | Prompt enviado quando o recall falha ou está desabilitado, igual ao acima |
Configuração geral do modelo | |||
NAILONG_MODEL_DIR | não | ./data/nailongremove | Baixar localização do modelo |
NAILONG_MODEL | não | 0 | Selecione o modelo a ser carregado Os modelos disponíveis são mostrados abaixo. |
NAILONG_AUTO_UPDATE_MODEL | não | True | Se deve atualizar automaticamente o modelo |
NAILONG_CONCURRENCY | não | 1 | Quando a imagem é uma imagem em movimento, o número máximo de molduras de imagem reconhecidas simultaneamente para a imagem |
NAILONG_ONNX_TRY_TO_USE_GPU | não | True | Se tentar usar a GPU ao carregar o modelo onnx. Se falhar, uma série de avisos será exibida, mas não terá impacto no plug-in. Se você não quiser ver os avisos, basta fechar este item de configuração. |
Configuração específica do modelo 1 | |||
NAILONG_MODEL1_YOLOX_SIZE | não | [416,416] | Para o modelo 1, as entradas do modelo personalizado podem ter alterações de tamanho |
NAILONG_MODEL1_TYPE | não | tiny | Modelo 1 O tipo de modelo utilizado, disponível tiny / m |
NAILONG_MODEL1_SCORE | não | 0.5 | Limite de confiança do modelo 1, faixa 0 ~ 1 |
Configuração diversa | |||
NAILONG_GITHUB_TOKEN | não | None | GitHub Access Token, você pode tentar preenchê-lo se tiver problemas para baixar ou atualizar o modelo. |
0
: Inferência baseada no treinamento do modelo de classificação de imagens Renet50, obrigado a @ spawner1145 por fornecer o modelo, link original: spawner1145/NailongRecognize
1
: Inferência de treinamento baseada no modelo de detecção de alvo YOLOX, obrigado a @NKXingXh por fornecer o modelo, link original: nkxingxh/NailongDetection
nome da variável | tipo | ilustrar |
---|---|---|
$event | Event | eventos atuais |
$target | Target | alvo do evento |
$message_id | str | ID da mensagem |
$msg | UniMessage | notícias atuais |
$ss | Session | sessão atual |
$checked_image | bytes | A imagem após o alvo correspondente ser selecionado no quadro, só existe quando a configuração do modelo é 1 |
Assim que alguém reconhecer o emoticon Milk Dragon, ele será retirado e lembrado.
Grupo de comunicação oficial Nonebot2: 768887710 (perguntas básicas sobre instalação e implantação podem ser feitas aqui)
Grupo de Aprendizagem e Intercâmbio de Inteligência Artificial: 949992679 (Você pode vir aqui para aprender e trocar tecnologias relacionadas à IA)
Grupo de intercâmbio de aprendizagem do plug-in do robô: 200980266 (Feedback sobre a precisão do modelo BUG do robô e outros problemas podem ser encontrados aqui)
Bem-vindos a todos para se juntarem ao grupo para aprender e se comunicarem juntos ~
Modelo de otimização atualizado automaticamente (possivelmente otimização reversa)
Renomeie o item de configuração NAILONG_YOLOX_SIZE
-> NAILONG_MODEL1_YOLOX_SIZE
O modelo 1 agora pode obter automaticamente a versão mais recente ou você pode selecionar o tipo de modelo a ser usado por meio da configuração
O Modelo 1 agora pode controlar o limite de confiança de reconhecimento por meio de itens de configuração
Ao carregar o modelo onnx, ele tentará usar a GPU por padrão. Se falhar, uma série de avisos será exibida. Se você não quiser ver os avisos, consulte acima para desligar a configuração correspondente.
Corrija o bug de que a configuração NAILONG_NEED_ADMIN
não entra em vigor
Corrigido o bug de ignorar o gerenciamento de grupo e o superusuário ser inválido
Refatore algum código e corrija possíveis bugs
Adicionada variável $checked_image
Baixe o modelo do repositório original
Refatore o plug-in para adaptá-lo a múltiplas plataformas
Dois novos modelos foram atualizados para otimizar a precisão do modelo. Os usuários podem escolher um deles para inferência.
Funções adicionadas, como banimento, listas negras e brancas de grupos e, opcionalmente, desativação da detecção de administrador
Adicionada opção de modelo de atualização automática