llm_reduce function in Flock consolidates multiple rows of text-based results into a single output. It is used
in SQL queries with the GROUP BY clause to combine multiple values into a summary or reduced form.
Modalities
Text
Aggregate tabular text columns across a group.Image
Summarize visual themes across a group withtype: 'image'.
Voice
Summarize spoken content withtype: 'audio' and transcription_model (OpenAI / Azure).
1. Usage Examples
1.1. Example without GROUP BY
Summarize all product descriptions into one single result:
llm_reduce function processes
the product_description column for each row, consolidating the values into a single summarized output.
1.2. Example with GROUP BY
Group the products by category and summarize their descriptions into one for each category:
1.3. Using a Named Prompt with GROUP BY
Leverage a reusable named prompt for summarization, grouped by category:
summarizer) with version 1 to summarize product
descriptions. The results are grouped by category, with one summary per category.
1.4. Advanced Example with Multiple Columns and GROUP BY
Summarize product details by category, using both the product name and description:
product_name and product_description
columns for products in the “Electronics” category, generating a detailed summary for that category.
2. Input Parameters
2.1 Model Configuration
- Parameter:
model_nameandsecret_name
2.1.1 Model Selection
- Description: Specifies the model used for text generation.
- Example:
2.1.2 Model Selection with Secret
- Description: Specifies the model along with the secret name to be used for authentication when accessing the model.
- Example:
2.2. Prompt Configuration
Two types of prompts can be used:-
Inline Prompt
- Directly provides the prompt in the query.
- Example:
-
Named Prompt
- Refers to a pre-configured prompt by name.
- Example:
-
Named Prompt with Version
- Refers to a specific version of a pre-configured prompt.
- Example:
2.3. Context Columns Configuration
- Key:
context_columnsarray. - Purpose: Maps table columns to provide input data for the model. Each column can have three properties:
data: The SQL column data (required)name: Custom name for the column to be referenced in the prompt (optional)type: Data type —"tabular"(default),"image", or"audio"(audio requirestranscription_model)
- Example:
3. Output
- Column Type: JSON.
- Behavior: Consolidates multiple rows into a single model response per group. Without a schema the JSON typically holds free-form summary text; with a JSON schema in
model_parametersthe response matches that shape (OpenAIresponse_format, Ollamaformat, or Anthropicoutput_format/ tool-use). UseLOAD JSONto extract fields.

