-
-
Notifications
You must be signed in to change notification settings - Fork 1
Ai Mode Beta
O módulo de IA do Mwsm permite que o sistema interaja automaticamente com usuários, aprenda com perguntas anteriores e utilize modelos de linguagem (LLMs) via OpenRouter ou processamento local através de embeddings.
⚠️ Atenção:
Para utilizar o modo de IA (Beta Test), é obrigatório criar um token de acesso no OpenRouter.
Sem esse token, o sistema não conseguirá se comunicar com os modelos de IA hospedados na nuvem.
- Acesse 👉 https://openrouter.ai/
- Crie sua conta (Google, GitHub ou e-mail).
- Vá em Settings → API Keys.
- Clique em “+ Create Key”.
- Copie o token gerado (exemplo:
sk-or-v1-12345abcd...).
Grave o token diretamente via comando único:
sqlite3 /var/api/Mwsm/mwsm.db "UPDATE options SET keygen = 'SEU_TOKEN_AQUI' WHERE id = 1;" ".exit"✅ Dica: A IA Beta Test só funcionará se o token estiver ativo e válido.
Valor padrão: 2
Descrição: Define o modo de operação da IA:
-
0= apenas nuvem (OpenRouter) -
1= apenas local (sem aprendizado) -
2= híbrido (usa nuvem + aprendizado local)
Alterar via SQLite:
sqlite3 /var/api/Mwsm/mwsm.db "UPDATE options SET aimode = 2 WHERE id = 1;" ".exit"Valor padrão: "freerouter"
Descrição: Define qual modelo de IA será utilizado para processar respostas automáticas e interações com usuários.
Os modelos estão divididos entre gratuitos (Free) e premium (Pago).
O FreeRouter é o modo padrão e mais seguro do sistema.
Ele utiliza o mecanismo interno do Mwsm para rotear automaticamente entre modelos gratuitos (Free) que estejam ativos e respondendo.
- O FreeRouter não utiliza modelos Premium (level = 1).
- Quando uma IA gratuita falha, ele testa outras IAs free disponíveis até obter uma resposta funcional.
- Se nenhuma IA gratuita responder, o sistema retorna um erro controlado:
⚠️ Erro: IA fora (todas as IAs gratuitas indisponíveis) - Ideal para modo Beta Test, ambientes sem crédito, ou quando se deseja garantir disponibilidade gratuita.
💡 Recomendado: Utilize
"freerouter"sempre que quiser estabilidade sem depender de tokens premium.
Quando o operador escolhe uma família específica, como "DeepSeek", o Mwsm testa todas as variações daquela família até encontrar uma funcional.
- Se nenhuma versão responder, é retornado o erro:
⚠️ Erro: IA fora (todas as variantes indisponíveis) - Esse modo é útil para focar em um grupo de modelos específicos, mas pode reduzir a disponibilidade.
⚠️ Atenção: ao escolher uma família específica, o sistema não alterna entre famílias; o fallback ocorre apenas dentro do mesmo grupo.
O FreeRouter, por outro lado, alterna entre qualquer IA gratuita compatível, oferecendo maior confiabilidade.
-
DeepSeek — 4 variações
deepseek/deepseek-chat-v3.1:freedeepseek/deepseek-r1-0528:freedeepseek/deepseek-r1-distill-llama-70b:freedeepseek/deepseek-chat-v3-0324:free
-
Mistral — 2 variações
mistralai/mistral-small-3.2-24b:freemistralai/mistral-nemo:free
-
Llama — 2 variações
meta-llama/llama-3.1-8b-instruct:freemeta-llama/llama-3.2-1b-instruct:free
-
Gemini — 2 variações
google/gemini-1.5-flash-8b:freegoogle/gemini-1.5-pro:free
-
Qwen — 2 variações
qwen/qwen2.5-7b-instruct:freeqwen/qwen2.5-coder-7b-instruct:free
-
MoonshotAI — 2 variações
moonshotai/moonlight-8b:freemoonshotai/moonlight-1.5:free
-
NVIDIA — 1 variação
nvidia/nemotron-4-340b-instruct:free
-
Meta — 1 variação
meta/meta-embeddings-text:free
-
Anthropic — 1 variação
anthropic/claude-3.5-haiku:free
-
OpenAI — 4 variações
openai/gpt-4o:premiumopenai/gpt-4o-mini:premiumopenai/gpt-4-turbo:premiumopenai/gpt-5:premium
-
Anthropic — 3 variações
anthropic/claude-3.5-sonnet:premiumanthropic/claude-3-opus:premiumanthropic/claude-3.7-sonnet:premium
-
xAI — 2 variações
xai/grok-3:premiumxai/grok-4:premium
-
Mistral — 2 variações
mistralai/mistral-large-2411:premiummistralai/mixtral-8x22b:premium
-
DeepSeek — 2 variações
deepseek/deepseek-r1-distill-qwen-32b:premiumdeepseek/deepseek-v3.2-exp:premium
-
Gemini — 4 variações
google/gemini-2.5-pro:premiumgoogle/gemini-2.5-flash:premiumgoogle/gemini-2.5-flash-lite:premiumgoogle/gemini-2.5-flash-image:premium
-
Meta — 2 variações
meta-llama/llama-4-maverick:premiummeta-llama/llama-3.1-405b-instruct:premium
-
Qwen — 3 variações
qwen/qwen3-max:premiumqwen/qwen3-vl-23b:premiumqwen/qwen3.5-coder-32b:premium
-
Amazon — 1 variação
amazon/nova-pro-1.0:premium
-
Microsoft — 1 variação
microsoft/wizardlm-8x22b:premium
-
Perplexity — 2 variações
perplexity/sonar:premiumperplexity/sonar-pro:premium
-
Mistral (extra) — 1 variação
mistralai/codestral-phi-4:premium
Alterar via SQLite:
sqlite3 /var/api/Mwsm/mwsm.db "UPDATE options SET engine = 'freerouter' WHERE id = 1;" ".exit"Valor padrão: 0.75
Descrição: Define o grau mínimo de similaridade entre perguntas para considerar uma resposta local. (Recomendado entre 0.5 e 0.9.)
Alterar via SQLite:
sqlite3 /var/api/Mwsm/mwsm.db "UPDATE options SET threshold = 0.8 WHERE id = 1;" ".exit"Valor padrão: "Você é um assistente do provedor..."
Descrição: Mensagem inicial enviada à IA em todas as requisições.
Alterar via SQLite:
sqlite3 /var/api/Mwsm/mwsm.db "UPDATE options SET prompt = 'Você é o assistente virtual do provedor.' WHERE id = 1;" ".exit"Valor padrão: 15000 (ms)
Descrição: Tempo máximo de espera pela resposta do OpenRouter.
Alterar via SQLite:
sqlite3 /var/api/Mwsm/mwsm.db "UPDATE options SET aitimeout = 30000 WHERE id = 1;" ".exit"Valor padrão: 3
Descrição: Número máximo de tentativas com modelos diferentes em caso de falha.
Alterar via SQLite:
sqlite3 /var/api/Mwsm/mwsm.db "UPDATE options SET aimaxattempts = 5 WHERE id = 1;" ".exit"Valor padrão: 1000
Descrição: Limite máximo de registros de aprendizado armazenados localmente.
Alterar via SQLite:
sqlite3 /var/api/Mwsm/mwsm.db "UPDATE options SET maxknowledge = 2000 WHERE id = 1;" ".exit"Valor padrão: 127.0.0.1
Descrição: Host do servidor de embeddings (Python).
Alterar via SQLite:
sqlite3 /var/api/Mwsm/mwsm.db "UPDATE options SET mwsmhost = '127.0.0.1' WHERE id = 1;" ".exit"Valor padrão: 5005
Descrição: Porta usada pelo servidor Python de embeddings.
Alterar via SQLite:
sqlite3 /var/api/Mwsm/mwsm.db "UPDATE options SET mwsmport = 5005 WHERE id = 1;" ".exit"Valor padrão: "SP"
Descrição: UF usada para ajustar saudações dinâmicas (bom dia/tarde/noite).
Alterar via SQLite:
sqlite3 /var/api/Mwsm/mwsm.db "UPDATE options SET timezone = 'PR' WHERE id = 1;" ".exit"Armazena o aprendizado local (somente ativo com aimode = 2).
Campos principais:
-
question→ pergunta feita pelo usuário -
answer→ resposta gerada -
embedding→ vetor de embedding (256 posições) -
usage_count→ número de reutilizações -
source→"local"ou"cloud"
Excluir aprendizado específico:
sqlite3 /var/api/Mwsm/mwsm.db "DELETE FROM inteligence WHERE question LIKE '%senha%';" ".exit"Define as palavras que identificam temas relevantes para resposta da IA.
Valores padrão:
internet
conexão
wifi
velocidade
suporte
⚠️ Somente leitura: O sistema apenas lê (SELECT) — não grava nem altera automaticamente.
Adicionar palavra-chave manualmente:
sqlite3 /var/api/Mwsm/mwsm.db "INSERT INTO keywords (filter) VALUES ('roteador');" ".exit"Contém as palavras reconhecidas como cumprimentos automáticos.
Valores padrão:
oi
olá
bom dia
boa tarde
boa noite
⚠️ Somente leitura: O código apenas lê via SELECT, sem executar INSERT, UPDATE ou DELETE.
Adicionar novo cumprimento manualmente:
sqlite3 /var/api/Mwsm/mwsm.db "INSERT INTO greetings (word) VALUES ('boa madrugada');" ".exit"O componente Python roda localmente e responde em:
http://127.0.0.1:5005/embed
Ele usa o modelo all-MiniLM-L6-v2 da Sentence Transformers, responsável por converter texto em vetores numéricos usados pela IA local.
-
Verificar se o servidor de embeddings está ativo:
curl http://127.0.0.1:5005/
-
Gerar embedding manualmente:
curl -X POST -H "Content-Type: application/json" -d '{"text":"teste"}' http://127.0.0.1:5005/embed
-
Ativar aprendizado local (modo híbrido):
sqlite3 /var/api/Mwsm/mwsm.db "UPDATE options SET aimode = 2 WHERE id = 1;" ".exit"
-
Limpar todo o aprendizado armazenado:
sqlite3 /var/api/Mwsm/mwsm.db "DELETE FROM inteligence;" ".exit"