TinyQuery-140M / tinyquery /recipes.py
karmx's picture
Release TinyQuery 139.7M from scratch with frozen weights, reproducible Mac evaluations and runtime source
b296ad4 verified
Raw History Blame Contribute Delete
3.53 kB
"""Semantic recipes. Placeholders are identifiers/values, never teacher-written SQL."""
RECIPES = {
'all': 'Show all rows from {table}.',
'project': 'Show only {column} from {table}.',
'eq': 'Show all rows from {table} where {category} equals {value}.',
'project_eq': 'Show {column} from {table} where {category} is {value}.',
'gt': 'Show rows from {table} with {numeric} greater than {number}.',
'lt': 'Show rows from {table} with {numeric} less than {number}.',
'gte': 'Show rows from {table} with {numeric} at least {number}.',
'lte': 'Show rows from {table} with {numeric} at most {number}.',
'between': 'Show rows from {table} with {numeric} between {number} and {upper}, inclusive.',
'and': 'Show rows from {table} where {category} is {value} and {numeric} exceeds {number}.',
'or': 'Show rows from {table} where {category} is either {value} or {other}.',
'null': 'Show rows from {table} where {column} is null.',
'not_null': 'Show rows from {table} where {column} is not null.',
'count': 'How many rows are in {table}?',
'count_eq': 'Count rows in {table} where {category} is {value}.',
'sum': 'Calculate the total {numeric} in {table}.',
'avg': 'Calculate the average {numeric} in {table}.',
'max': 'What is the maximum {numeric} in {table}?',
'min': 'What is the minimum {numeric} in {table}?',
'distinct': 'List distinct values of {category} in {table}.',
'sort_desc': 'Show all rows from {table} ordered by {numeric} from highest to lowest.',
'sort_asc': 'Show all rows from {table} ordered by {numeric} from lowest to highest.',
'top': 'Show the top {limit} rows from {table} by {numeric}, highest first.',
'bottom': 'Show the bottom {limit} rows from {table} by {numeric}, lowest first.',
'group_count': 'Count rows for each {category} in {table}.',
'group_sum': 'Show total {numeric} for each {category} in {table}.',
'having': 'Show {category} groups in {table} with more than {number} rows and their counts.',
'date_after': 'Show rows in {table} with {date_column} on or after {date}.',
'year': 'Show rows in {table} where the year of {date_column} is {year}.',
'month': 'Show rows in {table} where the month of {date_column} is {month}.',
'contains': 'Show rows in {table} whose {column} contains the literal text {value}, case-insensitively.',
'join': 'Show {table}.{column} and {parent}.{label} by joining {table}.{foreign} to {parent}.id.',
'join_filter': 'Show {table}.{column} for rows joined by {table}.{foreign} to {parent}.id where {parent}.{label} equals {value}.',
'list_tables': 'List the tables in this database.',
'describe': 'Show the columns and types of table {table}.',
'missing_schema': 'I have not provided a database schema. Find the available tables before writing SQL for {table}.',
'sql_error': 'The last query failed because a column was unknown. Inspect the schema of {table} before trying again.',
'ambiguous': 'Show the best records in {table}.',
'missing_value': 'Filter {table} by {category}, but I have not specified a value.',
'write': 'Delete every row from {table}.',
'weather': 'Get the weather in {city} using {unit}.',
'search': 'Search the documentation for {query}.',
'read_file': 'Read the file at {path}.',
'ticket': 'Look up support ticket {ticket_id}.',
'final': 'The database tool returned {count} rows. Tell me how many rows it returned.',
}
LANGUAGES = ['en', 'noisy_en', 'hi', 'hinglish']