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": "<string>" or <number>,
"filename": "<string>"
},
{
"id": "<string>" or <number>,
"text": "<string>"
}
]
}
-
rag_space_id是 RAG 空间 ID。 -
model是用于在此 RAG 空间中生成文本嵌入向量的模型名称。 -
entries是values数组中的元素数。 -
values是文本文档块和 PDF 文件名的数组:-
id是文本文档(由该文档的所有块共享)或 PDF 文件的文档 ID。在 AI 模型服务器的 26.0.1 版本之前添加到 RAG 空间的文档具有数字文档 ID(例如,
1、2、3)。从版本 26.0.1 开始,文档 ID 是 UUID 字符串(例如,"5f7677a0-3258-55a3-bc86-737005cb3574")。在处理包含 ID 格式变更前后所添加文档的 RAG 空间时,您的脚本应能同时兼容这两种文档 ID 格式。请参阅执行 RAG 操作脚本步骤。
-
filename是添加到空间的 PDF 文件的名称。 -
text是添加到空间中的文本文档块。来自同一文本文档的块具有相同的id。
-
注释
-
在使用此函数之前,必须使用配置 RAG 账户脚本步骤配置 RAG 账户。
-
此函数可用于在执行操作之前验证 RAG 空间是否存在。对于有效的 RAG 账户,如果空间不存在或其中没有数据,此函数将返回错误消息:
[RAG 空间]错误。原因:RAG 空间 {space_id} 未找到 -
如果 RAG 账户无效或不存在,该函数将返回“?”。
-
该函数可用于审核和监控 FileMaker 解决方案中的 RAG 空间。
示例 1
获取有关名为“customer-support-rag-account”的已配置账户的所有 RAG 空间的信息。
如果两个 RAG 空间包含数据,GetRAGSpaceInfo ( "customer-support-rag-account" ) 可以返回以下内容:
{
"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" ) 可针对一个包含名为“Terms.pdf”和“Policies.pdf”的 PDF 文件以及一份被分割成三个部分的文本文档(为简洁起见,内容已做截断处理)的空间,返回如下 JSON 格式信息。请注意,“Terms.pdf”的 id 字段为数值型,这是因为它是使用早期版本的AI模型服务器添加到 RAG 空间中的(请参阅“注释”)。
{
"rag_space_id": "knowledge-base",
"model": "multi-qa-MiniLM-L6-cos-v1",
"entries": 5,
"values": [
{
"id": 42,
"filename": "Terms.pdf"
},
{
"id": "f95d4266-66cd-5b50-a01b-07a4dd66c501",
"filename": "Policies.pdf"
},
{
"id": "5f7677a0-3258-55a3-bc86-737005cb3574",
"text": "处理退换货的客户支持政策与流程..."
},
{
"id": "5f7677a0-3258-55a3-bc86-737005cb3574",
"text": "确保要退还的商品已重新包装好,且包含所有..."
},
{
"id": "5f7677a0-3258-55a3-bc86-737005cb3574",
"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