Não é o Dalai Lama, mas esta IA tem resposta para quase tudo!

Luciano Santos Borges
7 min readJun 4, 2024

--

TL;DR: Este artigo detalha o processo de configuração de um ambiente de LLM para criar um assistente de IA na sua empresa. Iniciando com o download e instalação do Ollama e a escolha do modelo Llama3, em seguida, demonstra como baixar e instalar o Open WebUI para uma experiência visual. Destaca a funcionalidade RAG (Retrieval Augmented Generation) do Open WebUI, permitindo acesso a informações específicas em documentos.

Quantas vezes você já precisou de uma informação na sua empresa e não sabia onde procurar ou por onde começar? No ambiente corporativo, temos informações espalhadas em documentos Word, arquivos PDF, páginas da intranet e muito mais. Agora, imagine ter uma ferramenta que permite fazer perguntas e obter respostas precisas rapidamente, baseada no conhecimento desses documentos. Não seria fantástico? Esse é o poder das ferramentas LLMs (Modelos de Linguagem de Grande Escala). Este artigo mostrará como configurar um ambiente de LLM para que você possa ter um ‘ChatGPT’ dentro da sua empresa.

Usei o termo ChatGPT porque é a ferramenta mais conhecida no mercado, mas vamos utilizar uma alternativa gratuita e amplamente adotada pela comunidade: o Llama3.

Download e Instalação do Ollama

O primeiro passo é fazer o download do Ollama (ferramenta de código aberto que permite executar e gerenciar LLMs) diretamente na sua máquina) para o seu sistema operacional. No meu caso, farei o download para macOS. No macOS, a instalação é muito simples: basta dar um duplo clique no arquivo baixado e seguir as instruções na tela.

https://ollama.com/download

Depois de instalar o Ollama, o próximo passo é baixar o modelo de linguagem (LLM) desejado. Neste caso, será o Llama3, que está disponível em dois tamanhos diferentes: Llama3:70b e Llama3:8b. A principal diferença entre eles é o tamanho da base de treinamento do modelo.

Para uso profissional, o recomendado seria optar pelo Llama3:70b, pois esse modelo possui uma base de treinamento maior e, consequentemente, uma capacidade de processamento e geração de texto mais robusta. No entanto, é necessário ter uma máquina com recursos computacionais suficientes para suportar esse modelo de maior porte.

No meu caso, que estou utilizando um notebook para realizar os testes, o modelo Llama3:8b foi a escolha mais adequada. Esse modelo é mais leve e, portanto, apresenta uma demanda computacional menor, o que permite uma execução mais fluida em hardwares menos potentes, como notebooks.

ollama run llama3

Depois de configurarmos o Llama3, é só começar a conversar com ele! No entanto, ninguém quer ficar preso ao terminal, certo? Que tal usarmos uma ferramenta visual que permita uma experiência semelhante à do ChatGPT? Existem várias ferramentas que oferecem uma interface web para interagir com modelos de linguagem, e vou usar como exemplo a Open WebUI.

Download e Instalação do Open WebUI

Para fazer o download do Open WebUI, acesse a página oficial da ferramenta e clique no link de download. Esse link o redirecionará para a página do GitHub, onde você encontrará todas as instruções necessárias para a instalação.

O Open WebUI será executado em um contêiner Docker. Se você não está familiarizado com o Docker, recomendo que leia sobre ele e aprenda os conceitos básicos necessários para instalar o Docker em sua máquina.

Docker é uma plataforma que, dentre outras coisas, permite a execução de aplicações em contêineres. Contêineres são ambientes isolados que incluem tudo o que uma aplicação precisa para funcionar, como código, bibliotecas e dependências, permitindo que a aplicação seja executada de maneira consistente em diferentes ambientes sem conflitos de configuração.

Como já tenho o Ollama em execução na minha máquina, basta rodar no terminal o comando indicado na imagem abaixo para instalar o Open WebUI.

Supondo que tudo tenha sido instalado corretamente, ao acessar o endereço http://localhost:3000 você verá a página de login do Open WebUI. Como este é seu primeiro acesso, você precisará criar uma nova conta fazendo o "Sign Up" (Cadastro). Após concluir o cadastro, você será automaticamente direcionado para a página principal da aplicação.

O processo de cadastro no Open WebUI é simples e rápido. Basta fornecer algumas informações básicas, como um nome de usuário e uma senha, e você estará pronto para começar a usar a ferramenta.

O Open WebUI já detecta automaticamente os modelos que você tem instalados. Basta escolher um e começar a usar!

Como mencionei no início deste artigo, a intenção não é fazer uma busca genérica ou apenas brincar de ChatGPT localmente. Nosso objetivo é criar uma base de conhecimento sobre um assunto específico. Nesta postagem, vamos guiá-lo passo a passo sobre como utilizar a funcionalidade RAG (Retrieval Augmented Generation) do Open WebUI com o nosso modelo Llama3.

Partimos da premissa de que as empresas possuem uma série de documentos que podem servir como base de conhecimento para seus funcionários. Através de perguntas, a IA pode fornecer respostas baseadas nesse contexto. Neste exemplo, consideraremos uma equipe de desenvolvimento que, ocasionalmente, tem dúvidas sobre o modelo de trabalho ágil da empresa e gostaria de acessar informações que normalmente seriam fornecidas por um Agile Coach.

Primeiro, acesse o Espaço de Trabalho do Open WebUI e crie um prompt, conforme mostrado na imagem abaixo. Este prompt funcionará como um atalho para os funcionários que desejam obter informações sobre agilidade ou sobre o modelo de trabalho da empresa.

Após criar o prompt, acesse a aba de documentos para fazer o upload dos arquivos que a LLM utilizará para o RAG. No meu caso, farei o upload de quatro arquivos: o guia Scrum, o guia Kanban, um texto sobre XP e um arquivo PDF com o modelo de trabalho (Working Model) da empresa. Todos os documentos estão no idioma português.

Ao clicar no botão para adicionar um documento, um popup será aberto, permitindo que você escolha o arquivo em sua máquina. Além disso, será solicitado que você adicione tags ao documento,.

Guia Scrum em Português

Ao final, você deverá ver uma lista contendo todos os documentos que foram enviados.

Pronto, agora podemos começar a interagir com a IA. Digite o comando /agile-coach para acessar o prompt que você criou anteriormente.

Agora, precisamos conceder acesso aos documentos que fizemos o upload. Para isso, basta digitar # e você verá a imagem abaixo, que permitirá escolher os documentos nos quais deseja procurar. Aqui, você entenderá a o porquê das tags adicionadas aos documentos. No nosso exemplo, selecionarei Todos os Documentos.

Agora, vamos ver como a IA responde à nossa primeira pergunta. Ao selecionar os documentos e utilizar o prompt criado, a IA utilizará as informações disponíveis para fornecer uma resposta detalhada e contextualizada. Este processo demonstrará a eficácia do RAG (Retrieval Augmented Generation) em fornecer respostas precisas com base na base de conhecimento que construímos.

Veja que a IA já se baseou nas informações que temos no documento de Working Model. Vamos continuar com mais algumas perguntas.

É possível notar que na segunda pergunta ele trouxe uma informação incorreta, uma vez que o documento do Modelo de Trabalho especifica que a metodologia é Scrum. Não é possível afirmar se o erro decorre do modelo utilizado ser o Llama3–8b; talvez o modelo Llama3–70b possa fornecer uma informação mais precisa devido à sua base mais ampla. No entanto, por enquanto, vamos prosseguir com mais algumas iterações com a IA.

Ter uma LLM interna na sua empresa pode ser uma estratégia poderosa. Mas, como mencionei anteriormente, o desafio real está em alimentá-la com informações de qualidade e em criar prompts que sejam ricos e relevantes o suficiente para garantir resultados precisos e confiáveis. A qualidade dos dados que alimentam a IA é crucial para sua eficácia, garantindo que suas respostas sejam realmente úteis e pertinentes ao contexto empresarial. Portanto, é fundamental investir tempo e recursos na manutenção e atualização dessas fontes de informação, além de elaborar cuidadosamente prompts que estimulem respostas mais precisas e valiosas.

Chegamos ao final deste artigo! Espero que tenha sido útil e esclarecedor para você entender como configurar um ambiente de LLM na sua empresa e os desafios envolvidos em alimentar e utilizar essa tecnologia. Se você gostou do conteúdo e achou útil, não hesite em deixar o seu like e compartilhar com seus colegas! Sua interação é muito importante para mim.

--

--