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
BashConfigurando 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
BashDefinindo um modo padrão
O comando a seguir listará todos os modelos disponíveis.
llm models
BashPara definir um modelo padrão, basta rodar
llm models default MODELNAME
BashAtualmente estou usando gpt-4o-mini
porque é o mais barato.
Para visualizar o modelo atual, rode
llm models default
BashComandos 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"
BashOu você pode usá-lo com a saída de outro comando (prompt do sistema):
cat mycode.py | llm -s "Explique este código"
BashContinuar a última conversa
llm "MESSAGE" -c
BashPara 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
BashModo chat
llm chat
BashPara 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
BashUsar modelo
Prompt único:
llm "MESSAGE" -t TEMPLATENAME
BashChat:
llm chat -t TEMPLATENAME
BashDicas 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
BashO 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)
BashFormatar 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 -
BashExplore 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)
BashPara 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.yamlToda vez que preciso usá-lo, abro rapidamente o Guake e rodo:
pbpaste | llm -t improve-english | python3 -m rich.markdown -
BashTraduzir 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
BashConclusã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.
Deixe um comentário