Novos LLMs
Gemma 2 é a nova família de LLMs lançada pelo Google. Construída a partir de aprimoramentos na arquitetura dos modelos Gemma, que alimentam o Gemini, Gemma 2 chega ao público com ótimo desempenho. Porém, os novos modelos ainda não estão acessíveis via chatbots como o Gemini. Felizmente, eles já podem ser usados com Python de diversas maneiras. Várias versões da IA podem ser obtidas no site do Kaggle, na plataforma Hugging Face e através da ferramenta Ollama. Esta última opção é a mais fácil de usar e será o tema deste post.
Gemma 2 em Python com Ollama
Para usar o novo modelo com Python através da ferramenta Ollama, ela precisa ser instalada como descrito aqui. Verifique se seu sistema tem os requisitos mínimos. Após a instalação do Ollama, é necessário instalar a biblioteca Ollama para Python. O comando para instalação é mostrado abaixo:
pip install ollama
Em seguida, o modelo que utilizaremos precisa ser baixado. Existem várias versões do Gemma 2 disponíveis em mais de um tamanho. Embora o anúncio oficial informe sobre dois tamanhos apenas (9 bilhões de parâmetros e 27 bilhões de parâmetros), é possível encontrar um modelo de 2 bilhões. Esse tamanho é ideal para rodar em máquinas locais. Ele será nossa opção. Para baixá-lo com Ollama, digite o comando no terminal:
ollama pull gemma2:2b
Após essas etapas iniciais, o modelo está pronto para ser executado via códigos Python.
Gemma 2 com Python
O uso do LLM Gemma 2 em si é simples. Num código Python, primeiro importamos a biblioteca Ollama e inicializamos um cliente.
import ollama
# inicia o cliente
client = ollama.Client()
Em seguida, precisamos apenas definir um prompt e o LLM. No nosso caso, o LLM será o Gemma 2 2B.
# Define um prompt
prompt = "Explique em cerca de 100 palavras o que é IA."
# especifica o modelo para responder ao prompt
response = client.generate(model="gemma2:2b", prompt=prompt)
Agora basta imprimir a resposta, salvar e executar o código. O texto gerado pelo Gemma 2 será impresso diretamente no terminal.
print("Resposta do Gemma2:", response['response'])
Veja um exemplo de resposta abaixo para o prompt usado:
Resposta do Gemma2: IA, ou Inteligência Artificial, é a capacidade de machines realizar tarefas que normalmente exigem inteligência humana, como:
* **Compreender e gerar texto:** responder perguntas, escrever histórias, traduzir idiomas.
* **Identificar padrões:** reconhecer imagens, detectar fraudes, prever tendências.
* **Tomar decisões:** jogar xadrez, escolher o melhor caminho, tomar ações em situações complexas.
A IA é alimentada por algoritmos e grandes volumes de dados, permitindo que máquinas aprendam a realizar essas tarefas com base em padrões e experiências anteriores.
Ela tem impulsionado avanços em diversas áreas como saúde, indústria, educação e entretenimento.
Com isso, você já pode executar uma das mais modernas IAs disponíveis diretamente do seu computador.
Atenção a um detalhe: embora Gemma 2 seja um modelo multilínguas, ele domina melhor o inglês. Por isso, às vezes ele troca palavras e respostas (veja acima o termo machines) para esse idioma quando não consegue realizar a geração completa na língua solicitada. Essa limitação pode ser contorna usando um modelo maior para quem possui um sistema adequado ou usa o Colab.