datasette-llm 0.1a9: o Datasette Agent agora usa o modelo padrão do LLM

ilustração representando o plugin datasette-llm 0.1a9 e o Datasette Agent

Fala aí, beleza? Se tu já usa o Datasette, a ferramenta de linha de comando LLM ou o Datasette Agent pra conversar com um banco SQLite local, essa aqui é pra você

O Simon Willison soltou em 31 de outubro uma atualização no plugin que fica por baixo do agente, e ele mesmo descreve como uma tiny user experience improvement, ou seja, uma pequena melhoria de experiência de uso

A mudança está registrada na nota de release da tag 0.1a9 no GitHub: o plugin agora usa o modelo padrão do LLM se nenhum outro padrão tiver sido especificado

Pequena, sim, mas tira um passo chato do caminho 🙂

O que é o datasette-llm e qual a relação com o Datasette Agent

O datasette-llm é um plugin de integração com o LLM pensado pra outros plugins do Datasette dependerem dele

Pensa nele como uma camada comum: em vez de cada plugin resolver sozinho como falar com um modelo, todo mundo passa por ali

E é exatamente isso que o Datasette Agent faz, ele depende do datasette-llm pra chamar os modelos de linguagem

Por isso uma mudança no plugin de baixo já aparece direto no agente

Vale lembrar que o datasette-llm está em versões alfa, na série 0.1aN, então a 0.1a9 é mais um passo dessa fase

Do lado do agente, o suporte é a modelos com tool calling de vários fornecedores (OpenAI, Anthropic, Google Gemini) e também a modelos de pesos abertos, tudo via plugins do LLM

Quer ver o agente funcionando antes de instalar qualquer coisa? Tem uma demo pública em agent.datasette.io

Como iniciar o Datasette Agent antes e depois da 0.1a9

Agora o agente sobe sem tu precisar dizer qual modelo usar, desde que o LLM já tenha um padrão configurado e esse modelo esteja disponível pro Datasette: ele precisa ter chave de API (a menos que require_keys esteja desativado) e não pode estar excluído por models, blocked_models ou pelo hook llm_filter_models. Se esse modelo não estiver disponível, a chamada falha com ModelNotFoundError

O comando que o autor mostra no anúncio é este:

uvx --with datasette-agent datasette content.db --internal internal.db

Antes, além disso, era preciso passar o modelo pela opção -s, como no exemplo dele:

-s plugins.datasette-agent.default_model gpt-6-astra

O gpt-6-astra aí é só o exemplo usado no post, beleza? Não é uma recomendação de modelo

Já a documentação do Datasette Agent orienta outro caminho: configurar um modelo padrão antes de abrir /-/agent, com plugins.datasette-llm.default_model no datasette.yml: e essa orientação continua valendo hoje, mesmo depois da 0.1a9

Se liga que são chaves diferentes: a do exemplo do Simon fica no plugin do agente (datasette-agent), a da documentação fica no plugin de baixo (datasette-llm)

As fontes não detalham qual delas tem prioridade quando as duas estão definidas, então não dá pra tratar uma como substituta da outra

E por que isso importa?

Quem já usa o LLM normalmente já escolheu um modelo por lá, e repetir essa escolha no Datasette era só atrito, MAIS uma configuração pra lembrar e manter sincronizada

É a mesma lógica de quem centraliza a escolha de modelo num lugar só, tipo quem monta o OpenCode com LiteLLM pra não ficar configurando provedor em cada ferramenta: escolheu uma vez, reaproveita

Qual modelo o Datasette Agent vai usar agora

Depende do que já está configurado, e a regra da 0.1a9 é simples: o plugin só recorre ao padrão do LLM quando nenhum outro padrão foi especificado

Ou seja, se tu já tinha definido um modelo no Datasette, essa escolha continua valendo

Se não definiu nada, entra o modelo padrão do LLM, que é configurado na própria ferramenta com:

llm models default <model>

E se tu nunca rodou esse comando? Aí vale o padrão embutido do LLM

Tome cuidado com esse cenário: se tu nunca mexeu no padrão, o agente vai usar um modelo que tu não escolheu conscientemente, e esse modelo ainda precisa estar disponível (com chave de API e sem estar bloqueado), senão a chamada falha. Então vale conferir antes

A nota de release não diz qual modelo funciona melhor com o agente, então essa escolha continua sendo tua

Se tu ainda está naquela fase de decidir qual modelo usar no dia a dia, o vídeo abaixo ajuda a pensar nos critérios de escolha

Vídeo complementar do canal Hora de Codar, sobre um assunto relacionado.

Próximo passo e o que vem por aí

Antes de subir o agente com o comando novo, vale garantir que tu já tem um modelo padrão definido no LLM. Se não tiver certeza, define um explicitamente com:

llm models default <model>

Trocando <model> pelo modelo que tu quer usar. Assim tu sabe exatamente qual modelo o Datasette Agent vai chamar quando não houver outro padrão definido no Datasette

E dá uma olhada na nota de release da tag 0.1a9 no repositório datasette/datasette-llm pra ver a mudança na fonte

Por fim, o Simon avisou que tem atualizações grandes do Datasette Agent a caminho, sem dizer quais

Então é ficar de olho nos próximos releases…

Até o próximo post! 😀

Quer aprender mais sobre inteligência artificial e programação na prática? Conheça o canal Hora de Codar no YouTube e acompanhe os próximos vídeos.

Escrito por | Matheus Battisti

Matheus Battisti
Fundador da Hora de Codar

Programador apaixonado pelo mundo das tecnologias, sempre buscando em aprender e se aprofundar em linguagens, frameworks e o que mais for necessário para executar um bom trabalho. Agora tem uma nova missão que é de passar seu conhecimento adiante para formar novos programadores e especializar mais os que já são.

Formações

Formação Vibe Coding

Formação Vibe Coding

Do Prompt ao Produto: Crie Software Real com IA

  • 474 aulas
  • 20 projetos
  • 39h 30min

Blog | Mais populares