External model connections#

外部モデルは、Postgresインスタンスの外部でホストされるAPIベースのモデルです。 AIDBは、aidb.create_model() にモデルを登録し、プロバイダー名、構成オブジェクト、およびAPIキーなどの資格情報を必要に応じて提供することにより、それらに接続します。

登録されると、外部モデルはビルトインローカルモデルとまったく同様に、AIDB SQLファンクションまたはパイプラインステップで名前によって使用されます。

OpenAI互換エンドポイント#

AIDBは、OpenAI APIを実装する埋め込みまたはチャット/補完サービスをサポートしています。これには、OpenAI自分自身、 Ollama のようなセルフホストサーバー、およびその他の準拠エンドポイントが含まれます。

エンベディング#

aidb.embeddings_config() とともにopenai_embeddings プロバイダーを使用します。 url パラメーターをオーバーライドして、要求をOpenAI互換サーバーにリダイレクトします。

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

- - Local Ollama server
SELECT aidb.create_model(
    my_ollama_embedder,
    openai_embeddings,
    config => aidb.embeddings_config(
        model => llama3.2,
        url   => http://llama.local:11434/v1/embeddings
    )
);

Parameter

Type

Default

Description

model

TEXT

Required

APIが想定するモデル識別子。

api_key

TEXT

NULL

認証用のAPIキー。

url

TEXT

NULL

APIエンドポイントURL。デフォルトではOpenAIのエンドポイントです。

basic_auth

TEXT

NULL

基本的な認証資格情報 user:password 。

max_concurrent_requests

INTEGER

NULL

エンドポイントへの最大同時要求。

max_batch_size

INTEGER

NULL

バッチ要求ごとの入力の最大数。

input_type

TEXT

NULL

エンコードの入力タイプヒントプロバイダー固有。

input_type_query

TEXT

NULL

クエリエンコーディングの入力タイプヒントプロバイダー固有。

is_hcp_model

BOOLEAN

NULL

HCPで実行されているモデルを参照する場合、`true`に設定します。

チャット完了#

aidb.completions_config() とともにopenai_completions プロバイダーを使用します。 url パラメーターは同じように機能します。OpenAIの場合は省略するか、他の準拠サーバーの場合はオーバーライドします。

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

Parameter

Type

Default

Description

model

TEXT

Required

モデル識別子。

api_key

TEXT

NULL

認証用のAPIキー。

url

TEXT

NULL

APIエンドポイントURL。デフォルトではOpenAIのエンドポイントです。

basic_auth

TEXT

NULL

基本的な認証資格情報 user:password 。

temperature

DOUBLE PRECISION

NULL

サンプリング温度。

top_p

DOUBLE PRECISION

NULL

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

seed

BIGINT

NULL

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

system_prompt

TEXT

NULL

すべての要求の前に追加されるデフォルトのシステムプロンプト。

max_tokens

JSONB

NULL

最大トークン構成`aidb.max_tokens_config()`から。

thinking

BOOLEAN

NULL

拡張推論を有効にしますサポートされているモデルのみ。

max_concurrent_requests

INTEGER

NULL

エンドポイントへの最大同時要求。

extra_args

JSONB

NULL

追加のプロバイダー固有の引数。

is_hcp_model

BOOLEAN

NULL

HCPで実行されているモデルを参照する場合、`true`に設定します。

!!!注 pgvectorインデックスを使用する場合、 pgvector limits indexed vectors to 2000 dimensions に注意してください。選択したモデルがより多くのディメンションを生成する場合、パイプラインステップでaidb.vector_index_disabled_config() を使用し、インデックスを手動で管理します。

NVIDIA NIM#

AIDBは、 build.nvidia.com でホストされるNVIDIA NIMマイクロサービスと、独自の環境で実行されているNIMインスタンスをサポートしています。

テキスト生成NIM補完#

モデル識別子とNIM APIキーでnim_completions プロバイダーを使用します。

SELECT aidb.create_model(
    my_nim_llm,
    nim_completions,
    {"model": "meta/llama-3.3-70b-instruct"}::JSONB,
    {"api_key": "<NIM API KEY>"}::JSONB
);

独自の環境で実行されているNIMインスタンスを使用するには、NIMエンドポイントを指す構成にurl キーを追加します。

登録後、aidb.decode_text() でモデルを実行します。

SELECT aidb.decode_text(my_nim_llm, Tell me a short, one sentence story);

__OUTPUT__
                                      decode_text
- ---------------------------------------------------------------------------------
 As the clock struck midnight, a single tear fell from the porcelain dolls eye.
(1 row)

マルチモーダルエンベディングNIM CLIP#

共同テキストと画像の埋め込みには、 aidb.nim_clip_config() とともにnim_clip プロバイダーを使用します。

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

aidb.nim_clip_config() パラメーター

Parameter

Type

Default

Description

api_key

TEXT

NULL

NIM認証用のAPIキー。

model

TEXT

NULL

NIM CLIPモデル識別子。

url

TEXT

NULL

NIMエンドポイントURLのオーバーライド。

basic_auth

TEXT

NULL

基本的な認証資格情報。

is_hcp_model

BOOLEAN

NULL

モデルがHCPで実行されている場合、`true`に設定します。

OCR NIM OCR#

nim_ocr プロバイダーをaidb.nim_ocr_config() とともに使用して、画像からテキストを抽出します。

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

aidb.nim_ocr_config() パラメーター

Parameter

Type

Default

Description

api_key

TEXT

NULL

NIM認証用のAPIキー。

model

TEXT

NULL

NIM OCRモデル識別子。

url

TEXT

NULL

NIMエンドポイントURLのオーバーライド。

basic_auth

TEXT

NULL

基本的な認証資格情報。

is_hcp_model

BOOLEAN

NULL

モデルがHCPで実行されている場合、`true`に設定します。

リランキングNIMリランキング#

nim_reranking プロバイダーをaidb.nim_reranking_config() とともに使用して、関連性によって検索結果を再スコアします。 aidb.rerank_text() での使用については、 Text reranking を参照してください。

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

aidb.nim_reranking_config() パラメーター

Parameter

Type

Default

Description

api_key

TEXT

NULL

NIM認証用のAPIキー。

model

TEXT

NULL

NIMリランキングモデル識別子。

url

TEXT

NULL

NIMエンドポイントURLのオーバーライド。

basic_auth

TEXT

NULL

基本的な認証資格情報。

is_hcp_model

BOOLEAN

NULL

モデルがHCPで実行されている場合、`true`に設定します。

NIM APIキーを取得するには、 build.nvidia.com でアカウントを作成し、モデルを選択して、モデルのページからキーを生成します。

Google Gemini#

aidb.gemini_config() とともにgemini プロバイダーを使用します。 Google APIキーを最初の引数として渡します。

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

aidb.gemini_config() パラメーター

Parameter

Type

Default

Description

api_key

TEXT

Required

Google APIキー。

model

TEXT

NULL

Geminiモデル識別子たとえば gemini-2.0-flash 。

url

TEXT

NULL

APIエンドポイントURLオーバーライド。

max_concurrent_requests

INTEGER

NULL

APIへの最大同時要求。

thinking_budget

INTEGER

NULL

拡張思考トークンの予算Gemini 2.xモデルのみ。

OpenRouter#

OpenRouter は、複数のプロバイダーの200以上のモデルに統合APIゲートウェイを提供します。 AIDBは、OpenRouterを介したチャット補完と埋め込みの両方をサポートしています。

チャット完了#

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_chat_config() パラメーター

Parameter

Type

Default

Description

model

TEXT

Required

OpenRouterモデル識別子。

api_key

TEXT

NULL

OpenRouter APIキー。

url

TEXT

NULL

APIエンドポイントURLオーバーライド。

max_concurrent_requests

INTEGER

NULL

最大同時要求。

max_tokens

JSONB

NULL

最大トークン構成`aidb.max_tokens_config()`から。

エンベディング#

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

aidb.openrouter_embeddings_config() パラメーター

Parameter

Type

Default

Description

model

TEXT

Required

OpenRouterエンベディングモデル識別子。

api_key

TEXT

NULL

OpenRouter APIキー。

url

TEXT

NULL

APIエンドポイントURLオーバーライド。

max_concurrent_requests

INTEGER

NULL

最大同時要求。

max_batch_size

INTEGER

NULL

バッチ要求ごとの最大入力。

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