← Voltar para Home
#LLM#IA Local#Qwen#Qdrant#Engenharia de Software#Arquitetura

Construindo o LLM-BRAIP: Uma Jornada de IA Local

0
0

Desenvolver um sistema de Inteligência Artificial que rode 100% localmente, sem depender das gigantes do mercado como OpenAI ou Anthropic, é um desafio de engenharia fascinante. No projeto LLM-BRAIP, nosso objetivo era claro: criar uma plataforma de tutores educacionais especializados, capazes de atender 500 usuários simultâneos, rodando em hardware acessível (como uma RTX 4060) e com custo operacional mínimo.

Neste post, vou compartilhar os aprendizados técnicos, as decisões de arquitetura e explicar como conectamos as peças desse quebra-cabeça.

🧠 A Selva dos Modelos: Text Gen, Vision e Image Gen

Uma das primeiras barreiras para quem entra nesse mundo é a sopa de letrinhas dos modelos. Durante o desenvolvimento, precisamos entender exatamente o que usar:

  1. Text Generation (LLMs): É o cérebro do nosso sistema (ex: GPT, Llama, Qwen). Eles preveem a próxima palavra em uma sequência. Para um sistema de tutores, esse é o coração — precisamos de raciocínio, lógica e capacidade de explicação.
  2. Vision Models (VLM): Modelos que "enxergam". Eles recebem imagens e texto como entrada. Embora úteis para analisar gráficos ou deveres de casa manuscritos, exigem muito mais VRAM. Deixamos isso para uma fase futura (multimodalidade).
  3. Image Generation (Diffusion): Criam imagens a partir de texto (ex: Stable Diffusion). Para educação, pode ser útil para ilustrar conceitos, mas não é o foco principal de um tutor de conversa.

A Escolha Difícil: Por que Qwen?

Testamos exaustivamente os modelos disponíveis. O desafio era encontrar o equilíbrio entre capacidade de raciocínio, suporte ao Português (PT-BR) e consumo de memória.

🏗️ Arquitetura do Sistema

Não basta só ter o modelo; precisamos de um sistema robusto ao redor dele. Nossa stack foi desenhada para performance e independência:

🔍 O Coração da Memória: Qdrant e Vetores

Um LLM tradicional tem uma "janela de contexto" limitada. Ele não lembra de tudo que você já conversou meses atrás, nem conhece todos os documentos específicos da sua escola. É aqui que entra o RAG (Retrieval-Augmented Generation) e o Qdrant.

Como funciona o Banco de Vetores (Vector DB)?

Imagine que cada frase ou parágrafo de texto seja transformado em uma lista de números (um vetor) que representa o significado semântico daquilo.

O Qdrant armazena esses vetores. Quando o aluno faz uma pergunta, transformamos a pergunta em números e o Qdrant busca matematicamente (usando cálculo de similaridade de cosseno) quais pedaços de informação no banco são mais "próximos" da dúvida do aluno.

A Geração de Contexto

O "pulo do gato" não está apenas em achar a informação, mas em como a entregamos ao Qwen. O processo que criamos é:

  1. Recuperação: O aluno pergunta. O sistema busca no Qdrant os trechos de apostilas ou conversas passadas mais relevantes.
  2. Montagem do Prompt: Criamos um "System Prompt" dinâmico.
    Você é o Professor João, especialista em Matemática.
    Use o seguinte contexto para responder ao aluno:
    [Informação recuperada do Qdrant aqui]
    
    Pergunta do aluno: [Pergunta original]
    
  3. Geração: O Qwen recebe esse pacote completo. Para ele, parece que ele "já sabia" daquilo, mas nós acabamos de "soprar" a resposta no ouvido dele.

🔄 O Fluxo: Treinamento vs Contexto (RAG)

Muitas vezes há confusão entre o que o modelo "aprendeu" (Treinamento) e o que ele "lê" no momento (Contexto). O diagrama abaixo ilustra como combinamos a inteligência pré-treinada do Qwen com o conhecimento específico do BraipHub armazenado no Qdrant.

Nota sobre o Diagrama: A parte "Rosa" representa o que vem de fábrica no modelo (não mudamos isso). A parte "Azul" é o nosso diferencial: o conhecimento vivo que atualizamos no Qdrant a qualquer momento.

🎓 Tutores Dinâmicos

Uma das maiores inovações do BraipHub foi tornar os tutores configuráveis via banco de dados (PostgreSQL). Não precisamos recriar o código para criar um novo "Professor de História". Apenas inserimos um novo registro com a "personalidade" (System Prompt) e a base de conhecimento específica.

Isso permite que um único sistema rode centenas de especialistas diferentes, apenas trocando o contexto e a "máscara" que o modelo usa a cada requisição.


A jornada de construir IA local é sobre fazer mais com menos. Com a escolha certa de ferramentas (Qwen + Qdrant) e otimização de hardware, conseguimos criar um sistema educacional de ponta, soberano e economicamente viável.

Comentarios (0)

Carregando comentarios...