DEV Community

Hebert Freitas
Hebert Freitas

Posted on

3 1 1 1 1

Montando um ambiente local para testar LLM's OpenSource

Estou iniciando uma série de artigos para compartilhar a minha experiência como engenheiro de software atuando focado com tecnologias de Generative AI, fique atento aos próximos posts para aprender um pouco mais sobre este tópico.

Ao pesquisar um pouco sobre o mundo de Large Language Models é natural que você se depare com os grandes fornecedores de modelos como OpenAI, Anthropic, etc. Estas empresas fornecem seus modelos proprietários no formato SaaS através de um serviço que pode ser acessado por uma API desde que você tenha uma conta e pague um valor pelo seu uso.

No entanto, nem só de modelos proprietários vive o universo de LLM's, muitos modelos são disponibilizados de forma open source, o que significa que você pode baixá-los e executá-los como quiser.

Apesar de parece simples, detalhes como arquitetura do modelo, configurações e requisitos de hardware podem tornar a tarefa significativamente árdua para um desenvolvedor que simplesmente quer testar diferentes modelos.

Para atender essa demanda, existem algumas iniciativas que tornam este trabalho mais simples, uma delas é o ollama

Ollama

O ollama é um projeto open source que tem como objetivo facilitar a nossa experiência para obter e rodar LLM's.
Ele pode ser instalado na sua máquina e fornece um cli através do qual baixar e executar uma LLM é tão simples quanto executar este comando

ollama run llama3.2
Enter fullscreen mode Exit fullscreen mode

Imediatamente após a execução desde comando, caso você ainda não tenha este modelo localmente ele irá fazer o download do mesmo e logo em seguida fornecer uma iteração com o modelo via linha comando.

Você também pode optar por executar o ollama dentro de um container docker, desde que você já tenha o docker instalado basta executar:

docker run -it -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
Enter fullscreen mode Exit fullscreen mode

Em seguida para executar o modelo:

docker exec -it ollama ollama run llama3.2
Enter fullscreen mode Exit fullscreen mode

Nos exemplos acima, estamos executando o modelo llama3.2, para saber a lista de modelos disponíveis, consulte o catálogo do ollama

Esta solução já atende grande parte das necessidades, mas ela pode melhorar.
O serviço do ollama também disponibiliza uma API para comunicação com o modelo, e devido a isso podemos tanto fazer requisições http como também podemos projetar um interface gráfica para facilitar nosso dia a dia, e neste ponto entra a nossa próxima ferramenta que irá nos ajudar, a OpenWebUI.

OpenWebUI

O OpenWebUI é um projeto opensource que fornece uma interface padronizada de chat conversacional para testar LLM's, pode ser usada em conjunto com o ollama que assume o papel de servir as LLM's localmente.

Você pode instalar o OpenWebUI via pip com o comando (recomendamos que você crie um ambiente virtual antes de instalar

pip install open-webui
Enter fullscreen mode Exit fullscreen mode

Em seguida rodar o servidor web com

open-webui serve
Enter fullscreen mode Exit fullscreen mode

Acessando o endereço http://localhost:8080 você verá uma tela parecida com esta.

O OpenWebUI também pode ser executado via docker e tem compatibilidade total com o ollama, caso queira consumir os modelos do ollama, execute o comando abaixo (considerando que você já tem um container docker de nome ollama sendo executado)

docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
Enter fullscreen mode Exit fullscreen mode

Neste caso, após a execução, basta esperar alguns segundos (o servidor do OpenWebUI pode demorar um pouco para subir) e acessar o endereço http://localhost:3000

Os modelos servidos pelo ollama estarão disponíveis e você poderá conversar com eles, semelhante ao exemplo à seguir:

print da tela mostrando a interface web do serviço openwebui em um chat com o modelo llama 3.2

Bônus, executando tudo com um comando

Para quem achar muito trabalhoso, eu disponibilizei um projeto no github por onde você pode subir todo este ambiente e os serviços com apenas um comando.
O projeto está disponível aqui: https://github.com/hebertrfreitas/generative-ai-labs/tree/main/examples/ollama

Quadratic AI

Quadratic AI – The Spreadsheet with AI, Code, and Connections

  • AI-Powered Insights: Ask questions in plain English and get instant visualizations
  • Multi-Language Support: Seamlessly switch between Python, SQL, and JavaScript in one workspace
  • Zero Setup Required: Connect to databases or drag-and-drop files straight from your browser
  • Live Collaboration: Work together in real-time, no matter where your team is located
  • Beyond Formulas: Tackle complex analysis that traditional spreadsheets can't handle

Get started for free.

Watch The Demo 📊✨

Top comments (2)

Collapse
 
levxyca profile image
Leticia @levxyca

Ótimo artigo!

Collapse
 
mattlsw profile image
Gregory Oliver

How good article!
I'm looking forward to talk with you for our business.

Jetbrains Survey

Calling all developers!

Participate in the Developer Ecosystem Survey 2025 and get the chance to win a MacBook Pro, an iPhone 16, or other exciting prizes. Contribute to our research on the development landscape.

Take the survey

AWS Security LIVE!

Hosted by security experts, AWS Security LIVE! showcases AWS Partners tackling real-world security challenges. Join live and get your security questions answered.

Tune in to the full event

DEV is partnering to bring live events to the community. Join us or dismiss this billboard if you're not interested. ❤️