Local models#

AIDBは2種類のローカルモデルをサポートしています。どちらも外部APIを必要とせずにPostgresホストで直接実行されます。

  • ビルトインモデル — AIDBは、サポートされている各モデルタイプのデフォルトバリアントをバンドルし、自動的に登録します。使用を開始するために設定は必要ありません。

  • カスタムローカルモデル — 別のモデルバリアント、微調整モデル、または特定のローカルパスが必要な場合は、 aidb.create_model() を使用してカスタムバージョンを登録できます。

ビルトインモデル#

次のモデルは、すべてのAIDBインストールで構成なしで使用できます。

Model name

Provider

Use

bert

bert_local

Text embeddings

clip

clip_local

Multimodal embeddings (text and image)

t5

t5_local

Text-to-text generation

llama

llama_instruct_local

Text-to-text generation

dummy

dummy

Testing and development (returns zeros)

AIDB SQLファンクションまたはパイプラインステップ構成で、名前で直接使用します。

- - Text embedding with the built-in BERT model
SELECT aidb.encode_text(bert, The quick brown fox);

- - Image embedding with the built-in CLIP model
SELECT aidb.encode_image(clip, pg_read_binary_file(/tmp/photo.jpg)::BYTEA);

- - Text generation with the built-in T5 model
SELECT aidb.decode_text(t5, Translate to French: Hello, world.);

カスタムローカルモデル#

別のモデルバージョン、微調整されたモデル、または特定のローカルパスが必要な場合、 aidb.create_model() を使用してカスタムバリアントを登録します。

SELECT aidb.create_model(
    name     => my_model,
    provider => <provider>,
    config   => <config_helper>(...)
);

Parameter

Type

Description

name

TEXT

このモデルの一意の名前。パイプラインおよびSQLファンクションで参照するために使用されます。

provider

TEXT

モデルプロバイダー。 AIDBが使用する推論エンジンを決定します。

config

JSONB

プロバイダー固有の構成、構成ヘルパー機能で構築されています。

BERT#

aidb.bert_config() を使用して、HuggingFaceモデル識別子、オプションのリビジョン、およびオプションのローカルキャッシュディレクトリを指定します。

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

Parameter

Type

Default

Description

model

TEXT

Required

モデル名またはパスHuggingFace識別子。

revision

TEXT

NULL

モデルのリビジョンまたはブランチ。

cache_dir

TEXT

NULL

モデルファイルをキャッシュするためのローカルディレクトリ。

クリップ#

aidb.clip_config() を使用して、ジョイントテキストと画像埋め込みのCLIPベースのマルチモーダルモデルを構成します。

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

Parameter

Type

Default

Description

model

TEXT

Required

モデル名またはパスHuggingFace識別子。

revision

TEXT

NULL

モデルのリビジョンまたはブランチ。

cache_dir

TEXT

NULL

モデルファイルをキャッシュするためのローカルディレクトリ。

T5#

aidb.t5_config() を使用して、T5テキスト対テキストモデルを構成します。 T5モデルは、バリアントに応じて、翻訳、要約、質問応答などのタスクをサポートします。

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

Parameter

Type

Default

Description

model

TEXT

Required

モデル名またはパス。

model_path

TEXT

NULL

モデルの重みへの明示的なローカルパス `model`をオーバーライドします。

cache_dir

TEXT

NULL

モデルファイルをキャッシュするためのローカルディレクトリ。

ラマ#

aidb.llama_config() を使用して、テキスト生成用のLlamaファミリー言語モデルを構成します。 Llamaモデルは、温度、top-pサンプリング、コンテキスト長、およびその他の生成パラメーターをサポートしています。

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

Parameter

Type

Default

Description

model

TEXT

Required

モデル名またはパス。

cache_dir

TEXT

NULL

モデルファイルをキャッシュするためのローカルディレクトリ。

model_path

TEXT

NULL

モデルの重みへの明示的なローカルパス `model`をオーバーライドします。

temperature

DOUBLE PRECISION

NULL

サンプリング温度。

top_p

DOUBLE PRECISION

NULL

nucleusサンプリングしきい値。

seed

BIGINT

NULL

再現可能な出力のランダムシード。

!!!注 ローカルモデルファイルはHuggingFaceからダウンロードされ、最初に使用するときにキャッシュされます。 Postgresプロセスには、ネットワークアクセスとキャッシュディレクトリへの書き込みアクセスが必要です。エアギャップ環境の場合、モデルファイルを事前ダウンロードし、 model_path またはcache_dir を使用してローカルコピーをポイントします。

登録されたモデルを使用する#

登録されると、モデルはAIDBファンクションで名前で参照されます。カスタムモデルとビルトインモデルは互換性があります。

- - Use a custom BERT model for embedding
SELECT aidb.encode_text(my_bert, Hello world);

- - Use a custom BERT model in a pipeline step
SELECT aidb.create_pipeline(
    my_pipeline,
    ...
    step_1_operation => Embed,
    step_1_options   => aidb.knowledge_base_config(my_bert, Text),
    ...
);

すべての構成ヘルパー機能の完全なパラメーターの詳細については、 Pipelines API reference を参照してください。

AIDBのローカルプロバイダーで動作するようにテストおよび検証されたHuggingFaceモデルバリアントのリストについては、 Support matrix を参照してください。