Models reference#

Reference for all model-related functions and views in AIDB. For guide-style documentation, see Integrating models .

Catalog views#

aidb.model_providers#

Lists all available model providers registered in the system.

Column

Type

Description

server_name

name

Name of the model provider

server_description

text

Description of the provider

server_options

text[]

Available configuration options

aidb.models#

Lists all models in the registry, including built-in and user-created models.

Column

Type

Description

name

text

User-defined name for the model

provider

text

Model provider name

options

jsonb

Configured options for the model

Example#

SELECT * FROM aidb.models;

__OUTPUT__
  name  |  provider  |    options
- -------+------------+---------------
 bert   | bert_local | {"config={}"}
 clip   | clip_local | {"config={}"}
 t5     | t5_local   | {"config={}"}
(3 rows)

Model management functions#

aidb.create_model#

Registers a new model in the AIDB model registry.

Parameters#

Parameter

Type

Default

Description

name

TEXT

Required

Unique name for the model.

provider

TEXT

Required

Provider name (see aidb.model_providers).

config

JSONB

'{}'

Provider-specific configuration. Build with a Model config helpers .

credentials

JSONB

'{}'

Provider credentials (for example, {"api_key": "..."}).

replace_credentials

BOOLEAN

false

If true, updates stored credentials without re-creating the model.

TLS configuration#

To connect to HTTPS model endpoints, include a tls_config field inside config :

"tls_config": {
  "insecure_skip_verify": true,
  "ca_path": "/etc/aidb/myCA.pem"
}

Examples#

- - Minimal registration
SELECT aidb.create_model(my_t5, t5_local);

- - With config and credentials
SELECT aidb.create_model(
    name        => my_t5,
    provider    => t5_local,
    config      => {"param1": "value1"}::JSONB,
    credentials => {"token": "abcd"}::JSONB
);

- - Rotate credentials without re-creating
SELECT aidb.create_model(
    name                => my_openai,
    provider            => openai_embeddings,
    config              => aidb.embeddings_config(model => text-embedding-3-small),
    credentials         => {"api_key": "<new-key>"}::JSONB,
    replace_credentials => true
);

aidb.get_model#

Returns the configuration for a registered model.

Parameters#

Parameter

Type

Description

model_name

TEXT

Name of the model to retrieve.

Returns#

Column

Type

Description

name

text

Model name

provider

text

Provider name

options

jsonb

Configured options

Example#

SELECT * FROM aidb.get_model(t5);

__OUTPUT__
 name | provider |    options
- -----+----------+---------------
 t5   | t5_local | {"config={}"}
(1 row)

aidb.delete_model#

Removes a model from the registry. Does not affect pipelines or knowledge bases that reference it until they are next executed.

Parameters#

Parameter

Type

Description

model_name

TEXT

Name of the model to delete.

Returns#

The name, provider, and options of the deleted model as JSONB.

Example#

SELECT aidb.delete_model(t5);

__OUTPUT__
     delete_model
- --------------------------------
 (t5,t5_local,"{""config={}""}")
(1 row)

HCP model functions#

These functions manage models running on EDB Hybrid Manager (HCP).

aidb.list_hcp_models#

Lists models currently running on the Hybrid Manager.

Returns#

Column

Type

Description

name

text

Model instance name on HCP

url

text

API endpoint URL

model

text

Model identifier

Example#

SELECT * FROM aidb.list_hcp_models();

__OUTPUT__
             name              |                         url                          |            model
- ------------------------------+------------------------------------------------------+------------------------------
 llama-3-1-8b-instruct-1xgpu   | http://llama-3-1-8b-predictor.default.svc.local      | meta/llama-3.1-8b-instruct
(1 row)

aidb.create_hcp_model#

Registers an HCP-hosted model by referencing its running instance name.

Parameters#

Parameter

Type

Description

name

TEXT

User-defined name for the model in AIDB.

hcp_model_name

TEXT

Name of the model instance running on HCP.


aidb.sync_hcp_models#

Synchronizes the AIDB model registry with models currently running on HCP. Creates entries for new HCP models and deletes entries for models no longer running there.

Returns#

Column

Type

Description

status

text

created, deleted, unchanged, or skipped

model

text

Name of the synchronized model


Inference functions#

aidb.encode_text#

Encodes a single text string into a vector using the specified model.

Parameters#

Parameter

Type

Description

model_name

TEXT

Name of the registered model.

text

TEXT

Text to encode.

Returns#

VECTOR — the embedding for the input text.

Example#

SELECT aidb.encode_text(bert_local, The quick brown fox);

aidb.encode_text_batch#

Encodes an array of text strings into vectors in a single call.

Parameters#

Parameter

Type

Description

model_name

TEXT

Name of the registered model.

text

TEXT[]

Array of strings to encode.

Returns#

TABLE(id INT, value VECTOR) — one row per input, preserving input order via id .


aidb.encode_image#

Encodes a binary image into a vector using a multimodal model (for example, CLIP).

Parameters#

Parameter

Type

Description

model_name

TEXT

Name of the registered model.

image

BYTEA

Raw image bytes.

Returns#

VECTOR — the embedding for the input image.

Example#

SELECT aidb.encode_image(clip_local, pg_read_binary_file(/tmp/photo.jpg)::BYTEA);

aidb.encode_image_batch#

Encodes an array of binary images into vectors in a single call.

Parameters#

Parameter

Type

Description

model_name

TEXT

Name of the registered model.

images

BYTEA[]

Array of raw image bytes.

Returns#

TABLE(id INT, value VECTOR) — one row per input image, preserving input order via id .


aidb.decode_text#

Generates a text response from a prompt using the specified model.

Parameters#

Parameter

Type

Default

Description

model_name

TEXT

Required

Name of the registered model.

text

TEXT

Required

Text prompt or input.

inference_config

JSON

NULL

Runtime inference settings. Use :ref:``aidb.inference_config()` <#aidbinference_config>` .

Returns#

TEXT — the generated response.

Examples#

- - Basic usage
SELECT aidb.decode_text(t5_local, translate to French: Hello, world.);

- - With inference configuration
SELECT aidb.decode_text(
    my_llama,
    Explain quantum computing in one sentence.,
    aidb.inference_config(
        system_prompt => Be concise and factual.,
        temperature   => 0.7,
        max_tokens    => 100
    )::json
);

aidb.decode_text_batch#

Generates text responses for an array of prompts in a single call.

Parameters#

Parameter

Type

Default

Description

model_name

TEXT

Required

Name of the registered model.

input

TEXT[]

Required

Array of text prompts.

inference_config

JSON

NULL

Runtime inference settings. Use :ref:``aidb.inference_config()` <#aidbinference_config>` .

Returns#

TABLE(id INT, value TEXT) — one row per input prompt.

Example#

SELECT * FROM aidb.decode_text_batch(t5_local, ARRAY[
    translate to German: hello,
    translate to German: goodbye
]);

aidb.rerank_text#

Scores and ranks a set of text inputs against a query using a reranking model.

Parameters#

Parameter

Type

Default

Description

model_name

TEXT

Required

Name of a registered reranking model.

query

TEXT

Required

The query to rank inputs against.

input

TEXT[]

[]

Array of candidate texts to rank.

Returns#

Column

Type

Description

text

text

The candidate text

logit_score

double precision

Relevance score (higher = more relevant)

id

int

Original index of the text in the input array

Example#

SELECT * FROM aidb.rerank_text(
    my_reranker,
    How do I configure AIDB?,
    ARRAY[
        AIDB requires shared_preload_libraries.,
        Postgres supports JSON natively.,
        Run CREATE EXTENSION aidb CASCADE to install.
    ]
) ORDER BY logit_score DESC;

Inference configuration helper#

aidb.inference_config#

Builds a JSONB configuration object for runtime inference settings. Pass the result (cast to json ) to aidb.decode_text() , aidb.decode_text_batch() , or use it with aidb.summarize_text_config() .

All parameters are optional — omit any you don’t need.

Parameters#

Parameter

Type

Default

Description

system_prompt

TEXT

NULL

System prompt prepended to the request. Not supported by T5 models.

temperature

DOUBLE PRECISION

NULL

Sampling temperature. 0.0 is deterministic; higher values increase variety.

max_tokens

INTEGER

NULL

Maximum tokens to generate.

top_p

DOUBLE PRECISION

NULL

Nucleus sampling threshold.

seed

BIGINT

NULL

Random seed for reproducible outputs.

repeat_penalty

REAL

NULL

Penalty for repeating tokens. 1.0 = no penalty. Not supported by NIM or OpenAI.

repeat_last_n

INTEGER

NULL

Number of recent tokens considered for repeat_penalty. Not supported by NIM or OpenAI.

thinking

BOOLEAN

NULL

Controls <think> tag handling. true/NULL retains tags; false strips them.

extra_args

JSONB

NULL

Additional provider-specific arguments passed directly to the API.

Returns#

JSONB — cast to ::json before passing to inference functions.

Examples#

- - With temperature and token limit
SELECT aidb.decode_text(
    my_llama,
    What is machine learning?,
    aidb.inference_config(temperature => 0.5, max_tokens => 150)::json
);

- - Full configuration
SELECT aidb.decode_text(
    my_llama,
    Explain relativity.,
    aidb.inference_config(
        system_prompt  => You are a physics professor. Be precise.,
        temperature    => 0.3,
        max_tokens     => 200,
        top_p          => 0.9,
        seed           => 42,
        repeat_penalty => 1.1
    )::json
);

- - Hide reasoning tags from a thinking model
SELECT aidb.decode_text(
    my_reasoning_model,
    Solve: 2x + 5 = 15,
    aidb.inference_config(thinking => false)::json
);

Model config helpers#

These functions return a JSONB configuration object for the config parameter of aidb.create_model() . Each helper corresponds to a specific model provider.

aidb.embeddings_config#

For openai_embeddings and any OpenAI-compatible embeddings endpoint.

Parameter

Type

Default

Description

model

TEXT

Required

Model identifier.

api_key

TEXT

NULL

API key.

url

TEXT

NULL

Endpoint URL override.

basic_auth

TEXT

NULL

Basic auth (user:password).

max_concurrent_requests

INTEGER

NULL

Max concurrent requests.

max_batch_size

INTEGER

NULL

Max inputs per batch.

input_type

TEXT

NULL

Input type hint (provider-specific).

input_type_query

TEXT

NULL

Query input type hint (provider-specific).

tls_config

JSONB

NULL

TLS configuration.

is_hcp_model

BOOLEAN

NULL

true if model runs on HCP.

SELECT aidb.create_model(
    my_embedder,
    openai_embeddings,
    config => aidb.embeddings_config(
        model   => text-embedding-3-small,
        api_key => sk-...,
        url     => https://api.openai.com/v1
    )
);

aidb.completions_config#

For openai_completions and any OpenAI-compatible completions endpoint.

Parameter

Type

Default

Description

model

TEXT

Required

Model identifier.

api_key

TEXT

NULL

API key.

url

TEXT

NULL

Endpoint URL override.

basic_auth

TEXT

NULL

Basic auth (user:password).

system_prompt

TEXT

NULL

Default system prompt.

temperature

DOUBLE PRECISION

NULL

Sampling temperature.

top_p

DOUBLE PRECISION

NULL

Nucleus sampling threshold.

seed

BIGINT

NULL

Random seed.

thinking

BOOLEAN

NULL

<think> tag handling.

max_tokens

JSONB

NULL

Max tokens config (use aidb.max_tokens_config()).

max_concurrent_requests

INTEGER

NULL

Max concurrent requests.

extra_args

JSONB

NULL

Additional provider-specific arguments.

is_hcp_model

BOOLEAN

NULL

true if model runs on HCP.

SELECT aidb.create_model(
    my_llm,
    openai_completions,
    config => aidb.completions_config(
        model       => gpt-4o,
        api_key     => sk-...,
        temperature => 0.2
    )
);

aidb.max_tokens_config#

Builds the max_tokens object for use with aidb.completions_config() .

Parameter

Type

Default

Description

size

INTEGER

Required

Maximum tokens to generate.

format

TEXT

NULL

Format: 'default', 'legacy', or 'both'.

SELECT aidb.completions_config(
    model      => gpt-4o,
    max_tokens => aidb.max_tokens_config(size => 1024, format => default)
);

aidb.bert_config#

For the bert_local provider.

Parameter

Type

Default

Description

model

TEXT

Required

HuggingFace model identifier.

revision

TEXT

NULL

Model revision or branch.

cache_dir

TEXT

NULL

Local cache directory.

SELECT aidb.create_model(my_bert, bert_local,
    config => aidb.bert_config(sentence-transformers/all-MiniLM-L6-v2));

aidb.clip_config#

For the clip_local provider.

Parameter

Type

Default

Description

model

TEXT

Required

HuggingFace model identifier.

revision

TEXT

NULL

Model revision or branch.

cache_dir

TEXT

NULL

Local cache directory.

image_size

INTEGER

NULL

Input image size in pixels.

SELECT aidb.create_model(my_clip, clip_local,
    config => aidb.clip_config(openai/clip-vit-base-patch32));

aidb.llama_config#

For the llama_local provider.

Parameter

Type

Default

Description

model

TEXT

Required

Model identifier or HuggingFace path.

revision

TEXT

NULL

Model revision.

cache_dir

TEXT

NULL

Local cache directory.

model_path

TEXT

NULL

Explicit local path to model weights (overrides model).

system_prompt

TEXT

NULL

Default system prompt.

temperature

DOUBLE PRECISION

NULL

Sampling temperature.

top_p

DOUBLE PRECISION

NULL

Nucleus sampling threshold.

seed

BIGINT

NULL

Random seed.

sample_len

INTEGER

NULL

Max tokens to generate.

repeat_penalty

REAL

NULL

Repetition penalty.

repeat_last_n

INTEGER

NULL

Tokens considered for repetition penalty.

use_flash_attention

BOOLEAN

NULL

Enable flash attention.

use_kv_cache

BOOLEAN

NULL

Enable KV cache.

SELECT aidb.create_model(my_llama, llama_local,
    config => aidb.llama_config(
        meta-llama/Llama-3.2-3B-Instruct,
        temperature => 0.5
    )
);

aidb.t5_config#

For the t5_local provider.

Parameter

Type

Default

Description

model

TEXT

Required

Model identifier or HuggingFace path.

revision

TEXT

NULL

Model revision.

model_path

TEXT

NULL

Explicit local path to model weights.

cache_dir

TEXT

NULL

Local cache directory.

temperature

DOUBLE PRECISION

NULL

Sampling temperature.

top_p

DOUBLE PRECISION

NULL

Nucleus sampling threshold.

seed

BIGINT

NULL

Random seed.

max_tokens

INTEGER

NULL

Max tokens to generate.

repeat_penalty

REAL

NULL

Repetition penalty.

repeat_last_n

INTEGER

NULL

Tokens considered for repetition penalty.

SELECT aidb.create_model(my_t5, t5_local,
    config => aidb.t5_config(google/flan-t5-base));

aidb.gemini_config#

For the gemini provider.

Parameter

Type

Default

Description

api_key

TEXT

Required

Google API key.

model

TEXT

NULL

Gemini model identifier (for example, gemini-2.0-flash).

url

TEXT

NULL

API endpoint override.

max_concurrent_requests

INTEGER

NULL

Max concurrent requests.

thinking_budget

INTEGER

NULL

Extended thinking token budget (Gemini 2.x only).

SELECT aidb.create_model(my_gemini, gemini,
    config => aidb.gemini_config(AIza..., model => gemini-2.0-flash));

aidb.nim_clip_config#

For the nim_clip provider (NVIDIA NIM multimodal embeddings).

Parameter

Type

Default

Description

api_key

TEXT

NULL

NIM API key.

model

TEXT

NULL

NIM CLIP model identifier.

url

TEXT

NULL

NIM endpoint URL override.

basic_auth

TEXT

NULL

Basic auth credentials.

is_hcp_model

BOOLEAN

NULL

true if model runs on HCP.

SELECT aidb.create_model(my_nim_clip, nim_clip,
    config => aidb.nim_clip_config(api_key => nvapi-..., model => nvidia/nvclip));

aidb.nim_ocr_config#

For the nim_ocr provider (NVIDIA NIM OCR).

Parameter

Type

Default

Description

api_key

TEXT

NULL

NIM API key.

model

TEXT

NULL

NIM OCR model identifier.

url

TEXT

NULL

NIM endpoint URL override.

basic_auth

TEXT

NULL

Basic auth credentials.

is_hcp_model

BOOLEAN

NULL

true if model runs on HCP.

SELECT aidb.create_model(my_nim_ocr, nim_ocr,
    config => aidb.nim_ocr_config(api_key => nvapi-...));

aidb.nim_reranking_config#

For the nim_reranking provider.

Parameter

Type

Default

Description

api_key

TEXT

NULL

NIM API key.

model

TEXT

NULL

NIM reranking model identifier.

url

TEXT

NULL

NIM endpoint URL override.

basic_auth

TEXT

NULL

Basic auth credentials.

is_hcp_model

BOOLEAN

NULL

true if model runs on HCP.

SELECT aidb.create_model(my_reranker, nim_reranking,
    config => aidb.nim_reranking_config(
        api_key => nvapi-...,
        model   => nvidia/nv-rerankqa-mistral-4b-v3
    )
);

aidb.openrouter_chat_config#

For the openrouter_chat provider.

Parameter

Type

Default

Description

model

TEXT

Required

OpenRouter model identifier.

api_key

TEXT

NULL

OpenRouter API key.

url

TEXT

NULL

API endpoint override.

max_concurrent_requests

INTEGER

NULL

Max concurrent requests.

max_tokens

JSONB

NULL

Max tokens config (use aidb.max_tokens_config()).

SELECT aidb.create_model(my_or_chat, openrouter_chat,
    config => aidb.openrouter_chat_config(
        anthropic/claude-3-5-haiku,
        api_key => sk-or-...
    )
);

aidb.openrouter_embeddings_config#

For the openrouter_embeddings provider.

Parameter

Type

Default

Description

model

TEXT

Required

OpenRouter embeddings model identifier.

api_key

TEXT

NULL

OpenRouter API key.

url

TEXT

NULL

API endpoint override.

max_concurrent_requests

INTEGER

NULL

Max concurrent requests.

max_batch_size

INTEGER

NULL

Max inputs per batch.

SELECT aidb.create_model(my_or_embedder, openrouter_embeddings,
    config => aidb.openrouter_embeddings_config(
        mistral/mistral-embed,
        api_key => sk-or-...
    )
);