Como rodar modelos de linguagem locais com interface web e API no Ubuntu Server 24.04

Se você quer hospedar modelos de linguagem (LLMs) no seu próprio servidor, com interface web para testes e uma API para integração, essa é a solução completa

Como rodar modelos de linguagem locais com interface web e API no Ubuntu Server 24.04
Foto Reprodução Pixabay

Se você busca autonomia, performance e controle total sobre os seus modelos de linguagem, chegou a hora de conhecer o Text Generation WebUI, uma das ferramentas mais completas e versáteis para rodar LLMs no seu próprio ambiente.

Com uma interface amigável e suporte a uma ampla variedade de modelos (como LLaMA, Mistral, GPTQ, GGUF, entre outros), o Text Generation WebUI é a escolha ideal para desenvolvedores que querem ir além da nuvem, integrando inteligência artificial diretamente aos seus sistemas, aplicações e fluxos de trabalho, com mais privacidade, personalização e velocidade.

Vamos te dar o passo a passo. Fique atento!

🔧 Requisitos mínimos

Recurso Recomendado
CPU x86_64 com suporte a AVX
RAM 16 GB ou mais
GPU Opcional, NVIDIA com CUDA (para acelerar)
Disco SSD com 20 GB livres ou mais
SO Ubuntu Server 24.04 LTS


Passo 1: Instale os pacotes básicos

bash
sudo apt update && sudo apt upgrade -y sudo apt install git python3 python3-venv python3-pip -y

Passo 2: Clone o repositório oficial

bash
git clone https://github.com/oobabooga/text-generation-webui.git cd text-generation-webui

Passo 3: Crie e ative o ambiente virtual Python

bash
python3 -m venv venv source venv/bin/activate

Passo 4: Instale as dependências do projeto

bash
pip install -r requirements.txt

Se der erro relacionado ao torch, instale manualmente a versão correta:

Para rodar via CPU:

bash
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu

Para rodar com GPU NVIDIA (CUDA 11.8):

bash
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

Passo 5: Baixe um modelo de linguagem

Como exemplo, vamos usar o Mistral 7B Instruct, no formato GGUF:

bash
mkdir -p models/mistral cd models/mistral wget https://huggingface.co/TheBloke/Mistral-7B-Instruct-v0.1-GGUF/resolve/main/mistral-7b-instruct-v0.1.Q4_K_M.gguf cd ../../

Você pode baixar outros modelos no HuggingFace.

Passo 6: Inicie o servidor com interface web + API

bash
python server.py --model mistral --api
  • A interface web estará disponível em:
    http://:7860

  • A API REST estará no mesmo endereço, permitindo chamadas POST para integração com seus sistemas.

Rodar em segundo plano com tmux

Para deixar o servidor rodando mesmo após encerrar a sessão SSH:

bash
sudo apt install tmux tmux new -s llmserver # (rode o comando: python server.py --model mistral --api) # Para sair: Ctrl + B, depois solte e aperte D

Para reconectar:

bash
tmux attach -t llmserver 

Conclusão

Com esse setup, você terá um servidor local rodando modelos LLM com:

  • Interface web amigável para testes

  • API REST para conectar com seus sistemas PHP, Node, Python, etc.

  • Total controle sobre os dados, sem depender de serviços externos

Se quiser automatizar esse processo com um script .sh, posso criar um pronto para uso.

Fonte: OpenAI ChatGPT

Arquivos