Chatbot com LLMs locais via Ollama.
Criado usando Rio, baseado no templete AI Chatbot
.
Modelos também podem ser usados com a interface Open WebUI, usado nesse repositório como facilitador no download de modelos.
Um chat simples com IAs locais via Ollama. Uma demonstração das capacidades do framework Rio.
Não requer nenhuma senha ou chave de API.
- Python 3.11+
- Docker e Compose
- Instalar dependências Python (pip ou poetry)
- Ollama (executado pelo Docker, recomendado)
- Baixar modelos (linha de comando ou Open WebUI)
- Todas as instruções foram testadas no Linux. Algumas adaptações podem ser necessárias para rodar o aplicativo em ambiente Windows. Se você usa Windows, o WSL é recomendado.
- É possível instalar o
make
no Windows, mas não é requisito. Se preferir, acesse o arquivo Makefile, observe os comandos usados na receita e adapte para seu ambiente.
- Dependendo do seu SO, use as instruções de instalação do site https://docs.docker.com/get-docker/
- Recomendado a instalação do Docker Engine no Linux (ou WSL) com os comandos abaixo
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh ./get-docker.sh --dry-run
- Siga as instruções de pós-instalação, se necessário. https://docs.docker.com/engine/install/linux-postinstall/
- O comando padrão usa o
poetry
para gerenciar as dependências e a criação do ambiente virtual, sendo necessário que ele já esteja instalado.
make install
- Se você não usa
poetry
, crie o ambiente virtual manualmente, ative o ambiente e instale as dependências. O requirements.txt fornecido no repositório tem as mesmas dependências que o poetry instalaria.
# Criando uma pasta chama .venv para o ambiente virtual
python -m venv .venv
# Ativando o ambiente virtual
source .venv/bin/activate
# Instalando depdndências
pip install -r requirements.txt
- Se você não usa
poetry
, para adaptar as chamadas no Makefile, substitua a variável RUN por esse conteudo, que usa o caminho completo antes de chamar o interpretador Python:.venv/bin/python
, conforme exemplo criado acima.
make run-ollama
- A primeira execução pode demorar um pouco, porque as imagens vão ser baixadas.
- É necessário ter baixado modelos (ver instruções abaixo) e configurado o arquivo .env com o nome do modelo a ser usado no chat
- roda o aplicativo RiOllama em modo release, para produção
make run-app-prd
- roda o aplicativo RiOllama em modo debug, para desenvolvimento
make run-app-dev
- Lista modelos LLM, quantizados no formato GGUF, já incorporados no acervo do Ollama. A quantidade de parâmetros e a quantização determinam o tamanho do modelo a ser baixado.
- Na página do modelo em específico, a tag selecionada por padrão é a 'latest'. Nos comandos do Ollama, quando não especificamos uma 'tag' para o modelo, é usado essa tag. (como no Docker)
- É possível ver todas as tags disponíveis para o modelo abrindo a caixa de seleção à esquerda. Clicando-se numa tag o comando à direita é atualizado.
docker compose exec -it ollama bash
# ollama pull <nome do modelo, com tag se necessário>
ollama pull llama3:instruct
ollama pull phi3:instruct
- Executar Open WebUI (via Docker Compose)
make run-ui
- A primeira execução pode demorar um pouco, porque as imagens vão ser baixadas.
- Com o Open WebUI iniciado, visite http://localhost:3000
- Clique em Sign Up para criar a primeira conta local
- Coloque seus dados para criar a conta. O primeiro usuário criado será também Administrador
- Na aba lateral esquerda, onde seu nome de usuário é apresentado, clique no nome e escolha Admin Panel
- Em seguida escolha Settings e Models
- No campo Pull a model from Ollama.com cole o nome do modelo com a tag, se houver
- Clique no ícone de Download, no final desse campo
- Aguarde o modelo ser baixado
- Após baixar pelo menos um modelo, é possível usar a interface do Open Web UI para conversar com o modelo
- Explore as opções e saiba mais sobre a plataforma