批量提示操作

编辑

对多个提示应用批量操作(创建、更新或删除)。批量操作将应用于所有匹配筛选条件的提示,或按 ID 列出的提示列表。

请求 URL
编辑

POST <kibana 主机>:<端口>/api/security_ai_assistant/prompts/_bulk_action

请求主体
编辑

具有以下属性的 JSON 对象

名称 类型 描述 必需

create

BulkCreateAction[]

要创建的提示对象数组。

delete

String[]

要删除的提示的 ID 数组。

update

BulkUpdateAction[]

要更新的字段的提示对象数组。

BulkCreateAction 对象

编辑
名称 类型 描述 必需

name

String

简短的提示标题。

id

String

提示 ID。

promptType

String

提示类型。有效值为

  • system
  • quick

consumer

String

提示所属的解决方案应用程序。例如 securitySolutionUIml

content

String

要发送到 LLM 的提示文本。

color

String

设置 UI 中快速提示的显示颜色。

categories

String[]

提示类别数组。

BulkUpdateAction 对象

编辑
名称 类型 描述 必需

id

String

提示 ID。

content

String

要发送到 LLM 的提示文本。

color

String

设置 UI 中快速提示的显示颜色。

categories

String[]

提示类别数组。

示例请求
编辑

示例 1

以下请求创建一个新的快速提示

POST api/security_ai_assistant/prompts/_bulk_action
{
  "create": [
    {
      "name": "test",
      "id": "test",
      "content": "some test content",
      "color": "#D36086",
      "categories": [],
      "promptType": "quick",
      "consumer": "securitySolutionUI"
    }
  ]
}
响应代码
编辑
200
指示调用成功。
响应负载
编辑

包含操作结果的 JSON 对象

  • attributes.summary.total:匹配批量操作的提示总数
  • attributes.summary.succeeded:成功结果的数量(创建、删除或更新的提示数量)
  • attributes.summary.failed:失败结果的数量
  • attributes.summary.skipped:由于各种原因跳过的提示数量(如下所述)
  • attributes.results.created:在操作执行期间创建的提示对象
  • attributes.results.updated:在操作执行期间更新的提示对象
  • attributes.results.deleted:在操作执行期间删除的提示对象
  • attributes.results.skipped:在操作执行期间跳过的提示

仅当要对其执行的批量操作导致没有任何操作时,提示才能被跳过。例如,如果使用 update 操作来更新已具有指定值的字段。在 attributes.results.skipped 中返回的对象仅包括提示的 idnameskip_reason

{
  "success": true,
  "prompts_count": 1,
  "attributes": {
    "results": {
      "updated": [],
      "created": [
        {
          "timestamp": "2024-08-13T20:24:08.610Z",
          "users": [
            {
              "id": "testuser",
              "name": "elastic"
            }
          ],
          "content": "some test content",
          "updatedAt": "2024-08-13T20:24:08.610Z",
          "id": "0B1pTZEBYaDeA-NhjHej",
          "name": "test",
          "promptType": "quick",
          "color": "#D36086",
          "categories": [],
          "consumer": "securitySolutionUI"
        }
      ],
      "deleted": [],
      "skipped": []
    },
    "summary": {
      "failed": 0,
      "succeeded": 1,
      "skipped": 0,
      "total": 1
    }
  }
}

示例 2:部分失败

以下请求删除 ID 为 “8bc7dad0-9320-11ec-9265-8b772383a08d” 的提示,并使用 content、color 和 categories 的新值更新另一个 ID 为 “2-R12SZEBYaDeA-NhnUyW” 的提示

POST api/security_ai_assistant/prompts/_bulk_action
{
  "delete": {
    "ids": [
      "8bc7dad0-9320-11ec-9265-8b772383a08d"
    ]
  },
  "update": [
    {
      "content": "As an expert in security operations and incident response, provide a breakdown of the attached alert and summarize what it might mean for my organization.",
      "id": "2-R12SZEBYaDeA-NhnUyW",
      "color": "#F68FBE",
      "categories": [
        "alert"
      ]
    }
  ]
}
响应代码
编辑
500
指示部分批量操作失败。
响应负载
编辑

如果任何提示的处理失败,则响应会输出部分错误,其中包含受影响的提示的 ID 和/或名称以及相应的错误消息。响应还包括成功处理的提示,格式与成功的 200 请求相同。

{
  "message": "Bulk delete partially failed",
  "status_code": 500,
  "attributes": {
    "errors": [
      {
        "message": "Some error happened here",
        "status_code": 500,
        "prompts": [
          {
            "id": "8bc7dad0-9320-11ec-9265-8b772383a08d",
            "name": "Prompt title"
          }
        ]
      }
    ],
    "results": {
      "updated": [
        {
          "timestamp": "2024-08-13T01:59:56.053Z",
          "users": [
            {
              "id": "u_mGBROF_q5bmFCATbLXAcCwKa0k8JvONAwSruelyKA5E_0",
              "name": "elastic"
            }
          ],
          "content": "As an expert in security operations and incident response, provide a breakdown of the attached alert and summarize what it might mean for my organization.",
          "isDefault": true,
          "updatedAt": "2024-08-13T20:45:14.763Z",
          "name": "Alert summarization",
          "promptType": "quick",
          "color": "#F68FBE",
          "categories": [
            "alert"
          ],
          "consumer": "securitySolutionUI"
        }
      ],
      "created": [],
      "deleted": [],
      "skipped": []
    },
    "summary": {
      "failed": 1,
      "succeeded": 1,
      "skipped": 0,
      "total": 2
    }
  }
}