快速开始
本页直接遵循当前的 memorose-server API。这是从运行中的节点到完成一次真实检索往返(Round-trip)的最短路径。
准备工作
- 运行在
http://127.0.0.1:3000 上的 Memorose 服务器
- 仪表盘凭据
jq
uuidgen
在当前的单节点默认配置中,Memorose 在启动时会自动初始化 Raft。除非你有意禁用了 raft.auto_initialize,否则在发送写入请求之前不需要调用 /v1/cluster/initialize。
快乐路径
- 登录并获取 Bearer 令牌(Token)
- 创建一个流(Stream)
- 摄入一个事件
- 对该流进行检索
- 检查整合积压(Consolidation Backlog)是否已清空
如果你只想验证 API 接口,本页内容就足够了。如果你想了解背后的完整模型,请继续阅读架构概览。
1. 设置基础变量
export BASE_URL="http://127.0.0.1:3000"
export USER_ID="dylan"
export ORG_ID="default"
2. 登录并获取令牌
/v1 路由接受仪表盘 JWT Bearer 令牌。
TOKEN=$(curl -s -X POST "$BASE_URL/v1/dashboard/auth/login" \
-H "Content-Type: application/json" \
-d '{
"username": "admin",
"password": "admin"
}' | jq -r '.token')
3. 创建流 ID
STREAM_ID=$(uuidgen | tr '[:upper:]' '[:lower:]')
4. 摄入一个事件
curl -s -X POST "$BASE_URL/v1/users/$USER_ID/streams/$STREAM_ID/events" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"org_id": "default",
"content": "Dylan prefers Rust for systems work and wants concise status updates.",
"content_type": "text"
}'
预期响应格式:
{
"status": "accepted",
"event_id": "..."
}
5. 检索记忆
curl -s -X POST "$BASE_URL/v1/users/$USER_ID/streams/$STREAM_ID/retrieve" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"org_id": "default",
"query": "What does Dylan prefer for systems work?",
"limit": 5,
"graph_depth": 1
}'
预期响应格式:
{
"stream_id": "...",
"query": "What does Dylan prefer for systems work?",
"results": [
{
"unit": {
"id": "...",
"memory_type": "Fact",
"content": "...",
"keywords": ["rust", "systems"],
"level": 1
},
"score": 0.9
}
],
"query_time_ms": 12
}
重要响应字段:
results[].unit.level:检索到的记忆在层级中的位置
results[].unit.memory_type:匹配的记忆单元类型
score:检索融合(Retrieval Fusion)后的最终排名分数
query_time_ms:检索调用的服务端观测延迟
6. 检查整合积压
curl -s "$BASE_URL/v1/status/pending" \
-H "Authorization: Bearer $TOKEN"
当 "ready": true 时,当前待处理事件积压已清空。
下一步