AIがアプリケーションの中核となるにつれ、エンベディング、ベクトル類似度、AI駆動型機能への依存度が高まっています。これまで、AIモデルやAPIキーを整理された状態で再利用可能かつ安全に管理しつつ、完全な再構築を必要とせずにAPIキーを更新できるようにすることは、常に課題となっていました。
この課題に対処するため、4D 21 R3では「AIプロバイダー」と「モデルエイリアス」を導入しました。これは、ローカルソースやインターネットベースのサービスからのものを問わず、すべてのAI設定を1か所で定義、保存、再利用するための統一されたアプローチであり、AIKitと完全に連携して使用できます。
設定画面に新しい「AI」タブが追加
プロジェクトモードで作業する際、4Dの設定に新しい「AI」タブが追加され、AIプロバイダーの作成、変更、削除が可能になりました。
AI プロバイダー:接続情報の集中管理
AIプロバイダーを使用すると、接続に関連するすべての情報を一箇所で定義できます:
- ベースURL
- APIキー
- 組織またはプロジェクト識別子
各プロバイダーは、OpenAIや互換性のあるエンドポイントなど、AIプロバイダーへの接続を表します:

プロバイダーの設定は、デプロイ構成に応じて、setting.4DSetting ファイルの隣にある AIProviders.json という名前の JSON ファイルに保存されます。
モデルエイリアス:モデル利用の簡素化
AIプロバイダーが接続の詳細を一元管理する一方で、モデルエイリアスはコード内でのモデルの参照方法を簡素化します。
モデルエイリアスとは、以下の間のマッピングです:
- エイリアス名
- プロバイダー
- モデルID

これにより、モデル名のハードコーディングを回避し、コードを変更せずにモデルを切り替え、環境間で一貫性を保つことができます。
コード内でのAIプロバイダーとモデルエイリアスの使用
UIですべての設定が完了すると、コードは大幅にシンプルかつクリーンになります:
モデルエイリアスの使用
モデルは次の構文で参照できます:{model:”Modelname”}。ここで、Modelnameは 「モデルエイリアス」タブで定義された有効なモデル名です :
var $client:=cs.AIKit.OpenAI.new()
var $result := $client.chat.completions.create($messages; \
{model: "Chat Model"})
モデルエイリアスを使用する場合:
- プロバイダーが自動的に解決されます
- モデルIDが適用されます
- すべての認証情報とエンドポイントが使用されます
AIプロバイダー用API
UIに加え、4D AIKitでは、AIプロバイダーにプログラムからアクセスするための新しいクラスを提供しています:
var $AIProviders:=cs.AIKit.OpenAIProviders.new()
すべてのプロバイダー名のリスト表示
OpenAIProviders.list() 関数は、存在するすべてのプロバイダー名のコレクションを返すため、動的なロジックや検証ワークフローを簡単に構築できます:
var $providers := $AIProviders.list()
// $providers=["LM-Studio Provider","OpenAI Provider"]
すべてのモデルエイリアスの一覧表示
OpenAIProviders.modelAliases() 関数は、既存のすべてのモデルエイリアスのコレクションを返します:
var $models := $AIProviders.modelAliases()
// $models=[{"name":"Chat Model","provider":"OpenAI Provider","model":"gpt-5.2-chat-latest"},...]
まとめ
AI プロバイダーとモデルエイリアスにより、UI での設定を一元化し、コード内でのモデルの使用を簡素化することで、4D において堅牢で保守性の高い AI 搭載アプリケーションをこれまで以上に容易に構築できるようになります。
現在、この投稿へのコメント機能は利用できません。