Parte do meu processo de aprendizado em inteligência artificial envolve não apenas usá-la diariamente, mas também explorar maneiras de melhorar meu uso. Isso inclui aprimorar sua facilidade de uso e velocidade, assim como aumentar gradualmente a complexidade das minhas interações.

Isso me levou a ferramentas de linha de comando, como o Fabric, que possui muitos modelos de prompts, mas o fato de eu precisar salvar manualmente cada saída me incomodava. Ao assistir AI tools for software engineers, but without the hype – with Simon Willison (Co-Creator of Django), do Pragmatic Engineer Podcast, descobri o LLM, uma ferramenta de linha de comando e biblioteca Python para interagir com LLM, que automaticamente salva os resultados em um banco de dados SQLite. Isso era exatamente o que eu estava procurando. Demorou um pouco para eu experimentá-lo, mas após assistir a outro vídeo (Language models on the command-line w/ Simon Willison), finalmente decidi testá-lo. Como esse processo não foi isento de dificuldades, decidi criar um guia rápido para que você possa experimentar essa ferramenta mais rápido do que eu.

Instalação e configuração

Instalando o pacote

Estou usando Ubuntu 24.04, mas tirando esta seção, tudo o que está escrito funcionará em outros Sistemas Operacionais, como Mac e Windows.

A maneira mais fácil de instalá-lo é rodando:

pipx install llm
Bash

Configurando a OpenAI

Agora vamos configurar a OpenAI. Se você precisar de ajuda, escrevi anteriormente explicando como obter a chave da API do OpenAI e algumas dicas para manter os custos sob controle.

llm keys set openai
Bash

Definindo um modo padrão

O comando a seguir listará todos os modelos disponíveis.

llm models
Bash

Para definir um modelo padrão, basta rodar

llm models default MODELNAME
Bash

Atualmente estou usando gpt-4o-mini porque é o mais barato.

Para visualizar o modelo atual, rode

llm models default
Bash

Comandos mais utilizados

Abaixo está uma lista dos comandos que mais uso. Se você quiser aprender mais, confira a documentação de uso da LLM.

Prompt único

llm "MESSAGE"
Bash

Ou você pode usá-lo com a saída de outro comando (prompt do sistema):

cat mycode.py | llm -s "Explique este código"
Bash

Continuar a última conversa

llm "MESSAGE" -c
Bash

Para continuar uma conversa que não é a mais recente, primeiro obtenha seu ID usando llm logs e depois digite llm "MESSAGE" --cid ID.

Definir modelo específico para um prompt

llm "MESSAGE" -m MODELNAME
Bash

Modo chat

llm chat
Bash

Para abrir um chat para continuar seu último prompt, use llm chat -c.

Modelos

Documentação oficial para modelos de prompt.

Criar modelo

llm --system 'PROMPTMESSAGE' --save TEMPLATENAME
Bash

Usar modelo

Prompt único:

llm "MESSAGE" -t TEMPLATENAME
Bash

Chat:

llm chat -t TEMPLATENAME
Bash

Dicas para melhorar sua experiência

Use com pbpaste e pbcopy

Isso é muito útil, pois elimina a necessidade de copiar e colar entradas ou saídas ao usar o LLM. Se você não usa Mac, escrevi sobre como usar pbcopy e pbpaste no Linux (Ubuntu ou outros).

Aqui está um exemplo para melhorar um conteúdo que copiei para a minha área de transferência (CTRL+V):

pbpaste | llm -s "melhore o inglês" | pbcopy
Bash

O comando acima não exibe nenhuma saída porque é copiado para a sua área de transferência. No entanto, se você gostaria de visualizar a saída, você pode rodar o seguinte comando:

pbpaste | llm -s "melhore o inglês" | tee >(pbcopy)
Bash

Formatar saída em Markdown

Uma solução é usar a biblioteca Rich do Python para renderizar Markdown com a saída do comando:

llm "MESSAGE" | python3 -m rich.markdown -
Bash

Explore logs com Datasette

Datasette também é uma ferramenta criada por Simon, para explorar e publicar dados. Após instalá-lo, a maneira mais simples de usá-lo é:

datasette $(llm logs path)
Bash

Para verificar o status do seu log, rode llm logs status.

Saiba mais sobre o registro do LLM no SQLite.

Exemplos reais de uso

Melhorar meu inglês escrito

Eu criei um modelo chamado improve-english com o seguinte conteúdo:

system: Correct and English writing, explaining why in markdown format. For the output, separate in sections (##) and for the improved version keep the original format.
improve-english.yaml

Toda vez que preciso usá-lo, abro rapidamente o Guake e rodo:

pbpaste | llm -t improve-english | python3 -m rich.markdown -
Bash

Traduzir minhas postagens de blog

Estou fazendo alguns testes para traduzir o conteúdo do inglês para o português brasileiro, usando:

pbpaste | llm -s "translate this content from English to Brazilian Portuguese without changing it or it's structure, output in markdown" | pbcopy
Bash

Conclusão

Espero que este post tenha te ajudado a configurar rapidamente esta ferramenta e a entender melhor como você pode usá-la para melhorar seu uso diário de IA em geral. Ainda há muito que quero aprender, como usar plugins ou rodar modelos locais, e espero escrever sobre isso no futuro.

O que mais me empolga nesta ferramenta é a capacidade de usar o histórico de logs para construir outros projetos que possam ajudar a aprimorar meu processo de aprendizado.



Comments

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *