GetRAGSpaceInfo

指定された RAG スペースの情報、またはスペース ID が指定されていない場合はすべての RAG スペースに関する情報を返します。

構文 

GetRAGSpaceInfo ( RAG アカウント名 {; スペース ID } )

引数 

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

スペース ID - RAG スペースの ID。省略すると指定したアカウントのすべての RAG スペースに関する情報が返されます。

中カッコ { } 内の引数はオプションです。

戻り値のデータタイプ 

テキスト

起点バージョン 

22.0

説明 

GetRAGSpaceInfo は [RAG アカウント名] で指定された AI モデルサーバー上の検索拡張生成 (RAG) スペースに関する情報を返します。その情報を使用して RAG スペースの存在の確認、その内容の監視、および RAG 処理の監査ができます。

スペース ID の値が指定されていない場合、関数は指定した RAG アカウントで使用できる RAG スペースの配列を含む JSON オブジェクトを返します:

コピー
{
  "rag_space_list": [
    {
      "space_id": "<string>",
      "model": "<string>"
    }
  ]
}
  • rag_space_list は RAG スペースの配列です。

  • space_id は RAG スペース ID のキーです。

  • model はこの RAG スペースでテキスト埋め込みベクトルの生成に使用されるモデルの名前のキーです。

スペース ID の値が指定されていない場合、関数は RAG スペースおよびその中のデータに関する情報を含む JSON オブジェクトを返します:

コピー
{
  "rag_space_id": "<string>",
  "model": "<string>",
  "entries": <number>,
  "values": [
    {
      "id": <number>,
      "filename": "<string>"
    },
    {
      "id": <number>,
      "text": "<string>"
    }
  ]
}
  • rag_space_id は RAG スペース ID です。

  • model はこの RAG スペースでテキスト埋め込みベクトルの生成に使用されるモデルの名前です。

  • entriesvalues 配列の要素の数です。

  • values はテキストドキュメントのチャンクおよび PDF ファイル名の配列です:

    • id はテキストチャンクの元であるテキストドキュメント、または PDF ファイルの数値 ID です。

    • filename はスペースに追加された PDF ファイルの名前です。

    • text はスペースに追加されたテキストドキュメントのチャンクです。同じテキストドキュメントのチャンクは同じ id を持ちます。

メモ 

  • この関数を使用する前に [RAG アカウント設定] スクリプトステップを使用して RAG アカウントを設定する必要があります。

  • この関数は処理を実行する前に RAG スペースが存在することを確認するのに役立ちます。有効な RAG アカウントでスペースが存在しないかデータがない場合、この関数はエラーメッセージを返します:

    [RAG スペース] エラー。理由: RAG スペース {space_id} が見つかりません

  • RAG アカウントが無効または存在しない場合、この関数は「?」を返します。

  • この関数は FileMaker ソリューション内の RAG スペースの監査と監視に使用できます。

例 1 

「customer-support-rag-account」という名前の設定されたアカウントのすべての RAG スペースに関する情報を取得します。

GetRAGSpaceInfo ("customer-support-rag-account") は 2 つの RAG スペースにデータが含まれている場合、次を返します:

コピー
{
  "rag_space_list": [
    {
      "space_id": "knowledge-base",
      "model": "multi-qa-MiniLM-L6-cos-v1"
    },
    {
      "space_id": "meeting-notes",
      "model": "multi-qa-MiniLM-L6-cos-v1"
    }
  ]
}

例 2 

ID「knowledge-base」の特定の RAG スペースに関する情報を取得します。

GetRAGSpaceInfo ("customer-support-rag-account" ; "knowledge-base") は「Policies.pdf」という名前の PDF ファイルと 3 つのチャンクに分割されたテキストドキュメント (簡潔にするために短縮されています) を含むスペースに対して、次の JSON を返します。

コピー
{
  "rag_space_id": "knowledge-base",
  "model": "multi-qa-MiniLM-L6-cos-v1",
  "entries": 4,
  "values": [
    {
      "id": 1,
      "filename": "Policies.pdf"
    },
    {
      "id": 2,
      "text": "返品と交換の取り扱いに関するカスタマサポートのポリシーと手順..."
    },
    {
      "id": 2,
      "text": "返品する商品がすべてで再梱包されていることを確認してください..."
    },
    {
      "id": 2,
      "text": "商品を受け取った日から 14 日間は返品できます..."
    }
  ]
}

例 3 

スクリプトで GetRAGSpaceInfo を使用して処理を実行する前に RAG スペースが存在することを確認します。

コピー
RAG アカウント設定 [RAG アカウント名: "customer-support-rag-account" ; エンドポイント: "https://myserver.example.com/llm/v1/" ; API キー: グローバル::RAG API キー ; SSL 証明書の検証]

変数を設定 [$ragSpaceInfo ; 値: GetRAGSpaceInfo ("customer-support-rag-account" ; "knowledge-base")]

If [PatternCount ($ragSpaceInfo ; "[RAG スペース] エラー") > 0 or PatternCount ($ragSpaceInfo ; "?") > 0]

    # RAG スペースが存在しません。エラーを処理します。

    カスタムダイアログを表示 ["エラー" ; "指定された RAG スペースが見つかりません。"]

Else

    # RAG スペースが存在します。処理を続行します。変数を設定 [$ragSpaceID ; 値: JSONGetElement ($ragSpaceInfo ; "rag_space_id")]
    
    カスタムダイアログを表示 ["スペースが見つかりました" ; "RAG スペース「" & $ragSpaceID & "」が使用できます。"]

End If