docs/mindsdb_sql/functions/llm_function.mdx
MindsDB provides the LLM() function that lets users incorporate the LLM-generated output directly into the data queries.
The LLM() function requires a large language model, which can be defined in the following ways:
By setting the default_llm parameter in the MindsDB configuration file.
By saving the default model in the MindsDB Editor under Settings.
By defining the environment variables as below, choosing one of the available model providers.
<AccordionGroup> <Accordion title="OpenAI"> Here are the environment variables for the OpenAI provider:```
LLM_FUNCTION_MODEL_NAME
LLM_FUNCTION_TEMPERATURE
LLM_FUNCTION_MAX_RETRIES
LLM_FUNCTION_MAX_TOKENS
LLM_FUNCTION_BASE_URL
OPENAI_API_KEY
LLM_FUNCTION_API_ORGANIZATION
LLM_FUNCTION_REQUEST_TIMEOUT
```
Note that the values stored in the environment variables are specific for each provider.
```
LLM_FUNCTION_MODEL_NAME
LLM_FUNCTION_TEMPERATURE
LLM_FUNCTION_MAX_TOKENS
LLM_FUNCTION_TOP_P
LLM_FUNCTION_TOP_K
LLM_FUNCTION_DEFAULT_REQUEST_TIMEOUT
LLM_FUNCTION_API_KEY
LLM_FUNCTION_BASE_URL
```
Note that the values stored in the environment variables are specific for each provider.
```
LLM_FUNCTION_MODEL_NAME
LLM_FUNCTION_TEMPERATURE
LLM_FUNCTION_API_BASE
LLM_FUNCTION_MAX_RETRIES
LLM_FUNCTION_MAX_TOKENS
LLM_FUNCTION_TOP_P
LLM_FUNCTION_TOP_K
```
Note that the values stored in the environment variables are specific for each provider.
```
LLM_FUNCTION_BASE_URL
LLM_FUNCTION_MODEL_NAME
LLM_FUNCTION_TEMPERATURE
LLM_FUNCTION_TOP_P
LLM_FUNCTION_TOP_K
LLM_FUNCTION_REQUEST_TIMEOUT
LLM_FUNCTION_FORMAT
LLM_FUNCTION_HEADERS
LLM_FUNCTION_NUM_PREDICT
LLM_FUNCTION_NUM_CTX
LLM_FUNCTION_NUM_GPU
LLM_FUNCTION_REPEAT_PENALTY
LLM_FUNCTION_STOP
LLM_FUNCTION_TEMPLATE
```
Note that the values stored in the environment variables are specific for each provider.
```
LLM_FUNCTION_BASE_URL
LLM_FUNCTION_MODEL_NAME
LLM_FUNCTION_TEMPERATURE
LLM_FUNCTION_TOP_P
LLM_FUNCTION_REQUEST_TIMEOUT
LLM_FUNCTION_FORMAT
LLM_FUNCTION_HEADERS
LLM_FUNCTION_NUM_PREDICT
LLM_FUNCTION_NUM_CTX
LLM_FUNCTION_NUM_GPU
LLM_FUNCTION_REPEAT_PENALTY
LLM_FUNCTION_STOP
LLM_FUNCTION_TEMPLATE
LLM_FUNCTION_NVIDIA_API_KEY
```
Note that the values stored in the environment variables are specific for each provider.
There is a number of OpenAI-compatible model providers including OpenRouter or vLLM. To use models via these providers, users need to define the base URL and the API key of the provider.
Here is an example of using OpenRouter.
LLM_FUNCTION_MODEL_NAME = "mistralai/devstral-small-2505"
LLM_FUNCTION_BASE_URL = "https://openrouter.ai/api/v1"
OPENAI_API_KEY = "openrouter-api-key"
You can use the LLM() function to simply ask a question and get an answer.
SELECT LLM('How many planets are there in the solar system?');
Here is the output:
+------------------------------------------+
| llm |
+------------------------------------------+
| There are 8 planets in the solar system. |
+------------------------------------------+
Moreover, you can use the LLM() function with your data to swiftly complete tasks such as text generation or summarization.
SELECT
comment,
LLM('Describe the comment''s category in one word: ' || comment) AS category
FROM example_db.user_comments;
Here is the output:
+--------------------------+----------+
| comment | category |
+--------------------------+----------+
| I hate tacos | Dislike |
| I want to dance | Desire |
| Baking is not a big deal | Opinion |
+--------------------------+----------+