Ethanporath
Initial commit
2568dca
Raw History Blame Contribute Delete
5.37 kB
{
"input_parameters": [
{
"name": "question",
"type": "string",
"description": "Human readable question about information in teh company database",
"required": true
}
],
"output_schema": {
"type": "object",
"properties": {
"columns": {
"type": "array",
"items": {
"type": "string"
},
"description": "Only include necessary columns. Each column must match the columnTable documentation. DO NOT invent columns."
},
"filters": {
"type": "array",
"items": {
"type": "object",
"properties": {
"col": {
"type": "string"
},
"op": {
"type": "string"
},
"val": {}
},
"required": [
"col",
"op",
"val"
]
},
"description": "Use operators: ==, !=, >, <, >=, <=, in, not in, is null, is not null. Use 'extras' key for like/ilike."
},
"metrics": {
"type": "array",
"minItems": 0,
"items": {
"type": "object",
"properties": {
"label": {
"type": "string",
"description": "Name of the output column for the metric"
},
"expressionType": {
"type": "string",
"enum": [
"SQL",
"SIMPLE"
],
"description": "Type of expression used. Typically 'SQL'."
},
"sqlExpression": {
"type": "string",
"description": "SQL expression to calculate the metric, such as 'COUNT(*)' or 'AVG(score)'"
}
},
"required": [
"label",
"expressionType",
"sqlExpression"
]
},
"description": "Either an empty array, or an array of expression objects with 'label', 'expressionType', and 'sqlExpression'."
},
"orderby": {
"type": "array",
"minItems": 0,
"items": {
"type": "array",
"items": [
{
"type": "string",
"description": "Column name"
},
{
"type": "boolean",
"description": "Column name. To sort in acending order use False and in decending order use True"
}
],
"minItems": 2,
"maxItems": 2
},
"description": "Either an empty array, or a list of [column_name, is_ascending] pairs. Column must be in 'columns'."
},
"groupby": {
"type": "array",
"description": "Optional list of column names to group results by. Grouping is used to aggregate rows that share the same values in the specified columns, often used in combination with metrics.",
"minItems": 0,
"items": {
"type": "string",
"description": "A column name to group by, should be one or more of theß columns used in the columns item"
}
},
"row_limit": {
"type": "integer",
"default": 10,
"description": "Default: 10, max: 30."
}
},
"required": [
"columns",
"filters",
"metrics",
"orderby",
"grouby",
"row_limit"
]
},
"example": {
"input": "Human readable question",
"output": {
"columns": [
"column_name1",
"column_name2"
],
"filters": [
{
"col": "column_name",
"op": "operator",
"val": "value"
}
],
"metrics": [
{
"label": "column_name",
"expressionType": "expression",
"sqlExpression": "SQL expression to calculate the metric"
}
],
"grouby": [
[
"column_name1",
"column_name2"
]
],
"orderby": [
[
"column_name",
"(true) or (false)"
]
],
"row_limit": 10
}
}
}