<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/jev-and-duckdb-plain-english-conditions-in-sql-5vrgojkir" -->

---
title: Jev and DuckDB: Plain-English Conditions in SQL | daily.dev
description: TypeSafe AI released Jev, a 'System One' model that returns typed answers (boolean, enum, or ordinal score) with calibrated probabilities instead of text, on...
canonical: https://daily.dev/posts/jev-and-duckdb-plain-english-conditions-in-sql-5vrgojkir
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Jev and DuckDB: Plain-English Conditions in SQL | daily.dev
og:description: TypeSafe AI released Jev, a 'System One' model that returns typed answers (boolean, enum, or ordinal score) with calibrated probabilities instead of text, on...
og:url: https://daily.dev/posts/jev-and-duckdb-plain-english-conditions-in-sql-5vrgojkir
og:image: https://api.daily.dev/og/posts/5VrgoJKIR.png
og:image:alt: Jev and DuckDB: Plain-English Conditions in SQL
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Jev and DuckDB: Plain-English Conditions in SQL

**[DuckDB](https://daily.dev/sources/duckdb)** · 8 min read · 0 upvotes · 0 comments

## Summary

TypeSafe AI released Jev, a 'System One' model that returns typed answers (boolean, enum, or ordinal score) with calibrated probabilities instead of text, on September 15, 2026. Within days, community developers built DuckDB extensions (duckdb-jev, duck-jev, and others) that let SQL queries filter, classify, and score rows using plain-English conditions like jev(), jev_prob(), jev_choice(), and jev_score(). The post walks through installation of the official jev community extension, example queries against Parquet data, and compares extensions' approaches to batching, caching, and typed output. It also notes performance caveats: most benchmarks come from the extension authors themselves, accuracy drops with larger batch sizes, and cheaper alternatives like fine-tuned ModernBERT or embedding retrieval may outperform Jev for fixed, high-volume classification tasks.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://duckdb.org/2026/09/29/jev.html>

## Questions this post answers

### What is TypeSafe AI's Jev model and how does it differ from a regular chat LLM in SQL workflows?

Jev is a 'System One' model released by TypeSafe AI on September 15, 2026, that returns typed answers (boolean, enum choice, or ordinal score) with calibrated probabilities instead of generating text. Unlike a chat LLM whose output must be parsed, its typed responses map directly to SQL constructs: a boolean for WHERE clauses, an enum for GROUP BY, and an ordinal for ORDER BY. TypeSafe quotes 70-500ms latency and $0.042 per million input tokens with free output tokens.

_Developers weighing typed AI inference against traditional LLM parsing for data pipelines can track new tool comparisons on daily.dev._

### How can I filter DuckDB rows using a plain-English condition instead of a LIKE pattern or regex?

Install the jev community extension with INSTALL jev FROM community; LOAD jev; then set a TypeSafe API key with SET jev_api_key. You can then write WHERE jev(table_name, 'the name is European') directly in a SELECT statement, and DuckDB sends row contents to the Jev API to evaluate the plain-English condition as a boolean predicate, combinable with normal SQL clauses like LIMIT and other WHERE conditions.

_Anyone experimenting with natural-language SQL filtering can follow extension updates like this one on daily.dev._

### Is batching many rows into fewer AI API calls actually faster for classifying DuckDB data, and does it hurt accuracy?

Yes, batching rows together dramatically reduces latency: one DuckDB extension reported a 0.211 second median for 100 nested JSON rows sent in batches of 25, versus 16.8 seconds when sent one row at a time, with a 2,049-row run completing in under a second. However, pg-jev's documentation reports accuracy drops once batches exceed roughly 20-25 rows per request, so batch size should be tested against real data before trusting results at scale.

_Teams tuning batch sizes for AI-assisted data pipelines can compare trade-offs like these on daily.dev._

## Similar posts on daily.dev

- [5 Jev use cases for analytics, with real queries and datasets](https://daily.dev/posts/5-jev-use-cases-for-analytics-with-real-queries-and-datasets-xijgxxj63) · MotherDuck · 0 upvotes · 0 comments
- [What is Jev? How System One models could change AI agents : fireup.pro](https://daily.dev/posts/what-is-jev-how-system-one-models-could-change-ai-agents-fireup-pro-eqcqub8on) · FireUp · 1 upvotes · 0 comments

---

Tags: [#llm](https://daily.dev/tags/llm), [#sql](https://daily.dev/tags/sql), [#duckdb](https://daily.dev/tags/duckdb)

[View this post on daily.dev](https://daily.dev/posts/jev-and-duckdb-plain-english-conditions-in-sql-5vrgojkir)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Jev and DuckDB: Plain-English Conditions in SQL","url":"https://daily.dev/posts/jev-and-duckdb-plain-english-conditions-in-sql-5vrgojkir","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/jev-and-duckdb-plain-english-conditions-in-sql-5vrgojkir"},"datePublished":"2026-09-29T10:20:06.701Z","dateModified":"2026-09-29T19:41:42.712Z","description":"TypeSafe AI released Jev, a 'System One' model that returns typed answers (boolean, enum, or ordinal score) with calibrated probabilities instead of text, on...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/9b25bcfc525ae9a320953de4a23dc253?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/9b25bcfc525ae9a320953de4a23dc253?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"DuckDB","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"DuckDB","logo":"https://media.daily.dev/image/upload/s--3luD3Wei--/f_auto/v1714800008/logos/duckdb","url":"https://daily.dev/sources/duckdb"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/jev-and-duckdb-plain-english-conditions-in-sql-5vrgojkir","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"llm,sql,duckdb","timeRequired":"PT8M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"DuckDB","item":"https://daily.dev/sources/duckdb"},{"@type":"ListItem","position":3,"name":"Jev and DuckDB: Plain-English Conditions in SQL"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/jev-and-duckdb-plain-english-conditions-in-sql-5vrgojkir#faq","mainEntity":[{"@type":"Question","name":"What is TypeSafe AI's Jev model and how does it differ from a regular chat LLM in SQL workflows?","acceptedAnswer":{"@type":"Answer","text":"Jev is a 'System One' model released by TypeSafe AI on September 15, 2026, that returns typed answers (boolean, enum choice, or ordinal score) with calibrated probabilities instead of generating text. Unlike a chat LLM whose output must be parsed, its typed responses map directly to SQL constructs: a boolean for WHERE clauses, an enum for GROUP BY, and an ordinal for ORDER BY. TypeSafe quotes 70-500ms latency and $0.042 per million input tokens with free output tokens. Developers weighing typed AI inference against traditional LLM parsing for data pipelines can track new tool comparisons on daily.dev."}},{"@type":"Question","name":"How can I filter DuckDB rows using a plain-English condition instead of a LIKE pattern or regex?","acceptedAnswer":{"@type":"Answer","text":"Install the jev community extension with INSTALL jev FROM community; LOAD jev; then set a TypeSafe API key with SET jev_api_key. You can then write WHERE jev(table_name, 'the name is European') directly in a SELECT statement, and DuckDB sends row contents to the Jev API to evaluate the plain-English condition as a boolean predicate, combinable with normal SQL clauses like LIMIT and other WHERE conditions. Anyone experimenting with natural-language SQL filtering can follow extension updates like this one on daily.dev."}},{"@type":"Question","name":"Is batching many rows into fewer AI API calls actually faster for classifying DuckDB data, and does it hurt accuracy?","acceptedAnswer":{"@type":"Answer","text":"Yes, batching rows together dramatically reduces latency: one DuckDB extension reported a 0.211 second median for 100 nested JSON rows sent in batches of 25, versus 16.8 seconds when sent one row at a time, with a 2,049-row run completing in under a second. However, pg-jev's documentation reports accuracy drops once batches exceed roughly 20-25 rows per request, so batch size should be tested against real data before trusting results at scale. Teams tuning batch sizes for AI-assisted data pipelines can compare trade-offs like these on daily.dev."}}]}
```

