GetRAGSpaceInfo

如果没有指定空间 ID,则返回有关指定 RAG 空间或所有 RAG 空间的信息。

格式 

GetRAGSpaceInfo ( RAG 账户名称 {; 空间 ID } )

参数 

ragAccountName - 用于 RAG 账户名称的文本表达式。在目前文件中,使用配置 RAG 账户脚本步骤设置账户,并在此函数使用之前随时为其分配此名称。

spaceID - RAG 空间的 ID。如果省略,将返回有关指定账户的所有 RAG 空间的信息。

括号 { } 中的参数是可选的。

返回的数据类型 

文本

原始版本 

22.0

说明 

GetRAGSpaceInfo 返回由 ragAccountName 指定的 AI 模型服务器上检索增强生成 (RAG) 空间的信息。您可以使用它来验证 RAG 空间的存在,监控其内容,并审核 RAG 操作。

如果没有指定 spaceID 值,该函数将返回一个 JSON 对象,其中包含指定 RAG 账户可用的 RAG 空间数组:

复制
{
  "rag_space_list": [
    {
      "space_id": "<string>",
      "model": "<string>"
    }
  ]
}
  • rag_space_list 是 RAG 空间的数组。

  • space_id 是 RAG 空间 ID 的密钥。

  • model 是用于在此 RAG 空间中生成文本嵌入向量的模型名称的键。

如果指定了 spaceID 值,该函数将返回一个 JSON 对象,其中包含有关 RAG 空间及其数据的信息:

复制
{
  "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" ) 如果两个 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" )可以返回以下 JSON,其中包含名为“Policies.pdf”的 PDF 文件和分为三个块的文本文档(为简洁起见进行了截断)。

复制
{
  "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 密钥: Global::RAG_API_Key ; 验证 SSL 证书 ]

设置变量 [ $ragSpaceInfo ; 值: GetRAGSpaceInfo ( "customer-support-rag-account" ; "knowledge-base" ) ]

If [ PatternCount ( $ragSpaceInfo ; "[RAG Space] error" ) > 0 或 PatternCount ( $ragSpaceInfo ; "?" ) > 0 ]

    # RAG 空间不存在。处理错误。显示自定义对话框 [“错误”;“找不到指定的 RAG 空间。”] 

Else

    # RAG 空间存在。继续操作。设置变量 [ $ragSpaceID ; 值: JSONGetElement ( $ragSpaceInfo ; "rag_space_id" ) ]
    
    显示自定义对话框 [ "找到空间" ; "RAG 空间 '" & $ragSpaceID & "' 可供使用。" ]

End If