Extensão do Chrome para rodar IA generativa localmente no navegador
(github.com/tantara)Descrição do projeto
Este é um projeto de extensão do Chrome do Transformers.js que executa modelos de IA generativa em JavaScript.
Existem muitas formas de rodar modelos de IA generativa localmente, como Ollama e llama.cpp, mas o processo de configuração é trabalhoso e há o incômodo de precisar trocar de tela toda vez. Para resolver isso, foi implementado usando Transformers.js para que possa ser executado diretamente no painel lateral da extensão do Chrome.
Uma das vantagens da execução local é poder usar em ambientes sem conexão com a internet, e eu a utilizei de forma útil para tarefas simples em ambientes com internet precária, como em aviões e campings.
Modelos suportados
Como usa Transformers.js, é possível executar quase todos os modelos do Hugging Face, mas atualmente apenas os modelos abaixo são suportados.
- LLM : Llama 3, Phi 3.5, Qwen 2.5, SmolLM2
- Reasoning : DeepSeek R1 (em um MacBook M1, o DeepSeek R1 (1.5B) gera 30 tokens/s)
- LLM multimodal : Janus
- Speech to Text : Whisper
Recursos adicionais
Também foram adicionados os recursos Summarize e Rewrite. Ao selecionar com o mouse um texto visível no navegador e clicar com o botão direito para executar a extensão, ela resume aquele texto (Summarize) ou o transforma em uma saída de LLM (Rewrite). Acho que o vídeo de demonstração abaixo ajuda a entender melhor (trecho de 1min10s a 1min25s).
Vídeo de demonstração: https://www.youtube.com/watch?v=MSCDdFG5Lls&t=70s
Executando a extensão
Você pode compilar o projeto do GitHub diretamente ou baixá-lo pela Chrome Web Store.
Chrome Web Store: https://chromewebstore.google.com/detail/private-ai-assistant-runn/…
2 comentários
Gostei bastante.
Acho que seria importante deixar claro que não se trata do DeepSeek R1, mas sim de um modelo destilado. Afinal, tecnicamente são dois modelos completamente diferentes.
Obrigado pela opinião. Como o modelo 1.5B testado era um modelo com destilação, acho que "Distilled" é uma expressão mais precisa. Como parece que não é possível editar o texto, vou refletir isso na próxima atualização.