anofox-decide
DuckDB extension adding decide_probability, decide_choice and decide_score SQL functions backed by Jev or local open decision models.
Overview
anofox-decide brings natural-language decisions into DuckDB SQL. You ask a yes/no question, pick one of options you define, or rate text on an ordered scale as a SQL function over any text or structured column, and get calibrated probabilities back, so you choose thresholds and can measure answer quality. Questions and answer sets live in the query; there is no training or glue code.
The same functions work across many models: hosted TypeSafe Jev, Liquid AI D1 and Cloudflare Clef; local servers such as strands-decider and Kev or any System One compatible server; and fully offline in-process models Julia-1 and Laya on ONNX Runtime. Because all answer the same questions through the same functions, you can swap models without changing queries and compare them on your own data in one statement. It installs from the DuckDB community repository.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Yes / no | A refund is requested. | true · false |
| Choice | Which team owns this? | billing · defect · other |
| Score | How frustrated is the writer? | calm · frustrated · angry |
How it works
- INSTALL and LOAD the extension
- Register a model (e.g. jev-latest via TypeSafe, or a local one)
- Call decide_* functions in a SELECT over your table
- Threshold or aggregate probabilities in SQL
Strengths
- Decisions stay inside SQL
- Swap hosted or offline models without changing queries
- Compare models on your own data in one statement
Caveats
- Fastest-release builds are unsigned and need duckdb -unsigned
- Hosted models need their own keys
Getting started
INSTALL anofox_decide FROM community; LOAD anofox_decide;At a glance
- Type
- Plugin
- Status
- beta
- Language
- C++
- Runtime
- DuckDB extension
- Has code
- yes
Use cases and integrations
How curated lists describe it
DuckDB extension: evaluate natural-language predicates and answer sets with TypeSafe Jev or local open decision models (Julia-1, Laya).
hellogumbo/awesome-jev
Frequently asked questions
Which models can it use?
TypeSafe Jev, Liquid AI D1, Cloudflare Clef, local System One servers, and offline Julia-1 and Laya.
Do I need a TypeSafe key?
Only for Jev; the offline models need none.
How do I compare models?
Call the same decide functions with different registered models in one query.
Related projects
ComfyUI nodes for Jev-style noul, choice and score decisions over images and text using a local imajev adapter on Qwen3.5.
ProjectbetaPythondbt package whose macros run Jev Choice, Noul and Score over SQL values in DuckDB and ClickHouse models.
ProjectbetaSQL (Jinja)DuckDB extension that asks Jev about every row in SQL and returns answers as ENUM, DOUBLE or STRUCT columns.
PluginbetaC++dbt package and Terraform module adding jev_noul, jev_choice, jev_score and jev_ask SQL functions to Snowflake.
LibrarybetaSQLPortable SQLite C extension depending only on libcurl that adds jev_noul, jev_choice and jev_score SQL functions.
PluginbetaCDuckDB extension and Python package for semantic SQL that batches row-level filters, joins and classification on Jev.
PluginresearchC++