Skip to main content

Model DDLs

This topic describes the data definition language (DDL) statements for registering, viewing, modifying, and deleting AI models.

Usage Notes

  • The system supports various large model services with OpenAI compatible interfaces.

CREATE MODEL

Register a Model

Run a CREATE MODEL command in the SQL editor to register a model.

Syntax

CREATE [TEMPORARY] MODEL [catalog_name.][db_name.]model_name
INPUT ( { <physical_column_definition> [, ...n] )
OUTPUT ( { <physical_column_definition> [, ...n] )
WITH (key1=val1, key2=val2, ...)

<physical_column_definition>:
column_name column_type [COMMENT column_comment]
ClauseDescriptionKey parametersSchema requirementsExample
INPUTDefines the fields, field types, and field order of input data.column_name, column_type, COMMENTExactly one STRING field is required.INPUT (input_text STRING COMMENT 'User comment')
OUTPUTDefines the fields, field types, and field order of output data.column_name, column_type, COMMENTConstraints for different task types:
- chat/completions: Exactly one STRING field is required.
- embeddings: Exactly one ARRAY<FLOAT> field is required.
OUTPUT (sentiment_label STRING COMMENT 'Sentiment label')
WITHSee Parameters.provider, endpoint, apiKey, modelNone.WITH ('provider'='openai', 'endpoint'='${ENDPOINT}', 'model'='gpt-4.1', 'apiKey'='${KEY}')

Examples

Completion Model

The following example registers a model for sentiment analysis using an OpenAI-compatible completion service. You can use a proxy to access the API if needed.

CREATE MODEL sentiment_analysis_model
INPUT (input STRING)
OUTPUT (output STRING)
WITH (
'provider' = 'openai',
'task' = 'completions',
'endpoint' = 'https://proxy.example.com/v1/chat/completions',
'apiKey' = '<your-api-key>',
'system_prompt' = 'Analyze the sentiment of the text and return only POSITIVE, NEGATIVE, or NEUTRAL.',
'model' = 'gpt-4.1'
);

When you call this model, the following happens:

  1. You pass a string of text via the input column.
  2. The model sends this to the API with the system prompt.
  3. The model analyzes the text and responds with POSITIVE, NEGATIVE, or NEUTRAL.
  4. The result is returned in the output field.

Embedding Model

The following example registers an embedding model to convert text into numerical vectors.

CREATE MODEL text_embedding_model
INPUT (input STRING)
OUTPUT (embedding ARRAY<FLOAT>)
WITH (
'provider' = 'openai',
'endpoint' = 'https://api.example.com/v1/chat/embeddings',
'apiKey' = '<your-api-key>',
'model' = 'text-embedding-v3'
);

These embeddings are useful for:

  • Semantic search: Find relevant documents based on meaning rather than keyword matches.
  • Duplicate detection: Identify semantically identical entries.
  • Text clustering: Automatically group similar documents.
  • Recommendation systems: Suggest items based on content similarity.
  • Anomaly detection: Find unusual or unexpected text entries.

Parameters

General

ParameterDescriptionData typeRequiredDefault valueNote
providerThe model service provider.StringYesNoneSet to openai for OpenAI-compatible services.
endpointThe API endpoint for chat, completions, or embeddings.StringYesNoneRefer to your service's API documentation for the correct endpoint.
api-keyThe API key used to access the model service.StringYesNoneIn VERA Engine 4.1, use apiKey.
max-context-sizeThe maximum context length in a single request.IntegerNoNoneSupported in VERA Engine 4.2 and later.
context-overflow-actionSpecifies how to handle a context exceeding the limit.StringNotruncated-tailSupported in VERA Engine 4.2 and later. Valid values: truncated-tail, truncated-tail-log, truncated-head, truncated-head-log, skipped, skipped-log.

chat/completions

ParameterDescriptionData typeRequiredDefault value
modelThe model to call (e.g., gpt-4.1).StringYesNone
system-promptThe system prompt for the request.StringYes"You are a helpful assistant."
temperatureControls the randomness of the output (0 to 2).FloatNoNone
top-pSpecifies cumulative probability for sampling.FloatNoNone
stopThe stop sequence string.StringNoNone
max-tokensMaximum length of generated texts.IntegerNoNone

embeddings

ParameterDescriptionData typeRequiredDefault valueNote
modelThe model to call.StringYesNone
dimensionControls the output vector dimension.IntegerNo1024Valid values: 1024, 768, 512.

View Models

Use the following commands to view information about registered models.

  • Show registered models:
    SHOW MODELS [ ( FROM | IN ) [catalog_name.]database_name ];
  • Show model registration statement:
    SHOW CREATE MODEL [catalog_name.][db_name.]model_name;
  • Show model schema:
    DESCRIBE MODEL [catalog_name.][db_name.]model_name;

Modify Models

Use the ALTER MODEL command to modify an existing model.

ALTER MODEL [IF EXISTS] [catalog_name.][db_name.]model_name {
RENAME TO new_model_name
SET (key1=val1, ...)
RESET (key1, ...)
}

Examples

  • Rename a model:
    ALTER MODEL m RENAME TO m1;
  • Modify a parameter:
    ALTER MODEL m SET ('endpoint' = 'https://new-endpoint.example.com');
  • Reset a parameter:
    ALTER MODEL m RESET ('endpoint');

Delete Models

Use the DROP MODEL command to delete a registered model.

DROP [TEMPORARY] MODEL [IF EXISTS] [catalog_name.][db_name.]model_name

Example

DROP MODEL sentiment_analysis_model;