Bem-vindo ao IA-Lab, um projeto experimental para explorar as capacidades dos modelos de linguagem locais (LLMs) utilizando o ecossistema Bun e o Ollama.
Este laboratório evolui de um simples script de chat até um assistente multimodal completo integrado ao Telegram.
- Bun: Runtime JavaScript focado em performance (servidor, gerenciamento de pacotes e testes).
- Ollama: Orquestrador de LLMs locais.
- Gemma 4 E2B: Modelo multimodal (Texto/Visão/Áudio) da Google.
- Whisper: Modelo oficial da OpenAI para transcrição de áudio (Speech-to-Text).
- Grammy: Framework para criação de bots de Telegram.
- SQLite: Banco de dados local para persistência de memória.
- TypeScript: Desenvolvimento com tipagem forte.
| Etapa | Funcionalidade | Descrição |
|---|---|---|
| 01-08 | Fundação & Web | Setup, Streams, Contexto, SQLite, API REST e Interface Web. |
| 09 | Integração Telegram | Bot para interação em grupos e chats privados via Grammy. |
| 10 | Visão Multimodal | Upgrade para Gemma 4 E2B, permitindo que o bot "veja" e analise fotos. |
| 11 | Comandos de Voz | Integração do Whisper Oficial via ambiente isolado para transcrição de áudio. |
Crie um arquivo .env na raiz do projeto:
TELEGRAM_TOKEN=seu_token_aquiCertifique-se de ter o Bun, Ollama, FFmpeg e Python 3 instalados.
# Modelos Ollama
ollama pull gemma4:e2b
# Ambiente Isolado Python (para o Whisper)
python3 -m venv .venv
./.venv/bin/pip install openai-whisper
# Dependências de sistema (Mac)
brew install ffmpegbun install
bun run index.tsO bot agora é um assistente completo:
O bot utiliza o modelo Whisper small rodando localmente para garantir alta precisão em Português.
- O processamento é feito em um ambiente Python isolado (
.venv). - Suporta áudios do Telegram (OGG/Opus) convertidos via FFmpeg.
Graças ao Gemma 4 E2B, o bot pode:
- Descrever o que vê em uma imagem.
- Responder perguntas sobre o conteúdo visual.
- Ler textos e identificar objetos.
Todas as conversas (texto, transcrição de áudio e análise de imagem) são salvas no banco ia.sqlite, permitindo que o bot lembre do contexto anterior.
- Isolamento: O ambiente Python (
.venv) e os arquivos temporários de áudio são ignorados pelo Git para manter o repositório leve. - Performance: Usamos o modelo Whisper
smallpor padrão para equilibrar velocidade e precisão no Mac. - Privacidade: Todo o processamento de IA (Texto, Imagem e Voz) ocorre localmente na sua máquina.
Feito com ❤️ no IA-Lab.