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 を参照してください。