Link Search Menu Expand Document Documentation Menu

获取内存

2.12 版本引入

使用此 API 可为对话式搜索检索对话内存。

要检索内存信息,您可以:

要检索内存的消息信息,您可以:

当安全插件启用时,所有内存都以私有安全模式存在。只有创建内存的用户才能与该内存及其消息进行交互。

通过 ID 获取内存

您可以使用 memory_id 检索内存信息。响应包含内存中的所有消息。

端点

GET /_plugins/_ml/memory/<memory_id>

路径参数

下表列出了可用的路径参数。

参数 数据类型 描述
memory_id 字符串 要检索的内存 ID。

请求示例

GET /_plugins/_ml/memory/N8AE1osB0jLkkocYjz7D

示例响应

{
  "memory_id": "gW8Aa40BfUsSoeNTvOKI",
  "create_time": "2024-02-02T18:07:06.887061463Z",
  "updated_time": "2024-02-02T19:01:32.121444968Z",
  "name": "Conversation for a RAG pipeline",
  "user": "admin"
}

获取所有内存

使用此命令获取所有内存。

端点

GET /_plugins/_ml/memory

查询参数

使用以下查询参数自定义结果。所有查询参数都是可选的。

参数 数据类型 描述
max_results 整数 要返回的最大结果数。如果内存数量少于 max_results 中设置的数量,则响应仅返回现有内存的数量。默认值为 10
next_token 整数 要返回的内存排序列表中的第一个内存的索引。内存按 create_time 排序。例如,如果存在内存 A、B 和 C,next_token=1 将返回内存 B 和 C。默认值为 0(返回所有内存)。

结果分页

next_token 参数提供结果中要返回的内存排序列表中第一个内存的有序位置。当在后续的 GET Memory 调用之间添加内存时,列表中的某个内存将在结果中重复。例如,假设当前内存的有序列表是 BCDEF,其中 B 是最近创建的内存。当您使用 next_token=0max_results=3 调用 Get Memory API 时,API 将返回 BCD。假设您随后又创建了另一个内存 A。内存列表现在显示为 ABCDEF。下次您使用 next_token=3max_results=3 调用 Get Memory API 时,您将在结果中收到 DEF。请注意,D 将在第一批和第二批结果中返回。下图说明了这种重复。

请求 内存列表(返回的内存用括号括起来) 响应中返回的结果
获取内存 (next_token = 0, max_results = 3) [BCD]EF BCD
创建内存 ABCDEF -
获取内存 (next_token = 3, max_results = 3) -> ABC[DEF] DEF  

示例请求:获取所有内存

GET /_plugins/_ml/memory/

示例请求:结果分页

GET /_plugins/_ml/memory?max_results=2&next_token=1

示例响应

{
  "memories": [
    {
      "memory_id": "gW8Aa40BfUsSoeNTvOKI",
      "create_time": "2024-02-02T18:07:06.887061463Z",
      "updated_time": "2024-02-02T19:01:32.121444968Z",
      "name": "Conversation for a RAG pipeline",
      "user": "admin"
    }
  ]
}

响应正文字段

下表列出了可用的响应字段。

字段 数据类型 描述
memory_id 字符串 内存 ID。
create_time 字符串 内存创建时间。
updated_time 字符串 内存上次更新时间。
名称 字符串 内存名称。
user 字符串 创建内存的用户名。