GetEmbedding

入力データを埋め込みモデルに送信してベクトル表現をオブジェクトデータとして返します。

構文 

GetEmbedding (アカウント ; モデル ; 入力)

引数 

アカウント - この関数で使用する AI アカウント。現在のファイルで、[AI アカウント設定] スクリプトステップを使用してアカウントを設定し、この関数が使用される前にこの名前を割り当てることができます。

モデル - 埋め込みベクトルを生成するモデルの名前。モデル名はモデルプロバイダから提供されるテキスト式で指定します。

入力 - モデルに送信して埋め込みベクトルに変換するテキストまたはオブジェクトデータを返す任意の式。

戻り値のデータタイプ 

オブジェクト

起点バージョン 

21.0

説明 

[埋め込みを挿入] スクリプトステップと同様に、この関数は AI アカウントとモデルを使用して指定された入力の埋め込みベクトルを取得します。ただし、この関数は埋め込みベクトルをオブジェクトデータとしてのみ返します。返されたデータはバイナリデータとして格納されテキストとして格納されたときよりも小さくなるため、埋め込みベクトル処理のパフォーマンスが向上します。

イメージおよびテキストの埋め込みベクトルの場合、FileMaker Pro で別途提供、または FileMaker Server にインストールされるオープンソースモデルサーバーでサポートされているモデルを使用できます。Claris エンジニアリングブログを参照してください。

この関数は「?」を返し、EvaluationError 関数は次を返します:

  • AI アカウントが現在設定されていない場合、エラーコード 877 (「AI アカウントが見つかりません」)

  • イメージ埋め込みの実行中に、入力で指定されたイメージがサポートされていないファイルタイプかファイルサイズが大きすぎる場合、エラーコード 882 (「AI リクエストが無効です」)

例 1 

AI アカウントを設定して「会議詳細」レイアウトに移動してから、現在のレコードの「会議::メモ_埋め込み」オブジェクトフィールドの値をテキスト「Claris」のバイナリ埋め込みベクトルデータに設定します。

コピー
AI アカウント設定 [アカウント名: "my-account" ; モデルプロバイダ: OpenAI ; API キー: "sk-RZCtpWT..."]
レイアウト切り替え [「会議詳細」 (会議) ; アニメーション: なし]

フィールド設定 [会議::メモ_埋め込み ; GetEmbedding ("my-account" ; "text-embedding-3-small" ; "Claris")]

例 2 

AI アカウントを設定して「会議詳細」レイアウトに移動してから、現在のレコードの「メモ」フィールドと比較するテキストを入力するようにユーザに求めます。次に、入力の埋め込みベクトルを取得してオブジェクトデータとして変数に格納し、「会議::メモ」フィールドのテキストで同様の処理をします。その後、2 つの変数で埋め込みベクトルのコサイン類似度を表示します。

コピー
AI アカウント設定 [アカウント名: "my-account" ; モデルプロバイダ: OpenAI ; API キー: "sk-RZCtpWT..."]

レイアウト切り替え [「会議詳細」 (会議) ; アニメーション: なし]

カスタムダイアログを表示 ["このテキストを会議メモと比較:" ; $Input]
変数を設定 [$Input_Embedding ; 値: GetEmbedding ("my-account" ; "text-embedding-3-small" ; $Input)]
変数を設定 [$Note_Embedding ; 値: GetEmbedding ("my-account" ; "text-embedding-3-small" ; 会議::メモ)]

カスタムダイアログを表示 ["コサイン類似度" ; CosineSimilarity ($Input_Embedding ; $Note_Embedding)]