Add memory system session context API
This commit is contained in:
54
README.md
54
README.md
@ -151,6 +151,7 @@ http://127.0.0.1:1934/memory-system
|
||||
| `POST` | `/messages` | 写入一轮或半轮会话消息 | 需要 |
|
||||
| `POST` | `/sessions/{session_id}/commit` | 提交会话,触发 OpenViking commit 和 EverOS flush | 需要 |
|
||||
| `POST` | `/sessions/{session_id}/extract` | 立即触发 OpenViking extract | 需要 |
|
||||
| `GET/POST` | `/sessions/{session_id}/context` | 查询 OpenViking 会话上下文,并用同一 query 搜索 EverOS 记忆 | 需要 |
|
||||
| `GET` | `/openviking/tasks/{task_id}` | 查询 OpenViking 后台任务状态 | 需要 |
|
||||
| `POST` | `/search` | 同时搜索 OpenViking 和 EverOS 记忆 | 需要 |
|
||||
| `GET` | `/users/{user_id}/profile` | 查询 EverOS profile | 需要 |
|
||||
@ -284,6 +285,59 @@ curl -sS -X POST http://127.0.0.1:1934/memory-system/sessions/sessionA1/extract
|
||||
}'
|
||||
```
|
||||
|
||||
### `GET/POST /sessions/{session_id}/context`
|
||||
|
||||
查询一次会话的当前上下文。网关会调用 OpenViking:
|
||||
|
||||
```http
|
||||
GET /api/v1/sessions/{session_id}/context
|
||||
Authorization: Bearer <user_key>
|
||||
```
|
||||
|
||||
同时用同一个 `query` 调用 EverOS `/api/v1/memories/search`,返回相关 episodic/profile/raw message 记忆。适合在回答用户问题前,把“当前 session 工作记忆”和“EverOS 相关记忆”一起取回。
|
||||
|
||||
路径参数:
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
|---|---|---|
|
||||
| `session_id` | string | 要查询的会话 ID |
|
||||
|
||||
请求体:
|
||||
|
||||
| 参数 | 类型 | 必需 | 说明 |
|
||||
|---|---|---:|---|
|
||||
| `user_id` | string | 是 | 用户 ID |
|
||||
| `user_key` | string | 是 | `/users` 返回的 user key |
|
||||
| `query` | string | 是 | 用于 EverOS search 的查询文本 |
|
||||
| `limit` | int | 否 | EverOS 记忆返回条数,默认 10,范围 1 到 100 |
|
||||
|
||||
POST 示例:
|
||||
|
||||
```bash
|
||||
curl -sS -X POST http://127.0.0.1:1934/memory-system/sessions/sessionA1/context \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
"user_id": "userA",
|
||||
"user_key": "'"$USER_KEY"'",
|
||||
"query": "我喜欢喝什么?",
|
||||
"limit": 10
|
||||
}'
|
||||
```
|
||||
|
||||
GET 示例:
|
||||
|
||||
```bash
|
||||
curl -sS "http://127.0.0.1:1934/memory-system/sessions/sessionA1/context?user_id=userA&user_key=$USER_KEY&query=我喜欢喝什么?&limit=10"
|
||||
```
|
||||
|
||||
返回字段:
|
||||
|
||||
| 字段 | 含义 |
|
||||
|---|---|
|
||||
| `context` | OpenViking `result`,包含 `latest_archive_overview`、`pre_archive_abstracts`、`messages`、`stats` |
|
||||
| `items` | EverOS 搜索命中的精简记忆结果,含 `source_backend: "everos"` |
|
||||
| `backends` | 两个后端的精简诊断信息,不重复返回完整 OpenViking context 或 EverOS `original_data` |
|
||||
|
||||
### `GET /openviking/tasks/{task_id}`
|
||||
|
||||
查询 OpenViking 后台任务状态,例如 commit 返回的任务。
|
||||
|
||||
Reference in New Issue
Block a user