获取内存
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=0
和 max_results=3
调用 Get Memory API 时,API 将返回 BCD
。假设您随后又创建了另一个内存 A。内存列表现在显示为 ABCDEF
。下次您使用 next_token=3
和 max_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 | 字符串 | 创建内存的用户名。 |