Back to feed

datasette-llm 0.1a1

Simon Willison's Weblog

Mar 25, 2026

3/25/2026

Centralized Task-Based Model Routing Separates Application Logic from Model Policy

datasette-llm 0.1a1 · Simon Willison's Weblog

Science, Technology & Innovation · Mar 25, 2026

Datasette now centralizes LLM model selection with a purpose-based routing layer so plugins request models by task intent (e.g., await llm.model(purpose="enrichment")), decoupling model choice from plugin code and enabling centralized governance, easier model swaps, and lower migration cost.


3/25/2026

Central Registry For LLM Purposes Enables Discovery And Tooling Across Plugins

datasette-llm 0.1a1 · Simon Willison's Weblog

Science, Technology & Innovation · Mar 25, 2026

Datasette adds register_llm_purposes() and get_purposes() to create a shared, discoverable registry of LLM task categories—turning implicit plugin conventions into explicit interfaces so plugins can declare and enumerate purposes, enabling admin UIs, validation, and treating model management as a platform-level concern.


3/25/2026

Purpose-Based Routing Of Tasks To Different Models Enables Heterogeneous Multi-Model Deployment And Reduces Lock-In

datasette-llm 0.1a1 · Simon Willison's Weblog

Science, Technology & Innovation · Mar 25, 2026

Datasette plugins use purpose-based, heterogeneous multi-model deployment—routing different tasks (e.g., data enrichment vs SQL assistance) to specialized models—to optimize cost, latency and task fit while enabling easy task-level model substitution and reducing vendor lock-in.