Local models#
AIDBは2種類のローカルモデルをサポートしています。どちらも外部APIを必要とせずにPostgresホストで直接実行されます。
デフォルトモデル — AIDBは、サポートされている各モデルタイプのデフォルトバリアントをバンドルし、自動的に登録します。使用を開始するために構成は必要ありませんが、モデルのファイルは、初めて使用するときにHuggingFaceからダウンロードされます。 ローカルモデルのダウンロード を参照してください。
カスタムモデル 別のモデルバリアント、微調整モデル、または特定のローカルパスが必要な場合は、
aidb.create_model()を使用してカスタムバージョンを登録できます。
ローカルモデルは、2つの推論ランタイムCandleまたはllama.cppのいずれかで実行されます。日常の使用法aidb.create_model()
、aidb.encode_text() 、aidb.generate_text() など -
いずれの方法でも同じです。以下の各モデルのプロバイダーは、使用するランタイムをノートするだけです。
デフォルトモデル#
次のモデルは、構成なしですべてのAIDBインストールで使用できます。プロバイダー列の意味については、 モデルプロバイダー を参照してください。
Model name |
Provider |
Use |
|---|---|---|
bert |
bert_local (Candle) |
Text embeddings |
clip |
clip_local (Candle) |
Multimodal embeddings (text and image) |
t5 |
t5_local (Candle) |
Text-to-text generation |
llama |
llama_instruct_local (Candle) |
Text-to-text generation |
bge-small-en-v1.5-f16 |
llamacpp_embeddings (llama.cpp) |
Text embeddings |
nomic-embed-text-v1.5-Q8_0 |
llamacpp_embeddings (llama.cpp) |
Text embeddings |
bge-m3-f16 |
llamacpp_embeddings (llama.cpp) |
Text embeddings |
qwen3-embedding-0.6b-Q8_0 |
llamacpp_embeddings (llama.cpp) |
Text embeddings |
qwen3-embedding-4b-Q8_0 |
llamacpp_embeddings (llama.cpp) |
Text embeddings |
qwen3.5-0.8b-Q8_0 |
llamacpp_generate (llama.cpp) |
Text-to-text generation |
llama-3.2-1b-instruct-Q8_0 |
llamacpp_generate (llama.cpp) |
Text-to-text generation |
lightonocr-2-1b-Q8_0 |
llamacpp_ocr (llama.cpp) |
OCR (text extraction from images) |
dummy |
dummy |
Testing and development (returns zeros) |
AIDB SQLファンクションまたはパイプラインステップ構成で、名前で直接使用します。
- - Text embedding with the default BERT model
SELECT aidb.encode_text(bert, The quick brown fox);
- - Image embedding with the default CLIP model
SELECT aidb.encode_image(clip, pg_read_binary_file(/tmp/photo.jpg)::BYTEA);
- - Text generation with the default T5 model
SELECT aidb.generate_text(t5, Translate to French: Hello, world.);
- - Text embedding with a default llama.cpp embedding model
SELECT aidb.encode_text(bge-small-en-v1.5-f16, The quick brown fox);
- - Text generation with a default llama.cpp model
SELECT aidb.generate_text(qwen3.5-0.8b-Q8_0, Translate to French: Hello, world.);
モデルプロバイダー#
provider
は、モデルにどの推論エンジンを使用するかaidb.create_model()
に指示します。これはSQLの列挙型ではありません。これは、AIDBのモデルレジストリに登録されているPostgres外部サーバーの名前であり、モデル作成時にアダプターと照合されます。インストールに登録されているプロバイダーとその説明をリストします。
SELECT server_name, server_description FROM aidb.model_providers ORDER BY server_name;
AIDBのローカルプロバイダー、それぞれの背後にあるランタイム、およびそれらの目的
Provider |
Runtime |
Description |
|---|---|---|
bert_local |
Candle |
シンプルな言語モデル、テキストのエンコードに最適です。 |
clip_local |
Candle |
ビジョン/テキストモデル、テキストと画像のエンコードに最適です。 |
t5_local |
Candle |
翻訳、要約、質問回答に最適です。 |
llama_instruct_local |
Candle |
Metaの大規模言語モデルファミリーの命令バリアント。 |
llamacpp_generate |
llama.cpp |
llama.cpp GGUF形式を介したローカルLLM推論。 |
llamacpp_embeddings |
llama.cpp |
llama.cpp GGUF形式を介したローカルテキスト埋め込み。 |
llamacpp_reranking |
llama.cpp |
llama.cpp GGUF形式を介したローカルリランキング。 |
llamacpp_ocr |
llama.cpp |
llama.cpp GGUF形式を介したローカルOCR画像からのテキスト抽出。 |
dummy |
— |
テストに最適な偽のデータを提供します。 |
aidb.model_providers は、外部APIプロバイダーOpenAI、NVIDIA
NIM、Gemini、OpenRouterなどもリストします。これらについては、
External model connections を参照してください。完全な列リファレンスについては、
helpb.model_providers を参照してください。
モデルファイル形式とタスクに一致するプロバイダーを選択し、 カスタムモデル の下の一致する構成ヘルパーで構成します。または、上記のすぐに使用できる デフォルトモデル のいずれかを使用します。
カスタムモデル#
別のモデルバージョン、微調整されたモデル、または特定のローカルパスが必要な場合、
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、CLIP、T5、およびLlamaはCandleで実行され、それぞれに独自の構成ヘルパーがあります。 llama.cpp独自のサブセクション、最後は別のランタイムを実行し、構成ヘルパーがまだありません。
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 |
モデルファイルをキャッシュするためのローカルディレクトリ。 |
image_size |
INTEGER |
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 |
モデル名またはパス。 |
revision |
TEXT |
NULL |
モデルのリビジョンまたはブランチ。 |
temperature |
DOUBLE PRECISION |
NULL |
サンプリング温度。 |
seed |
BIGINT |
NULL |
再現可能な出力のランダムシード。 |
max_tokens |
INTEGER |
NULL |
生成する最大トークン。 |
repeat_penalty |
REAL |
NULL |
繰り返されるトークンに適用されるペナルティ。 |
repeat_last_n |
INTEGER |
NULL |
リピートペナルティの対象とされる後続トークンの数。 |
model_path |
TEXT |
NULL |
モデルの重みへの明示的なローカルパス `model`をオーバーライドします。 |
cache_dir |
TEXT |
NULL |
モデルファイルをキャッシュするためのローカルディレクトリ。 |
top_p |
DOUBLE PRECISION |
NULL |
nucleusサンプリングしきい値。 |
ラマ#
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 |
モデル名またはパス。 |
revision |
TEXT |
NULL |
モデルのリビジョンまたはブランチ。 |
cache_dir |
TEXT |
NULL |
モデルファイルをキャッシュするためのローカルディレクトリ。 |
system_prompt |
TEXT |
NULL |
デフォルトのシステムプロンプト。 |
use_flash_attention |
BOOLEAN |
NULL |
フラッシュアテンションを有効にします。 |
model_path |
TEXT |
NULL |
モデルの重みへの明示的なローカルパス `model`をオーバーライドします。 |
seed |
BIGINT |
NULL |
再現可能な出力のランダムシード。 |
temperature |
DOUBLE PRECISION |
NULL |
サンプリング温度。 |
top_p |
DOUBLE PRECISION |
NULL |
nucleusサンプリングしきい値。 |
sample_len |
INTEGER |
NULL |
生成する最大トークン。 |
use_kv_cache |
BOOLEAN |
NULL |
KVキャッシュを有効にします。 |
repeat_penalty |
REAL |
NULL |
繰り返されるトークンに適用されるペナルティ。 |
repeat_last_n |
INTEGER |
NULL |
リピートペナルティの対象とされる後続トークンの数。 |
!!!note
ローカルモデルファイルはHuggingFaceからダウンロードされ、最初に使用するときにキャッシュされます。
Postgresプロセスには、ネットワークアクセスとキャッシュディレクトリへの書き込みアクセスが必要です。エアギャップ環境の場合、モデルファイルを事前ダウンロードし、
model_path またはcache_dir
を使用してローカルコピーをポイントします。
llama.cpp#
llama.cppは、GGUF形式のモデルファイル—量子化されたオープンウェイトモデルの一般的な配布形式—を4つのプロバイダーを介して実行します。テキスト生成はllamacpp_generate
、テキスト埋め込みはllamacpp_embeddings
、リランキングはllamacpp_reranking
、OCR画像からテキスト抽出はllamacpp_ocr
。それらのいずれかを、HuggingFaceからダウンロードした、または既にディスク上にあるGGUFファイルをポイントします。
AIDBの事前登録されたGGUFモデルについては、上記の デフォルトモデル を参照してください。以下のレシピを使用して、別のレシピを登録します。
llamacpp_generate#
SELECT aidb.create_model(
name => my_llamacpp_chat,
provider => llamacpp_generate,
config => jsonb_build_object(
local_path, /var/lib/aidb/models/qwen2.5-3b-instruct-q4_k_m.gguf,
n_ctx, 4096,
temperature, 0.2
)
);
Parameter |
Type |
Default |
Description |
|---|---|---|---|
model |
TEXT |
Required unless local_path is set |
HuggingFaceリポIDたとえば Qwen/Qwen2-0.5B-Instruct-GGUF。 |
model_file |
TEXT |
Required unless local_path is set |
リポジトリ内の`.gguf`のファイル名。分割GGUFの場合、任意の1つのシャードを名前付けます。すべてのシャードがダウンロードされ、llama.cppがそれらを再アセンブルします。 |
revision |
TEXT |
main |
HuggingFaceリビジョン。 |
local_path |
TEXT |
NULL |
ローカルの`.gguf`ファイルへの絶対パス。 model/model_file/`revision`をオーバーライドします。 |
cache_dir |
TEXT |
NULL |
ダウンロードしたモデルファイルをキャッシュするためのローカルディレクトリ。 |
n_ctx |
INTEGER |
4096 |
コンテキストウィンドウ、トークン単位。 GGUFがトレーニングされた値に制限されます。 |
chat_template |
TEXT |
NULL |
GGUFに焼き付けられたチャットテンプレートをオーバーライドします。 |
temperature |
DOUBLE PRECISION |
0.7 |
サンプリング温度。 |
top_p |
DOUBLE PRECISION |
0.9 |
nucleusサンプリングしきい値。 |
max_tokens |
INTEGER |
512 |
生成する最大トークン。 |
seed |
BIGINT |
NULL |
再現可能な出力のランダムシード。 |
system_prompt |
TEXT |
NULL |
すべての要求の先頭に追加されるシステムプロンプト。 |
repeat_penalty |
REAL |
1.1 |
繰り返されるトークンに適用されるペナルティ。 |
repeat_last_n |
INTEGER |
64 |
リピートペナルティの対象とされる後続トークンの数。 |
thinking |
BOOLEAN |
NULL (keeps tags) |
レスポンスでの`<think>`タグ処理を制御します。false`はそれらをストリップし、`true/unsetはそれらを保持します。 |
llamacpp_generate は、ネイティブのopenai_responses
およびanthropic_messages
プロバイダーと同様に、ツール呼び出しと構造化出力のためにtools
、tool_choice 、およびresponse_format をサポートします
External model connections を参照してください — ツール呼び出しと構造化出力 を参照してください。
llamacpp_embeddings#
SELECT aidb.create_model(
name => my_llamacpp_embed,
provider => llamacpp_embeddings,
config => jsonb_build_object(
model, nomic-ai/nomic-embed-text-v1.5-GGUF,
model_file, nomic-embed-text-v1.5.Q4_K_M.gguf,
revision, 0188c9bf409793f810680a5a431e7b899c46104c,
n_ctx, 2048,
normalize, true
)
);
Parameter |
Type |
Default |
Description |
|---|---|---|---|
model |
TEXT |
Required unless local_path is set |
HuggingFaceリポIDたとえば nomic-ai/nomic-embed-text-v1.5-GGUF。 |
model_file |
TEXT |
Required unless local_path is set |
リポジトリ内の`.gguf`のファイル名。分割GGUFの場合、任意の1つのシャードを名前付けます。すべてのシャードがダウンロードされ、llama.cppがそれらを再アセンブルします。 |
revision |
TEXT |
main |
HuggingFaceリビジョン。 |
local_path |
TEXT |
NULL |
ローカルの`.gguf`ファイルへの絶対パス。 model/model_file/`revision`をオーバーライドします。 |
cache_dir |
TEXT |
NULL |
ダウンロードしたモデルファイルをキャッシュするためのローカルディレクトリ。 |
n_ctx |
INTEGER |
2048 |
コンテキストウィンドウ、トークン単位。 GGUFがトレーニングされた値に制限されます。 |
pooling |
TEXT |
unspecified |
プーリング戦略 unspecified GGUF独自のメタデータを使用 、 none、 mean、 cls、または`last` |
normalize |
BOOLEAN |
true |
出力埋め込みベクトルをL2正規化します。 |
llamacpp_reranking#
1つのプロバイダーの背後で2つの異なるリランカーアーキテクチャを提供します。スコアリングメカニズムはGGUFのメタデータから自動検出するか、明示的に設定できます。
- - Cross-encoder (auto-detected from the GGUFs architecture)
SELECT aidb.create_model(
name => my_llamacpp_reranker,
provider => llamacpp_reranking,
config => jsonb_build_object(
model, gpustack/bge-reranker-v2-m3-GGUF,
model_file, bge-reranker-v2-m3-Q4_K_M.gguf,
revision, 3093af03b1a635e67b084b1d8c03c5f5e020fd05,
n_ctx, 2048
)
);
- - Decoder-only (Qwen3-Reranker family), with a custom task instruction
SELECT aidb.create_model(
name => my_llamacpp_reranker_decoder,
provider => llamacpp_reranking,
config => jsonb_build_object(
model, ggml-org/Qwen3-Reranker-0.6B-Q8_0-GGUF,
model_file, qwen3-reranker-0.6b-q8_0.gguf,
revision, a02f48bb4f057028298c21fa033da2b30d7742d5,
n_ctx, 2048,
instruction, Retrieve legal passages relevant to the query
)
);
Parameter |
Type |
Default |
Description |
|---|---|---|---|
model |
TEXT |
Required unless local_path is set |
HuggingFaceリポIDたとえば gpustack/bge-reranker-v2-m3-GGUF。 |
model_file |
TEXT |
Required unless local_path is set |
リポジトリ内の`.gguf`のファイル名。分割GGUFの場合、任意の1つのシャードを名前付けます。すべてのシャードがダウンロードされ、llama.cppがそれらを再アセンブルします。 |
revision |
TEXT |
main |
HuggingFaceリビジョン。 |
local_path |
TEXT |
NULL |
ローカルの`.gguf`ファイルへの絶対パス。 model/model_file/`revision`をオーバーライドします。 |
cache_dir |
TEXT |
NULL |
ダウンロードしたモデルファイルをキャッシュするためのローカルディレクトリ。 |
n_ctx |
INTEGER |
2048 |
コンテキストウィンドウ、トークン単位。クエリ/ドキュメントのペアは、適合しない場合、呼び出し時にサイレントに切り捨てられるのではなく、拒否されます。 |
reranker_type |
TEXT |
NULL (auto-detected) |
スコアリングメカニズム`cross_encoder`または`decoder_only`を強制します。誤検出を修正する場合にのみ必要です。 |
instruction |
TEXT |
Built-in generic retrieval instruction |
デコーダー専用のリランカーQwen3-Rerankerファミリーのタスク指示。クロスエンコーダーによって無視されます。 |
llamacpp_reranking は、GGUFのgeneral.architecture
メタデータからスコアリングメカニズムを自動検出します。 qwen3
アーキテクチャは、Qwen3-Rerankerファミリーのyes/noverdict-tokenプロンプトを使用して、デコーダーのみとしてスコアします。他のアーキテクチャはモデルのロード時に拒否されます。誤検出されたにもかかわらず、モデルがこれらの2つのスコアパスのいずれかに一致することを確認している場合にのみ、
reranker_type を明示的に設定します。
!!!note nim_reranking
や他のリモートリランキングプロバイダーとは異なり、llamacpp_reranking
のlogit_score
は、正規化された0〜1の関連性スコアではなく、生の無制限のモデルロジットです。プロバイダーまたは呼び出し全体ではなく、1つのaidb.rerank_text()
呼び出し内のスコアを比較します。
!!!note
llama.cppにはまだ構成ヘルパー機能がありません。上記のように、jsonb_build_object()
を使用してconfig をビルドします。また、今日はCPUのみです。
GPUオフロードオプションはありません。
promoteb.max_threads およびCandleランタイムが使用できるスレッドの数を制御するには、
promoteb.max_threads を参照してください。
llamacpp_ocr#
ローカルビジョン言語のGGUFモデルとそのマルチモーダルプロジェクターmmprojファイルを使用して、画像からテキストを抽出します。
SELECT aidb.create_model(
name => my_llamacpp_ocr,
provider => llamacpp_ocr,
config => jsonb_build_object(
model, ggml-org/LightOnOCR-2-1B-GGUF,
model_file, LightOnOCR-2-1B-Q8_0.gguf,
mmproj_file, mmproj-LightOnOCR-2-1B-Q8_0.gguf,
revision, 7d4daf70c2856a155b1413def00f4ae59843a9cf,
n_ctx, 8192
)
);
Parameter |
Type |
Default |
Description |
|---|---|---|---|
model |
TEXT |
Required unless local_path is set |
HuggingFaceリポIDたとえば ggml-org/LightOnOCR-2-1B-GGUF。 |
model_file |
TEXT |
Required unless local_path is set |
リポジトリ内のベースモデル`.gguf`のファイル名。 |
mmproj_file |
TEXT |
Required unless mmproj_local_path is set |
ベースモデルと同じHuggingFaceリポジトリ/リビジョンにあるマルチモーダルプロジェクターmmproj `.gguf`のファイル名。 |
mmproj_local_path |
TEXT |
NULL |
ローカルmmproj `.gguf`ファイルへの絶対パス。 HuggingFaceベースの`mmproj_file`ダウンロードをオーバーライドします。 |
revision |
TEXT |
main |
HuggingFaceリビジョン。 |
local_path |
TEXT |
NULL |
ローカルベースモデル`.gguf`ファイルへの絶対パス。 model/model_file/`revision`をオーバーライドします。 |
cache_dir |
TEXT |
NULL |
ダウンロードしたモデルファイルをキャッシュするためのローカルディレクトリ。 |
n_ctx |
INTEGER |
8192 |
コンテキストウィンドウ、トークン単位。 |
prompt |
TEXT |
Built-in transcription instruction |
各画像とともに送信されるOCR指示。プロンプトの影響はモデルによって異なります。 |
temperature |
DOUBLE PRECISION |
0.0 |
サンプリング温度。クリエイティブなサンプリングではなく忠実な文字起こしには、デフォルトの`0.0`が使用されます。 |
作成時にモデルの検証#
デフォルトでは、aidb.create_model()
は登録の一部としてモデルを検証します。モデルファイルをダウンロードしてロードし、小さなプローブ推論を実行して、登録がコミットする前にモデルが機能していることを確認します。ローカルモデルの場合、これにより、大規模な可能性のあるダウンロードとロードが、最初に使用するのではなく作成時に移動します。
検証が失敗した場合たとえば、モデル識別子がHuggingFaceに存在しない、model_path
が間違っている、または重みをロードできない場合、すぐにエラーが報告され、モデルは登録されません。
- - Validated by default: downloads, loads, and probes the model now.
SELECT aidb.create_model(my_bert, bert_local,
config => aidb.bert_config(sentence-transformers/all-MiniLM-L6-v2));
validate => false
を渡して、ダウンロードまたはロードせずにモデルを登録します。ダウンロードを最初に使用するまで延期したり、ネットワークアクセスがまだない環境にモデルを登録したりするのに役立ちます。
SELECT aidb.create_model(my_bert, bert_local,
config => aidb.bert_config(sentence-transformers/all-MiniLM-L6-v2),
validate => false);
aidb.validate_model() を使用して、モデルを後で検証したり、既存のモデルを再チェックしたりできます。
ローカルモデルのダウンロード#
ローカルモデルが初めて使用されるとき、またはそのキャッシュが欠落または破損しているとき、AIDBはHuggingFaceから構成済みのcache_dir
にモデルファイルをダウンロードします。ダウンローダーは進行状況メッセージを発行し、一時的なネットワーク障害を自動的に再試行します。
進行状況メッセージ#
AIDBは、ファイルごとに、要求の開始時にdownloading
行を生成し、終了時にcomplete
行を生成します。マルチギガバイトのファイルの場合、ハートビートラインは、累積バイト数と完了パーセントを約30秒ごとにレポートするため、大規模なダウンロード中にセッションがフリーズしたように見えません。
SELECT aidb.generate_text(t5, test);
__OUTPUT__
NOTICE: [t5_local] loading t5-small (rev refs/pr/15) -> /var/.../snapshots/refs/pr/15
NOTICE: [hf] downloading https://huggingface.co/t5-small/resolve/refs%2Fpr%2F15/config.json (expected: 1.2 KB)
NOTICE: [hf] complete: https://huggingface.co/t5-small/resolve/refs%2Fpr%2F15/config.json (1.2 KB) in 0.9s
NOTICE: [hf] downloading https://huggingface.co/t5-small/resolve/refs%2Fpr%2F15/model.safetensors (size unknown)
NOTICE: [hf] downloading t5-small/model.safetensors: 115.4 MB / 230.8 MB (50.0%)
NOTICE: [hf] downloading t5-small/model.safetensors: 216.4 MB / 230.8 MB (93.7%)
NOTICE: [hf] complete: https://huggingface.co/t5-small/resolve/refs%2Fpr%2F15/model.safetensors (230.8 MB) in 83.5s
デフォルトでは、これらの行はNOTICE
レベルでクライアントに送信されます。
helpb.download_log_level パラメーターを使用して、代わりにサーバーログにルーティングするか、完全に抑制します。
再試行と再開#
マルチギガバイトのダウンロードの途中で接続をドロップするCDNは、要求を完全に失敗しません。
再試行ごとに、以前の試行が停止した場所から
Rangeヘッダーが送信されるため、進行状況はゼロからリスタートするのではなく、試行にわたって蓄積されます。AIDBは、「まだ新しいバイトを受信している」と「ゼロの進行状況」を区別し、 quietb.download_max_attempts に対するストールした試行のみをカウントし、試行間の指数関数的なバックオフを使用します。
psqlからのCtrl-Cは、現在の要求がタイムアウトするのを待機する代わりに、再試行の間に着陸します。
ファイルごとの試行の合計数は、 quietb.download_max_attempts デフォルト30
によって制限されます。
検証と自己修復#
AIDBは、HuggingFaceによって宣伝されるサイズとSHA-256ハッシュを使用してダウンロードされたファイルを検証し、これらの値を記録する完了した各ダウンロードの横に小さなサイドカーファイルを書き込みます。キャッシュヒットするたびに、AIDBはサイドカーに対してファイルサイズを再チェックするため、元のダウンロードの後に切り詰められたファイルは、使用される前にキャッチされます。
モデルのロード時に、キャッシュされたファイルが破損していると検出された場合、AIDBは影響を受けたスナップショットをパージし、自動的に1回再ダウンロードします。
登録されたモデルを使用する#
登録されると、モデルは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(
name => my_pipeline,
source => my_source_table,
source_key_column => id,
source_data_column => content,
step_1 => KnowledgeBase,
step_1_options => aidb.knowledge_base_config(model => my_bert, data_format => Text)
);
すべてのモデル構成ヘルパーファンクションの完全なパラメーターの詳細については、
Models reference を参照してください。一部のファンクションgenerate_text()
、summarize_text()
は、呼び出しごとの構成オーバーライドも受け入れます。作成時と呼び出し時間の設定については、
構成モデル を参照してください。
AIDBのローカルプロバイダーで動作するようにテストおよび検証されたHuggingFaceモデルバリアントのリストについては、 Support matrix を参照してください。
障害対応#
llama.cppモデルのロードと推論の問題#
llamacpp_generate 、llamacpp_embeddings
、またはllamacpp_reranking
モデルのロードに失敗したり、タイムアウトしたり、その他の予期しない動作をした場合、AIDB自分自身のエラーメッセージには、診断するための十分な詳細がない場合があります。
llama.cppのネイティブ診断ログを有効にして、サーバーログに独自の出力GGUFメタデータ、テンソル形状、およびバックエンド/モデルの初期化を表示します。
aidb.enable_llamacpp_logs = true
このパラメーターは、拡張機能の初期化時に1回読み込まれるため、Postgresを再起動して変更を有効にします。SET
およびpg_reload_conf()
だけでは適用されません。完全なパラメーターリファレンスについては、
agentb.enable_llamacpp_logs を参照してください。
llama.cppのネイティブ出力が冗長であるためモデルロードごとに数百行があるため、デフォルトではオフになっているため、問題を調査しているときにのみオンにして、その後オフに戻します。これはllama.cppモデルにのみ適用されます。
Candleベースモデルbert_local 、clip_local 、t5_local
、llama_instruct_local は影響を受けません。