serverless: preview
stack: preview 9.1.0
The COMPLETION
command allows you to send prompts and context to a Large Language Model (LLM) directly within your ES|QL queries, to perform text generation tasks.
Syntax
COMPLETION [column =] prompt WITH inference_id
Parameters
column
: (Optional) The name of the output column containing the LLM's response.
If not specified, the results will be stored in a column named `completion`.
If the specified column already exists, it will be overwritten with the new results.
prompt
: The input text or expression used to prompt the LLM.
This can be a string literal or a reference to a column containing text.
inference_id
: The ID of the inference endpoint to use for the task.
The inference endpoint must be configured with the `completion` task type.
Description
The COMPLETION
command provides a general-purpose interface for
text generation tasks using a Large Language Model (LLM) in ES|QL.
COMPLETION
supports a wide range of text generation tasks. Depending on your
prompt and the model you use, you can perform arbitrary text generation tasks
including:
Requirements
To use this command, you must deploy your LLM model in Elasticsearch as
an ≈inference endpoint with the
task type completion
.
Examples
Use the default column name (results stored in completion
column):
ROW question = "What is Elasticsearch?"
| COMPLETION question WITH test_completion_model
| KEEP question, completion
question:keyword | completion:keyword |
---|---|
What is Elasticsearch? | A distributed search and analytics engine |
Specify the output column (results stored in answer
column):
ROW question = "What is Elasticsearch?"
| COMPLETION answer = question WITH test_completion_model
| KEEP question, answer
question:keyword | answer:keyword |
---|---|
What is Elasticsearch? | A distributed search and analytics engine |
Summarize the top 10 highest-rated movies using a prompt:
FROM movies
| SORT rating DESC
| LIMIT 10
| EVAL prompt = CONCAT(
"Summarize this movie using the following information: \n",
"Title: ", title, "\n",
"Synopsis: ", synopsis, "\n",
"Actors: ", MV_CONCAT(actors, ", "), "\n",
)
| COMPLETION summary = prompt WITH test_completion_model
| KEEP title, summary, rating
title:keyword | summary:keyword | rating:double |
---|---|---|
The Shawshank Redemption | A tale of hope and redemption in prison. | 9.3 |
The Godfather | A mafia family's rise and fall. | 9.2 |
The Dark Knight | Batman battles the Joker in Gotham. | 9.0 |
Pulp Fiction | Interconnected crime stories with dark humor. | 8.9 |
Fight Club | A man starts an underground fight club. | 8.8 |
Inception | A thief steals secrets through dreams. | 8.8 |
The Matrix | A hacker discovers reality is a simulation. | 8.7 |
Parasite | Class conflict between two families. | 8.6 |
Interstellar | A team explores space to save humanity. | 8.6 |
The Prestige | Rival magicians engage in dangerous competition. | 8.5 |