Ollama + Open WebUI: Ejecuta LLM localmente en Windows, Linux o macOS (sin Docker)

Tiempo estimado de lectura: 6 minutos

Introdução

Este guia mostrará como configurar e executar facilmente grandes modelos de linguagem (LLMs) localmente usando Ollama e Open WebUI no Windows, Linux ou macOS – sem a necessidade de Docker. Ollama oferece inferência de modelos localmente, e o Open WebUI é uma interface de usuário que simplifica a interação com esses modelos. A experiência é semelhante ao uso de interfaces como ChatGPT, Google Gemini ou Claude AI.

Página inicial do Open WebUI

Por que Executar Open WebUI sem Docker?

Executar o Open WebUI sem Docker permite que você utilize os recursos do seu computador de forma mais eficiente. Sem as limitações de ambientes containerizados, toda a memória do sistema, potência da CPU e armazenamento disponíveis podem ser totalmente dedicados à execução da aplicação. Isso é especialmente importante ao trabalhar com modelos que demandam muitos recursos, onde cada parte da performance faz diferença.

Por exemplo, se você estiver usando o Open WebUI para interagir com grandes modelos de linguagem, a execução nativa pode resultar em tempos de processamento mais rápidos e desempenho mais suave, pois não há sobrecarga do Docker gerenciando o container. Ao executar nativamente, você também ganha:

  1. Configuração mais Simples: Você evita a complexidade de configurar e gerenciar containers Docker, o que pode ser especialmente benéfico para usuários que preferem uma instalação mais direta e simplificada.
  2. Melhor Desempenho: Sem a virtualização do Docker, há uma conexão mais direta com os recursos do sistema, o que pode resultar em melhor desempenho da aplicação.
  3. Acesso Direto aos Recursos do Sistema: Você tem controle direto sobre os caminhos de arquivos, configurações e ajustes do sistema, o que torna a solução de problemas e a personalização mais fáceis.

Pré-requisitos

Antes de começar, certifique-se de ter os seguintes itens instalados em seu sistema:

  • Python: Necessário para executar o Open WebUI.

Certifique-se de estar usando Python 3.11.X. A versão 3.11.6 funciona bem, por exemplo. A versão mais recente do Python, 3.12.7, não é compatível com a versão atual do Open WebUI.

Você pode baixar o Python aqui. Certifique-se de selecionar a versão apropriada para o seu sistema operacional. O Python é uma linguagem de programação versátil amplamente utilizada em IA e aprendizado de máquina, incluindo o desenvolvimento e a operação de Grandes Modelos de Linguagem (LLMs). Se você deseja aprimorar suas habilidades nesta área, não deixe de conferir nossos flashcards de Python para uma maneira rápida e eficiente de aprender.

Instalando o Ollama

  1. Acesse a página de download do Ollama.
  2. Escolha sua plataforma (Windows, Linux ou macOS) e baixe a versão apropriada.
  3. Instale o Ollama usando o processo de instalação padrão para sua plataforma.

Instalando e Executando o Open WebUI

Para instalar o Open WebUI, você pode usar o gerenciador de pacotes do Python, pip. Siga os seguintes passos:

  1. Abra seu terminal e execute o seguinte comando para instalar o Open WebUI:

    pip install open-webui
  2. Após a instalação, atualize o pip para a versão mais recente executando:

    python.exe -m pip install --upgrade pip
  3. Uma vez instalado o Open WebUI, inicie o servidor com o seguinte comando:

    open-webui serve
  4. Depois de iniciar com sucesso o Open WebUI, você pode acessá-lo em seu navegador em: http://localhost:8080.

Além disso, se preferir, você pode instalar o Open WebUI clonando o projeto diretamente do GitHub. Para mais detalhes, consulte a seção no final deste guia.

Configurando Ollama e Baixando Modelos de Linguagem

Por padrão, o Ollama define os seguintes caminhos para armazenar os modelos de linguagem (LLMs) no seu sistema:

  • macOS: ~/.ollama/models
  • Linux: /usr/share/ollama/.ollama/models
  • Windows: C:\Users\%username%\.ollama\models

Você pode alterar esse caminho, se necessário. Por exemplo, no Windows, use o seguinte comando:

setx OLLAMA_MODELS "D:\ollama_models"

Definindo Variáveis de Ambiente no macOS

Se você estiver executando o Ollama como um aplicativo macOS, as variáveis de ambiente devem ser definidas usando launchctl. Para definir uma variável, use o seguinte comando:

launchctl setenv OLLAMA_MODELS "/new/path/to/models"

Depois de definir a variável, reinicie o aplicativo Ollama para que as alterações tenham efeito.

Definindo Variáveis de Ambiente no Linux

Para usuários de Linux que executam o Ollama como um serviço systemd, você pode definir variáveis de ambiente usando systemctl. Veja como fazer isso:

  1. Abra a configuração do serviço executando:

    sudo systemctl edit ollama.service
  2. Na seção [Service], adicione a seguinte linha:

    Environment="OLLAMA_MODELS=/new/path/to/models"
  3. Salve o arquivo, depois recarregue o systemd e reinicie o serviço:

    sudo systemctl daemon-reload
    sudo systemctl restart ollama

Baixando e Executando Modelos de Linguagem no Ollama

Para baixar e executar modelos de linguagem no Ollama, use os seguintes comandos no terminal. Esses comandos baixarão automaticamente o modelo, se ele ainda não estiver instalado:

  • Para baixar e executar o modelo LLaMA 3.1 da Meta (Facebook):

    ollama run llama3.1
  • Para baixar e executar o modelo Gemma 2 do Google:

    ollama run gemma2

Usando o Open WebUI

Uma vez que o Open WebUI esteja em execução, você pode acessá-lo via http://localhost:8080. Após navegar para este endereço, você será solicitado a fazer login ou registrar-se. Para criar uma nova conta, selecione a opção Sign Up. Esta conta é criada localmente, o que significa que está disponível apenas nesta máquina, e nenhum outro usuário em seu sistema terá acesso aos seus dados.

Página de Login do Open WebUI
Página de Login do Open WebUI

Se você já iniciou o Open WebUI anteriormente e os modelos baixados via Ollama não aparecerem na lista, atualize a página para atualizar os modelos disponíveis. Todos os dados gerenciados no Open WebUI são armazenados localmente no seu dispositivo, garantindo privacidade e controle sobre seus modelos e interações.

Instalando o Open WebUI Usando Git

Se você quiser instalar o Open WebUI clonando o projeto do GitHub e gerenciá-lo manualmente, siga estas etapas:

Pré-requisitos:

  • Git: Certifique-se de ter o Git instalado em seu sistema. Você pode baixá-lo aqui.
  • Anaconda: Recomenda-se usar o Anaconda para gerenciar seu ambiente Python. Você pode baixar e instalar o Anaconda aqui.

Instruções de Instalação:

Para Linux/macOS:

  1. Abra um terminal e navegue até o diretório onde você deseja clonar o repositório.

  2. Clone o repositório Open WebUI usando o Git:

    git clone https://github.com/open-webui/open-webui.git
  3. Acesse o diretório do projeto:

    cd open-webui/
  4. Copie o arquivo .env:

    cp -RPp .env.example .env
  5. Construa o frontend usando Node.js:

    npm install
    npm run build
  6. Navegue até o diretório backend:

    cd ./backend
  7. (Opcional) Crie e ative um ambiente Conda:

    conda create --name open-webui-env python=3.11
    conda activate open-webui-env
  8. Instale as dependências do Python:

    pip install -r requirements.txt -U
  9. Inicie o aplicativo:

    bash start.sh

Para Windows:

  1. Abra um terminal e navegue até o diretório onde deseja clonar o repositório.

  2. Clone o repositório Open WebUI usando o Git:

    git clone https://github.com/open-webui/open-webui.git
  3. Acesse o diretório do projeto:

    cd open-webui
  4. Copie o arquivo .env:

    copy .env.example .env
  5. Construa o frontend usando Node.js:

    npm install
    npm run build
  6. Navegue até o diretório backend:

    cd .\backend
  7. (Opcional) Crie e ative um ambiente Conda:

    conda create --name open-webui-env python=3.11
    conda activate open-webui-env
  8. Instale as dependências do Python:

    pip install -r requirements.txt -U
  9. Inicie o aplicativo:

    start_windows.bat

Resumo do Ollama + Open WebUI

Seguindo este guia, você deverá conseguir executar Ollama e Open WebUI (sem Docker) localmente sem quaisquer problemas. No entanto, se encontrar algum erro ou dificuldade ao longo do caminho, sinta-se à vontade para deixar um comentário, e farei o possível para ajudá-lo.