Model / text · All operations
Ask a language model
Call a large language model.
Status
- In arcform
Not built yet
arcform does not do this yet. Its place on the roadmap
- Shape of the result
- one row out per row in, with columns added or changed
- Level
- needs a DuckDB extension
Variants
- Fine-tune a language model
Train an existing language model further on the input rows to suit a task.
- Ask a model about a whole column
Send the values of many rows to a language model in one prompt and get one answer back.
Prompt a model for each row
Send a prompt built from each row to a language model and store its reply in a new column.
What other tools call it
Meridian's classification; an independent blind rating agreed on 86.2% of 312 rows (exact class, version 2).
Alteryx Designer (1)
Promptread 2026-09-27Send a prompt per record to a large language model and return the response
Apache Hop (2)
Language model chatread 2026-09-27Send prompts to OpenAI, Anthropic, Hugging Face, Mistral or Ollama chat models
Structured extractread 2026-09-27Pull named, typed fields out of free text through an AI provider
Apache SeaTunnel (1)
LLMread 2026-09-27Send row fields with a prompt to a large language model and store the reply in a new column
Duckle (2)
Classifyread 2026-09-25per-row classification into given categories by an LLM
LLM Transformread 2026-09-25per-row completion from an OpenAI-compatible chat endpoint
EasyMorph (1)
Ask AIread 2026-09-27Send a free-form prompt to ChatGPT or a compatible LLM service
KNIME Analytics Platform (1)
KNIME AI Extension (extension)read 2026-09-27Extension outside the base install: 56 current nodes: Agent Chat View; Agent Chat Widget (experimental); Agent Prompter, …
Power Query M (1)
FabricAI.Promptread 2026-09-27Send an input to an AI model and return its response
RapidMiner Studio (17)
Conversationalread 2026-09-27Apply a conversational model to a prompt column
Conversational (History)read 2026-09-27Apply a conversational model to a full conversation history
Fill Maskread 2026-09-27Apply a fill-mask model to predict the masked word in a prompt
Finetune (OpenAI)read 2026-09-27Fine-tune an OpenAI model on the input rows
Finetune Text Classificationread 2026-09-27Fine-tune a language model for text classification on the input rows
Finetune Text Generationread 2026-09-27Fine-tune a language model for text generation on the input rows
Finetune Text2Text Generationread 2026-09-27Fine-tune a language model for text-to-text generation on the input rows
Finetune Translationread 2026-09-27Fine-tune a language model for translation on the input rows
Generate Image (LLM)read 2026-09-27Generate an image from a prompt with a generative model
Generate Text (LLM)read 2026-09-27Generate text from a prompt with a large language model
Question Answeringread 2026-09-27Apply a question-answering model to a question and context
Send Conversation (OpenAI)read 2026-09-27Send a full conversation to an OpenAI model and return the response
Send Prompt (OpenAI)read 2026-09-27Send a prompt per row to an OpenAI model and store the response in a new column
Summarizationread 2026-09-27Apply a summarisation model to a text column
Text Generationread 2026-09-27Apply a text generation model to a prompt column
Text2Text Generationread 2026-09-27Apply a text-to-text generation model to a prompt column
Translationread 2026-09-27Apply a translation model to a text column
Talend (5)
tBedrockClientread 2026-09-27Connect to Amazon Bedrock and call a foundation model chosen by model id
tClaudeAIClientread 2026-09-27Call Claude models through the Claude API
tGeminiClientread 2026-09-27Call Gemini models through the Gemini API
tOllamaClientread 2026-09-27Call Ollama models through the Langchain4j Ollama API
tOpenAIClientread 2026-09-27Call OpenAI models through the OpenAI API
VisiData (2)
llm-analyze-columnread 2026-09-23(experimental) Send current column of all rows to an LLM with a query
llm-analyze-selectedread 2026-09-23(experimental) Send current column of selected rows to an LLM with a query
Background
A large language model (LLM) is a machine learning model trained on a vast amount of text that can typically generate, summarise, translate and analyse text.[1] In Apache SeaTunnel, the LLM transform sends data to an LLM and receives the generated results, to label, clean or enrich the data.[2] The Alteryx Prompt tool creates a new prompt for each row of its incoming data and sends an LLM request for each of those rows.[3]
When to use it
In Apache SeaTunnel, an LLM transform given the prompt "Determine whether someone is Chinese or American by their name" adds an llm_output column holding the answer for each row.[2] Reach for a model where a person could make the judgement from the text but no rule written in SQL captures it: a label, a cleaned-up spelling, a field buried in a sentence. (Meridian's view)
Hallucinations are output from a model that is syntactically fluent and appears factually sound but is factually incorrect.[1] Biased or inaccurate training data can make an LLM's output less reliable.[1] In OpenAI's API, LLM output is non-deterministic, and model behaviour changes between model snapshots and families.[4] Treat a column of model answers as a draft: keep the model's name and the prompt beside it, and check a sample of rows by hand before anything downstream relies on it. (Meridian's view)
LLMs have trouble telling user instructions apart from instructions in content the user did not write, such as web pages and uploaded files.[1] Text in the column being sent is that kind of content, so a cell that reads like an instruction may be followed as one. (Meridian's view)
VisiData's experimental LLM analysis asks for confirmation before analysing more than 100 rows, warning that the run may take some time and money.[5] Run the prompt over a few rows first, and count what the whole column will cost before sending it. (Meridian's view)
The method
LLMs are typically based on the transformer neural network architecture.[1] Generative pre-trained transformers (GPTs) are a type of LLM pre-trained to predict the next word, and GPTs are then often fine-tuned to follow instructions and to behave as assistants.[1] Prompt engineering is the process of structuring natural language inputs, known as prompts, to produce specified outputs from a generative artificial intelligence (AI) model.[6] In 2020, OpenAI researchers showed that GPT-3 could work out what format to use from a few rounds of questions and answers given as examples in its input, a technique called few-shot prompting.[1]
The DuckDB ai community extension returns each model answer as an ordinary DuckDB value, such as a VARCHAR, a BOOLEAN, a DOUBLE or a typed STRUCT.[7] The DuckDB ai extension's ai_extract_record function returns a STRUCT whose fields are shaped by a JSON Schema, so the answer arrives as typed fields rather than free text.[7] In Apache SeaTunnel, the LLM transform's output_data_type option sets the type of its output column to STRING, INT, BIGINT, DOUBLE or BOOLEAN.[2] VisiData's experimental LLM analysis asks the model to reply in JSON with a score and an analysis, and searches the raw reply for a score when the reply does not parse as JSON.[5]
The DuckDB ai extension's ai_usage and ai_usage_summary functions track calls, tokens, failures and estimated cost.[7] The DuckDB ai extension's ai_try_complete function returns a response and an error together, so one failed row does not stop the query.[7] Flock, an experimental DuckDB extension, introduces MODEL and PROMPT objects as first-class SQL entities.[8] Flock is part of ongoing research by the Data & AI Systems (DAIS) Laboratory at Polytechnique Montréal.[8]
Sources
- [1]Large language model - Wikipediasecondary source
- [2]LLM | Apache SeaTunneldocumentation
- [3]Prompt Tooldocumentation
- [4]Model optimization | OpenAI APIdocumentation
- [5]visidata/visidata/experimental/llm.py at 7609212ec2febafa9caba7183cbebfaf49627909 · saulpw/visidata · GitHubdocumentation
- [6]Prompt engineering - Wikipediasecondary source
- [7]ai – DuckDB Community Extensionsdocumentation
- [8]flock – DuckDB Community Extensionsdocumentation