ClassNeuralNetwork/Chatbot-Interativo-GraniteSwitch

0

stars

3

commits

Python

primary language

Jun 17, 2026

updated

README

Chatbot Interativo - IBM Granite Switch 4.1 3B Preview

Este repositório contém a implementação de um Chatbot interativo baseado no modelo de linguagem IBM Granite Switch 4.1 3B Preview. O projeto foi desenhado para ser executado no Google Colab com suporte a aceleração via GPU, e a interface gráfica do usuário (GUI) foi construída utilizando a biblioteca Streamlit.

Sobre o Modelo (Granite 4.1 3B)

O modelo base utilizado possui arquitetura avançada com otimizações de ponta para eficiência de inferência:

  • Parâmetros e Arquitetura: 3 bilhões (3B) de parâmetros estruturados em um Decoder-only transformer denso com 40 camadas.
  • Janela de Contexto: Capacidade extensa de 131.072 tokens (128K).
  • Técnicas de Otimização: O modelo emprega Grouped Query Attention (GQA) compartilhando 8 cabeças de chaves/valores, Rotary Position Embedding (ROPE) para mapeamento posicional, SwiGLU e RMSNorm.
  • Alternância Dinâmica de Adapters (Switching): O modelo resolve o dilema de multi-tarefas com o coarse-grained expert switching. Adapters LoRA especializados são embarcados no mesmo checkpoint e ativados em tempo de execução via control tokens, sem a necessidade de recarregar os pesos ou causar custos extras de memória.

Funcionalidades da Aplicação

A interface do Chatbot oferece recursos de controle total ao usuário:

  • Seleção de Especialistas em Tempo Real: Escolha pelo menu lateral qual o comportamento do modelo: Base Generalista, Seguro (Guardian Core), Fatos (Factuality Correction) ou Confiança (Uncertainty).
  • Hiperparâmetros de Geração: Barras de ajuste (sliders) para definir o número máximo de tokens gerados, a Temperatura (criatividade) e o Top-p.
  • Monitoramento do Sistema: Exibição ao vivo do consumo de memória de vídeo (VRAM).
  • Limpeza de Contexto: Botão direto para limpar o histórico e resetar a conversa.

Dependências do Projeto

O código depende das seguintes ferramentas e bibliotecas:

  • transformers e torch para instanciação do modelo e tokenizador.
  • bitsandbytes para reduzir o consumo de memória aplicando a quantização do modelo em 4-bit NF4.
  • granite-switch[hf] para habilitar o gerenciamento das funções dinâmicas do Granite Switch.
  • streamlit para erguer a aplicação web do chat.
  • localtunnel para expor a porta local (8501) do Colab de forma pública na internet.

Como Executar no Google Colab

Você pode reproduzir este ambiente perfeitamente seguindo as etapas abaixo:

  1. Configure a GPU: No Google Colab, vá em Ambiente de execução > Alterar o tipo de ambiente de execução e selecione o acelerador de hardware T4 GPU.
  2. Instale os pré-requisitos: Execute os seguintes comandos em uma célula de código:
    !pip install -q 'git+[https://github.com/generative-computing/granite-switch.git#egg=granite-switch](https://github.com/generative-computing/granite-switch.git#egg=granite-switch)[hf]'
    !pip install -q bitsandbytes
    !pip install -q streamlit
    !npm install -g localtunnel
    
    
  3. Gere o arquivo app.py: Utilize %%writefile app.py no início da célula contendo o script do Streamlit para gravar o arquivo da aplicação no ambiente do Colab.
  4. Acesse via Browser: A execução do código retornará uma URL do tipo https://...loca.lt. Clique no link, forneça o IP solicitado pelo Localtunnel (se aplicável) e utilize a interface web do Chatbot.
    !streamlit run app.py & npx localtunnel --port 8501
    

Contributors

ClassNeuralNetwork/Chatbot-Interativo-GraniteSwitch

0

stars

3

commits

Python

primary language

Jun 17, 2026

updated

README

Chatbot Interativo - IBM Granite Switch 4.1 3B Preview

Este repositório contém a implementação de um Chatbot interativo baseado no modelo de linguagem IBM Granite Switch 4.1 3B Preview. O projeto foi desenhado para ser executado no Google Colab com suporte a aceleração via GPU, e a interface gráfica do usuário (GUI) foi construída utilizando a biblioteca Streamlit.

Sobre o Modelo (Granite 4.1 3B)

O modelo base utilizado possui arquitetura avançada com otimizações de ponta para eficiência de inferência:

  • Parâmetros e Arquitetura: 3 bilhões (3B) de parâmetros estruturados em um Decoder-only transformer denso com 40 camadas.
  • Janela de Contexto: Capacidade extensa de 131.072 tokens (128K).
  • Técnicas de Otimização: O modelo emprega Grouped Query Attention (GQA) compartilhando 8 cabeças de chaves/valores, Rotary Position Embedding (ROPE) para mapeamento posicional, SwiGLU e RMSNorm.
  • Alternância Dinâmica de Adapters (Switching): O modelo resolve o dilema de multi-tarefas com o coarse-grained expert switching. Adapters LoRA especializados são embarcados no mesmo checkpoint e ativados em tempo de execução via control tokens, sem a necessidade de recarregar os pesos ou causar custos extras de memória.

Funcionalidades da Aplicação

A interface do Chatbot oferece recursos de controle total ao usuário:

  • Seleção de Especialistas em Tempo Real: Escolha pelo menu lateral qual o comportamento do modelo: Base Generalista, Seguro (Guardian Core), Fatos (Factuality Correction) ou Confiança (Uncertainty).
  • Hiperparâmetros de Geração: Barras de ajuste (sliders) para definir o número máximo de tokens gerados, a Temperatura (criatividade) e o Top-p.
  • Monitoramento do Sistema: Exibição ao vivo do consumo de memória de vídeo (VRAM).
  • Limpeza de Contexto: Botão direto para limpar o histórico e resetar a conversa.

Dependências do Projeto

O código depende das seguintes ferramentas e bibliotecas:

  • transformers e torch para instanciação do modelo e tokenizador.
  • bitsandbytes para reduzir o consumo de memória aplicando a quantização do modelo em 4-bit NF4.
  • granite-switch[hf] para habilitar o gerenciamento das funções dinâmicas do Granite Switch.
  • streamlit para erguer a aplicação web do chat.
  • localtunnel para expor a porta local (8501) do Colab de forma pública na internet.

Como Executar no Google Colab

Você pode reproduzir este ambiente perfeitamente seguindo as etapas abaixo:

  1. Configure a GPU: No Google Colab, vá em Ambiente de execução > Alterar o tipo de ambiente de execução e selecione o acelerador de hardware T4 GPU.
  2. Instale os pré-requisitos: Execute os seguintes comandos em uma célula de código:
    !pip install -q 'git+[https://github.com/generative-computing/granite-switch.git#egg=granite-switch](https://github.com/generative-computing/granite-switch.git#egg=granite-switch)[hf]'
    !pip install -q bitsandbytes
    !pip install -q streamlit
    !npm install -g localtunnel
    
    
  3. Gere o arquivo app.py: Utilize %%writefile app.py no início da célula contendo o script do Streamlit para gravar o arquivo da aplicação no ambiente do Colab.
  4. Acesse via Browser: A execução do código retornará uma URL do tipo https://...loca.lt. Clique no link, forneça o IP solicitado pelo Localtunnel (se aplicável) e utilize a interface web do Chatbot.
    !streamlit run app.py & npx localtunnel --port 8501
    

Contributors

Languages

Python

100.0%