Skip to content

NeveIA/NeveAI

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

1776513530968

Neve AI é um ecossistema de orquestração de IA privacy-first, desenvolvido para oferecer uma experiência de inferência local de alta performance com soberania total de dados. A plataforma integra um backend assíncrono em FastAPI a uma interface reativa em SvelteKit 5, utilizando o motor llama.cpp para viabilizar o suporte a modelos GGUF com aceleração de hardware (CUDA/Vulkan). O projeto consolida funcionalidades avançadas de nível empresarial em um ambiente 100% offline, incluindo um pipeline de RAG híbrido (ChromaDB/BM25), execução de código em sandbox via Pyodide, automação de busca web e ferramentas de produtividade, eliminando qualquer dependência de APIs externas ou serviços de terceiros.


{CB39D918-42A2-4334-BDDE-09DC11A0057C}
{F197E691-096C-4BC1-9EC3-27D56D5A7B06}

Visão Geral

Atributo Detalhe
Versão 0.8.10
Frontend SvelteKit 2 + Svelte 5 + Tailwind CSS 4.2.1
Backend FastAPI + Uvicorn + Python 3.11/3.12
Banco de dados SQLite via SQLAlchemy + Alembic
Inferência local llama.cpp (binários baixados pelo instalador)
Porta padrão 8080
OS Windows (principal); Linux/macOS somente com adaptações

Instalação

Pré-requisitos

  • Python 3.11 ou 3.12 instalado e no PATH
  • Node.js 18+ e npm 9+ instalados e no PATH
  • Conexão com a internet (apenas durante a instalação)

Executar o instalador

instalar.bat

{55F2246F-520C-4D6F-855F-8F7DF2687F8B}

O instalador (instalar.batinstalar.ps1) realiza automaticamente:

  1. Detecta a GPU — NVIDIA (identifica a série e configura CUDA), AMD (HIP/ROCm ou Vulkan) ou CPU
  2. Baixa o llama.cpp mais recente do GitHub (binários compilados para o hardware detectado)
  3. Cria o ambiente virtual Python (backend/neveai/venv/) e instala todas as dependências (PyTorch, FastAPI, ChromaDB, Whisper, etc.)
  4. Instala as dependências Node.js (npm install)
  5. Compila e faz deploy do frontend (npm run build + cópia para backend/neveai/frontend/)
  6. Cria as pastas necessárias (models/, mmproj/, backend/data/, logs/)
  7. Cria o arquivo .env com configurações padrão (se ainda não existir)

Atualizando o Neve AI

atualizar.bat

{FC3EC2EB-63FA-47E4-AD01-DBED022EBD8E}

O atualizador (atualizar.batatualizar.ps1) abre uma janela gráfica que:

  1. Lê a versão local do arquivo version.txt na raiz do projeto.
  2. Consulta a última release em github.com/Etamus/NeveAI/releases/latest e mostra:
    • versão instalada × versão disponível
    • status: Atualizado, Pendente (vX → vY) ou Erro de rede
    • notas da release
  3. Se já estiver na última versão, exibe "Você já está na última versão" e oferece apenas o botão Fechar (nada é baixado).
  4. Se houver atualização pendente, ao clicar em Atualizar:
    • Baixa o zipball da release no %TEMP%
    • Aplica os arquivos novos sobre o projeto via robocopy, preservando dados locais: backend/neveai/venv/, backend/neveai/frontend/, backend/neveai/data/, backend/data/, models/, mmproj/, llamacpp-server/, node_modules/, build/, logs/, .git/, .svelte-kit/, .env e version.txt (com backup automático do .env)
    • Roda npm install e npm run build
    • Recria backend/neveai/frontend/ com o novo build
    • Grava o novo tag em version.txt
  5. Painel final mostra "Atualização concluída!" com o resumo versão anterior → versão instalada.

Iniciando o Neve AI

iniciar.bat

O script:

  1. Encerra qualquer processo existente na porta 8080
  2. Inicia o backend Uvicorn em segundo plano (que já serve o frontend compilado)
  3. Aguarda o health check (http://localhost:8080/health) por até 120 segundos
  4. Abre o Neve AI em uma janela de app isolada via neve_window.py (usa Chrome/Brave/Edge em modo --app, sem barra de URL)

Acesse manualmente se preferir: http://localhost:8080


Modelos

neveai_cover

Modelos de linguagem (LLM)

Coloque arquivos .gguf em:

d:\Neve AI\models\

Os modelos são carregados dinamicamente pelo painel de modelos da interface. O llama.cpp é iniciado automaticamente ao carregar um modelo, com auto-detecção do arquivo mmproj correspondente quando disponível.

Projeções multimodais (visão)

Coloque arquivos mmproj em:

d:\Neve AI\mmproj\

O backend auto-detecta o mmproj compatível pelo prefixo do nome do modelo (ex: Qwen3.5 9B.ggufQwen3.5 9B Mmproj F16.gguf).


Estrutura do Projeto

Neve AI/
├── instalar.bat              # Instalador único — detecta GPU, baixa llama.cpp,
├── instalar.ps1              #   cria venv, instala deps, compila frontend
├── atualizar.bat             # Atualizador — checa última release no GitHub,
├── atualizar.ps1             #   baixa, aplica overlay, refaz build e deploy
├── version.txt               # Versão (tag) atualmente instalada
├── iniciar.bat               # Inicia o backend e abre a janela de app
├── neve_window.py            # Abre o Neve AI em janela Chromium isolada
├── .env                      # Variáveis de ambiente (gerado pelo instalar)
├── .gitignore                # Exclui pastas pesadas (venv, build, models, etc.)
│
├── src/                      # Código-fonte do frontend SvelteKit
│   ├── routes/               # Páginas e layouts
│   └── lib/
│       └── components/
│           ├── chat/         # Interface de chat, modelos, mensagens
│           ├── layout/       # Sidebar, navbar, modais globais
│           ├── workspace/    # Editor de modelos, prompts, knowledge
│           ├── admin/        # Painel administrativo
│           └── common/       # Componentes reutilizáveis
│
├── backend/
│   └── neveai/
│       ├── main.py           # Entry point FastAPI
│       ├── config.py         # Configuração global
│       ├── routers/          # Endpoints REST (chat, models, audio, images...)
│       ├── socket/           # WebSocket (python-socketio)
│       ├── retrieval/        # Motor RAG (ChromaDB, embeddings, BM25)
│       ├── migrations/       # Alembic migrations
│       ├── venv/             # Ambiente virtual Python [gerado pelo instalar]
│       ├── frontend/         # Frontend compilado [gerado pelo instalar]
│       └── data/             # uploads/, vector_db/, cache/, neve.db [runtime]
│
├── build/                    # Saída do npm run build [gerado, não commitado]
├── models/                   # Arquivos .gguf (usuário baixa os seus)
├── mmproj/                   # Projeções multimodais .gguf
├── llamacpp-server/
│   └── bin/                  # Binários llama.cpp [baixados pelo instalar]
├── logs/                     # Logs de runtime [não commitado]
└── static/                   # Assets estáticos do frontend (pyodide, wasm...)

Funcionalidades

Chat & Modelos

  • Streaming de respostas em tempo real via WebSocket
  • Múltiplos modelos simultâneos (comparação lado a lado)
  • Modo Rápido / Raciocínio — alternável com descrição no dropdown
  • Contador de tokens circular com alerta visual por faixa de uso
  • Auto-carga de modelo ao enviar mensagem (modal de seleção de contexto)
  • Auto-detecção de mmproj compatível (sem configuração manual)
  • Histórico de conversas com pastas, favoritos, tags e arquivamento
  • Edição e regeneração de mensagens individuais

Interface

  • Sidebar retrátil com busca, pastas e histórico
  • Campo de digitação compacto (pill) ou expandido
  • Painel de artefatos (código, gráficos, HTML renderizado)
  • Tela de boas-vindas com posicionamento alto e limpo
  • Tema claro/escuro

Entrada

  • Upload de arquivos: PDF, DOCX, PPTX, imagens, vídeo, código, planilhas
  • Integração Google Drive e OneDrive

RAG (Retrieval-Augmented Generation)

  • Base de conhecimento vetorial com ChromaDB
  • Busca híbrida BM25 + semântica
  • OCR para PDFs e imagens escaneadas (RapidOCR)
  • Embeddings locais (sentence-transformers) ou via API

Outras Funcionalidades

  • Busca na web via DuckDuckGo (sem chave de API)
  • Execução de código Python via Pyodide (WebAssembly, no browser)
  • Geração de imagens via Stable Diffusion local
  • MCP (Model Context Protocol) v1.26 para ferramentas externas
  • Painel administrativo completo (usuários, modelos, permissões, analytics)

Stack Tecnológica

Frontend

Tecnologia Versão
Svelte 5.0.0
SvelteKit 2.5.27
TypeScript 5.5.4
Vite 5.4.21
Tailwind CSS 4.2.1
TipTap (editor) 3.0.7+
CodeMirror 6.x
Pyodide embutido

Backend

Tecnologia Versão
Python 3.11 / 3.12
FastAPI 0.135.1
Uvicorn 0.41.0
Pydantic 2.12.5
SQLAlchemy 2.0.48
ChromaDB
MCP SDK 1.26.0

Desenvolvimento

Compilar e fazer deploy manualmente

cd "d:\Neve AI"
npm run build
Copy-Item -Path "build\*" -Destination "backend\neveai\frontend" -Recurse -Force

Dev mode (hot reload)

# Terminal 1 — Backend
cd "d:\Neve AI\backend"
..\backend\neveai\venv\Scripts\python -m uvicorn neveai.main:app --host 0.0.0.0 --port 8080 --reload

# Terminal 2 — Frontend
cd "d:\Neve AI"
npm run dev

Frontend de dev disponível em http://localhost:5173 (proxy para o backend em 8080).

About

Neve AI é uma plataforma de IA local privacy-first baseada em FastAPI, SvelteKit e llama.cpp. Oferece inferência GGUF multimodal, RAG híbrido, execução de código via Pyodide e busca web, garantindo soberania total de dados. Uma solução robusta para execução offline de alta performance, sem dependência de APIs ou serviços externos.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 69.0%
  • Svelte 15.8%
  • JavaScript 11.9%
  • TypeScript 2.6%
  • PowerShell 0.5%
  • CSS 0.1%
  • Other 0.1%