--- warning: DO NOT CHANGE THIS MANUALLY, THIS IS GENERATED BY https://github.com/duckdb/community-extensions repository, check README there title: querio_jev excerpt: | DuckDB Community Extensions Classify, filter and score table rows with TypeSafe Jev from SQL, with dedupe, a disk cache and concurrent requests. extension: name: querio_jev description: Classify, filter and score table rows with TypeSafe Jev from SQL, with dedupe, a disk cache and concurrent requests. version: 0.1.0 language: C++ build: cmake license: MIT excluded_platforms: "wasm_mvp;wasm_eh;wasm_threads" maintainers: - ramiabih repo: github: Querio-App/duckdb-jev ref: 154d256bff323b6dd163640e06bd7936ee77088a variegata: 154d256bff323b6dd163640e06bd7936ee77088a docs: hello_world: | CREATE SECRET (TYPE jev, API_KEY '...'); SELECT jev_label('I was charged twice this month', ['billing', 'bug', 'churn']); SELECT jev_if('Please cancel my plan', 'Is the customer about to cancel?'); extended_description: | querio_jev turns TypeSafe Jev's typed decisions into SQL functions: jev_label and jev_classify (pick one, with calibrated probabilities), jev_if and jev_prob (yes/no), jev_score (ordered levels), jev_tags (multi-label in one request) and jev_ask (any set of native Jev questions in one request). Identical requests are sent once, requests already in flight on other threads are shared, answers are cached in memory and in an answers file on disk, and uncached requests go out concurrently with retries. Works with TypeSafe directly, OpenRouter or the Vercel AI Gateway. HTTPS goes through DuckDB's httpfs extension, which is loaded automatically. Not loadable alongside the community `jev` extension: both define jev_prob, jev_score and three jev_ settings. Documentation: https://github.com/Querio-App/duckdb-jev extension_star_count: {"message":"Not Found","documentation_url":"https://docs.github.com/rest/repos/repos#get-a-repository","status":"404"} extension_star_count_pretty: n/a extension_download_count: 510 extension_download_count_pretty: 510 image: '/images/community_extensions/social_preview/preview_community_extension_querio_jev.png' layout: community_extension_doc --- ### Compatibility Matrix This table covers all DuckDB releases that have not reached [end-of-life](https://duckdb.org/release_calendar), including LTS releases, and shows the 2 most recent patch releases of each. Older patch releases are not listed, but the extension may be available for them as well.
| Platform | 1.4.4 | 1.4.5 | 1.5.5 | 1.5.6 | 2.0.0 | | :--- | :---: | :---: | :---: | :---: | :---: | | Linux AMD64 | ❌ | ❌ | ❌ | ❌ | ✅ | | Linux ARM64 | ❌ | ❌ | ❌ | ❌ | ✅ | | macOS AMD64 | ❌ | ❌ | ❌ | ❌ | ❌ | | macOS ARM64 | ❌ | ❌ | ❌ | ❌ | ✅ | | Windows AMD64 | ❌ | ❌ | ❌ | ❌ | ✅ | | Windows ARM64 | ❌ | ❌ | ❌ | ❌ | ❌ | | WebAssembly | ❌ | ❌ | ❌ | ❌ | ❌ | ### Installing and Loading ```sql INSTALL {{ page.extension.name }} FROM community; LOAD {{ page.extension.name }}; ``` {% if page.docs.hello_world %} ### Example ```sql {{ page.docs.hello_world }}``` {% endif %} {% if page.docs.extended_description %} ### About {{ page.extension.name }} {{ page.docs.extended_description }} {% endif %} ### Added Functions | function_name | function_type | description | comment | examples | |-----------------|---------------|-------------|---------|----------| | jev_ask | scalar | NULL | NULL | | | jev_classify | scalar | NULL | NULL | | | jev_clear_cache | table | NULL | NULL | | | jev_if | scalar | NULL | NULL | | | jev_label | scalar | NULL | NULL | | | jev_prob | scalar | NULL | NULL | | | jev_score | scalar | NULL | NULL | | | jev_tags | scalar | NULL | NULL | | | jev_usage | table | NULL | NULL | | ### Overloaded Functions This extension does not add any function overloads. ### Added Types This extension does not add any types. ### Added Settings | name | description | input_type | scope | aliases | typed_value | |---------------------|----------------------------------------------------------------------------------------------------------------|------------|--------|---------|-------------------------------------------------| | jev_base_url | Jev API base URL: https://api.typesafe.ai, https://openrouter.ai/api, or https://ai-gateway.vercel.sh/typesafe | VARCHAR | GLOBAL | [] | https://api.typesafe.ai | | jev_cache_path | Answers file shared by every session and process. Empty string turns it off | VARCHAR | GLOBAL | [] | ~/.duckdb/extension_data/querio_jev/answers.tsv | | jev_concurrency | Requests in flight at once, across the whole process | BIGINT | GLOBAL | [] | 32 | | jev_max_requests | Most API requests one query may send; cached and deduplicated rows are free | BIGINT | GLOBAL | [] | 10000 | | jev_max_retries | Retries after 408, 429, 5xx, 529 or a dropped connection | BIGINT | GLOBAL | [] | 4 | | jev_model | Jev model to call. Pinned by default so answers stay stable | VARCHAR | GLOBAL | [] | jev-1.13.0 | | jev_on_error | 'error' fails the query when a request fails; 'null' returns NULL for that row | VARCHAR | GLOBAL | [] | error | | jev_timeout_seconds | Seconds per HTTP attempt | BIGINT | GLOBAL | [] | 30 | | temp_directory | Set the directory to which temporary files are written. | VARCHAR | GLOBAL | [] | post.db.tmp |