back to top

Executando IA localmente usando Ollama no Ubuntu

Aqui está a coisa. AI é o presente f̶u̶t̶u̶r̶e̶. Você já está vendo isso em todos os lugares, mesmo sem perceber. Do terminal LanguageTool ao Warp e ao Nextcloud, a IA agora está integrada às suas ferramentas favoritas.

Mas acredito que o futuro da IA ​​deve ser privado, local e de código aberto. Quero que seja uma ferramenta que eu use, e vice-versa.

Felizmente, não sou o único a ter esses pensamentos. Existem vários LLMs de código aberto por aí, e novas ferramentas estão surgindo que facilitam a instalação e execução de IA localmente em seu sistema.

Estou experimentando IA como usuário final e compartilharei minha experiência com você.

Para este tutorial, vou mostrar:

  • como você pode instalar o Ollama e configurá-lo para executar vários LLMs de código aberto
  • como você pode configurar o Open WebUI para usar uma interface baseada na web para interagir com IA
💡 IA é um termo amplo que descreve todo o campo da inteligência artificial. O que você, como usuário final, faria é interagir com LLMs (Large Language Models). LLMs são basicamente ferramentas que já foram treinadas em grandes quantidades de dados para aprender padrões e relações entre palavras e frases e muito mais. Diferentes LLMs são frequentemente projetados para tarefas específicas, como codificação, interpretação de linguagem, recursos visuais, etc. Uma descrição muito simplista, para ser honesto.

O que é Ollama?

Ollama é uma ferramenta baseada em linha de comando para baixar e executar LLMs de código aberto, como Llama3, Phi-3, Mistral, CodeGamma e muito mais. Ele simplifica pesos de modelos, configurações e conjuntos de dados em um único pacote controlado por um Modelfile. Tudo que você precisa fazer é executar alguns comandos para instalar os LLMs de código aberto suportados em seu sistema e usá-los.

Gosto de pensar nisso como uma ferramenta semelhante ao Docker (analogia errada, eu sei). Assim como o Docker busca várias imagens em seu sistema e as utiliza, o Ollama busca vários LLMs de código aberto, instala-os em seu sistema e permite que você execute esses LLMs em seu sistema localmente.

Você pode encontrar a lista completa de LLMs apoiados pela Ollama aqui.

Pré-requisito

Aqui estão algumas coisas que você precisa para executar IA localmente no Linux com Ollama.

  • GPU: Embora você possa executar IA na CPU, não será uma experiência agradável. Se você tiver TPU/NPU, seria ainda melhor.
  • curl: Você precisa baixar um arquivo de script da internet no terminal Linux
  • Opcionalmente, você deve ter o Docker instalado em seu sistema se quiser usar o Open WebUI. Ollama oferece uma interface de linha de comando para interagir com a IA. Open WebUI fornece uma interface web com experiência semelhante ao ChatGPT.

Etapa 1: Instalando o Ollama no Linux

novas ferramentas estão chegando fornece um script oficial que pode ser usado em qualquer distribuição Linux.

Abra um terminal e use o seguinte comando:

curl -fsSL https://ollama.com/install.sh | sh

Como você pode ver na imagem abaixo, demorou aproximadamente 25 segundos para instalar o Ollama no Ubuntu para mim.

Instalando Ollama no Ubuntu
Ollama instalado no Ubuntu Linux

Observe também o aviso que aparece no final. Meu Dell XPS integrou GPU Intel, mas claramente Ollama quer GPU NVIDIA/AMD.

Em outras palavras, executarei IA apenas na CPU 🤖🔥💻

Esta é a saída mais fácil. Você pode optar pela opção de instalação manual se estiver se sentindo aventureiro.

Verifique se o Ollama está em execução

Depois de instalar o Ollama, você deve verificar se ele está em execução. Por padrão, ele é executado no número da porta localhost.

Então, abra um navegador da web e digite:

localhost:11434

Deve mostrar a mensagem “Ollama está em execução”.

Ótimo! Então, você tem a ferramenta que pode buscar LLMs em seu sistema. Vamos ver como fazer isso.

Etapa 2: Instalando LLMs com Ollama

Você pode “instalar” o LLM desejado da seguinte maneira.

ollama pull <LLM_NAME>

A partir de agora, você não pode pesquisar LLMs disponíveis no terminal. Você terá que ir ao seu site. A partir daí, você pode obter o nome exato do LLM que deseja usar.

Por exemplo, vou usar o llama2, uma oferta de código aberto da Meta (Facebook).

ollama pull llama2

Isso levará algum tempo, pois baixa GBs de dados. Como você pode ver na captura de tela, levei 2 minutos e 24 segundos para ser concluído.

Ollama mantém os LLMs no diretório /usr/share/ollama/.ollama/models no Linux. Eu queria que você soubesse disso.

Ótimo! Você tem um grande modelo de linguagem disponível agora. Você tem uma ferramenta para interagir com ele. Vamos usar a IA!

Etapa 3: Executando a IA com Ollama (no terminal)

Execute o LLM com este comando:

ollama run <LLM_NAME>

Desde que instalei llama2, uso este comando:

ollama run llama2

💡 Você pode listar todos os LLMs instalados em seu sistema com o comando ollama list.

Não há saudações instantâneas informando que a IA está pronta para atendê-lo. Você apenas precisa começar a fazer perguntas.

Perguntei ‘o que é itsfoss’, mas não foi a resposta que eu esperava.

Você pode usar Ctrl+D ou digitar /tchau para sair da interação com a IA.

Ao começar a fazer uma pergunta, você deverá ouvir um zumbido. Esse é o som do seu sistema enlouquecendo enquanto consome todos os recursos disponíveis para executar a IA localmente. É por isso que administrar IA é caro e não é bom para o meio ambiente.

Para mim, a resposta foi muito lenta. Era como usar o bate-papo por texto no início dos anos 90. As palavras apareceram em stop-motion. Mas ei, estou executando minha própria IA sem uma GPU ou NPU dedicada 💪

📋 Tentei a mesma configuração no meu TUXEDO InfinityBook Pro 16, que é uma máquina fera com CPU de 20 núcleos, 32 GB de RAM e NVIDIA GeForce RTX 3070 Ti. A resposta foi muito mais suave e rápida quando Ollama usou a GPU.

Etapa opcional 4: use IA no ChatGPT como interface de navegador com Open WebUI

Não gosta de executar a IA na interface de linha de comando? Existem muitos aplicativos que fornecem interface GUI para Ollama.

Você pode usar um dos projetos mencionados acima. Meu favorito é o Open WebUI, um projeto de código aberto que permite usar e interagir com IA local em um navegador da web.

Se você já usou ChatGPT, Perplexity ou qualquer outra ferramenta comercial de IA, provavelmente está familiarizado com esta interface.

É mais fácil de usar. Suas conversas são armazenadas e você pode revisitá-las facilmente ou até mesmo pesquisá-las.

O melhor é que você pode acessá-lo de outros dispositivos da sua sub-rede. Assim, você pode manter o servidor Ollama em um dispositivo centralizado e usá-lo em outros dispositivos através de um navegador web graças ao Open WebUI.

🚧 Esta configuração executa Open WebUI em um contêiner Docker. Mesmo que você não conheça o Docker, você poderá executá-lo sem muitos problemas, desde que siga os comandos corretamente.

Instale o Docker

Primeiro, certifique-se de ter o Docker instalado em seu sistema.

Instale o Open WebUI no Docker

Depois que o Docker estiver instalado em seu sistema, tudo que você precisa é executar este comando conforme mencionado na documentação do Open WebUI:

sudo docker run -d --network=host -e OLLAMA_BASE_URL=http://127.0.0.1:11434 -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

Isso também levará algum tempo para baixar as imagens do Docker necessárias e, em seguida, executar o contêiner:

Assim que o processo for concluído, certifique-se de que seu contêiner open-webui esteja em execução usando o comando docker ps:

docker ps
CONTAINER ID   IMAGE                                COMMAND           CREATED      STATUS      PORTS     NAMES
8541f122b75d   ghcr.io/open-webui/open-webui:main   "bash start.sh"   2 days ago   Up 2 days             open-webui

Execute o WebUI aberto

Abra um navegador e acesse o localhost na porta número 8080:

127.0.0.1:8080
Você verá uma interface da web solicitando a criação de uma conta. 🚧 Certifique-se de usar uma senha fácil de lembrar ou salve-a em um gerenciador de senhas como o ProtonPass. Porque se você esqueceu a senha, não há uma maneira fácil de redefini-la. Você pode remover o contêiner e o Docker Volume anexado, sudo docker volume rm open-webui mas perderá todo o histórico de bate-papo e contas existentes.

A conta que você cria na primeira execução também é a conta de administrador. Permite criar mais contas e gerenciá-las no mesmo servidor. Isso é útil se você planeja implantar um servidor de IA local que possa ser acessado de outros computadores na sua rede.

Depois de fazer login na interface, você deve clicar em ‘Selecionar um modelo’ e escolher os LLMs de sua preferência. Neste ponto, eu só tinha llama2instalado. Se houvesse mais, as opções serão mostradas aqui. Na verdade, você pode interagir com mais de um LLM ao mesmo tempo no Open WebUI.

Com isso, você está pronto para interagir com ele:

Você pode editar uma resposta, copiá-la, dar feedback, lê-la em voz alta ou regenerá-la.

Pare de executar a IA

Quando você fecha a guia do navegador, seu sistema não executa mais os LLMs e, portanto, o uso de recursos do sistema volta ao normal.

Tenha em mente que o contêiner Open WebUI sempre é executado em seu sistema. Mas não consome recursos a menos que você comece a usar a interface.

Etapas de remoção

Tudo bem! Então você experimentou IA de código aberto e não sente uma utilidade real para ela no momento. Compreensivelmente, você gostaria de removê-lo do seu sistema e recuperar o espaço em disco.

Isso é lógico. Deixe-me ajudá-lo com isso.

Removendo WebUI aberto

Se você usou o Open WebUI, siga estas etapas.

Pare o contêiner em execução e remova-o:

docker container stop open-webui
docker container remove open-webui

Em seguida, remova também a imagem do Docker. Liste as imagens com este comando:

docker images

E anote o IMAGE IDvalor da imagem open-webui e use-a da seguinte maneira:

docker image rm IMAGE_ID

Você também pode remover o conteúdo do /var/lib/docker/volumes/open-webuidiretório.

Não vejo necessidade de desinstalar completamente o Docker.

Removendo Ollama

Agora, vamos falar sobre a desinstalação do Ollama.

Primeiro, liste todos os LLMs que você instalou através do Ollama:

ollama list

E então use seu nome para desinstalar:

ollama rm LLM_NAME

Se você perdeu esta etapa, você pode recuperar o espaço em disco removendo os arquivos do diretório no Linux /usr/share/ollama/.ollama/models

Deixando isso de lado, vamos remover o próprio Ollama.

Remover serviço Ollama:

sudo systemctl stop ollama
sudo systemctl disable ollama
sudo rm /etc/systemd/system/ollama.service

Remova o binário ollama do seu diretório bin. Pode ser em /usr/local/bin, /usr/bin ou /bin. Portanto, use a substituição do comando por:

sudo rm $(which ollama)

Em seguida, remova o usuário Ollama e outros pedaços restantes:

sudo rm -r /usr/share/ollama
sudo userdel ollama
sudo groupdel ollama

Você pode ver uma mensagem com userdel ‘grupo ollama não removido porque tem outros membros’. Apenas ignore isso.

Conclusão

Como você pode ver, ferramentas como o Ollama facilitam a instalação local de diferentes LLMs de código aberto. Você pode usá-los para diversos fins, mantendo-os privados. Desde o resumo de documentos até a codificação, os casos de uso são numerosos e só aumentarão no futuro.

É claro que seu sistema deve ser capaz o suficiente para executar IA dessa forma, pois consome muito CPU e GPU. Eventualmente, NPU (Unidades de Processamento Neural) estarão disponíveis em todos os laptops modernos assim como GPU atualmente.

🗨️ Deixe-me saber sua opinião sobre a execução de IA local. E se você enfrentar algum problema ao seguir este tutorial, deixe-me saber nos comentários e tentarei ajudá-lo.

Eleve sua experiência no KDE Plasma com estes 15 widgets essenciais

KDE Plasma é um ambiente de desktop fantástico. É popular por seu conjunto de...

Como atualizar para Linux Mint 22 [Tutorial passo a passo]

É fácil atualizar para o Linux Mint 22. Veja como você pode fazer isso.

Análise do Linux Mint 22: atualização sutil e impactante

Após cada lançamento do Ubuntu LTS, começa a espera por atualizações para alguns dos...

- Uma palavra do nosso patrocinador -

Hospedagem de sites ilimitada superdomínios