Search Memory
该接口用于检索指定用户或 Agent 的记忆,返回与查询内容最相关的记忆片段。
POST
import os
import requests
import json
# 替换成你的 API Key
os.environ["MEMOS_API_KEY"] = "YOUR_API_KEY"
os.environ["MEMOS_BASE_URL"] = "https://memos.memtensor.cn/api/openmem/v1"
data = {
"query": "我国庆想出去玩,帮我推荐个没去过的城市,以及没住过的酒店品牌",
"user_id": "memos_user_123",
"conversation_id": "0928"
}
headers = {
"Content-Type": "application/json",
"Authorization": f"Token {os.environ['MEMOS_API_KEY']}"
}
url = f"{os.environ['MEMOS_BASE_URL']}/search/memory"
res = requests.post(url=url, headers=headers, data=json.dumps(data))
print(f"result: {res.json()}")
# 请确保已安装MemOS (pip install MemoryOS -U)
from memos.api.client import MemOSClient
# 使用 API Key 初始化客户端
client = MemOSClient(api_key="YOUR_API_KEY")
query = "我国庆想出去玩,帮我推荐个没去过的城市,以及没住过的酒店品牌"
user_id = "memos_user_123"
conversation_id = "0928"
res = client.search_memory(query=query, user_id=user_id, conversation_id=conversation_id)
print(f"result: {res}")
curl --request POST \
--url https://memos.memtensor.cn/api/openmem/v1/search/memory \
--header 'Authorization: Token YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"query": "我国庆想出去玩,帮我推荐个没去过的城市,以及没住过的酒店品牌",
"user_id": "memos_user_123",
"conversation_id": "0928"
}'
{
"code": 0,
"data": {
"memory_detail_list": [
{
"id": "<string>",
"memory_key": "<string>",
"memory_value": "<string>",
"memory_type": "LongTermMemory",
"create_time": "<string>",
"conversation_id": "<string>",
"status": "activated",
"confidence": 0.95,
"tags": [
"<string>"
],
"update_time": "<string>",
"relativity": 0.87
}
],
"preference_detail_list": [
{
"id": "<string>",
"preference_type": "explicit_preference",
"preference": "<string>",
"reasoning": "<string>",
"create_time": "<string>",
"conversation_id": "<string>",
"status": "activated",
"update_time": "<string>",
"relativity": 0.87
}
],
"profile_detail_list": [
{
"id": "<string>",
"memory": "<string>",
"memory_type": "ProfileMemory",
"template_id": "<string>",
"profile_category": "<string>",
"profile_field": "<string>",
"profile_path": "<string>",
"status": "activated",
"created_at": "<string>",
"updated_at": "<string>",
"confidence": 0,
"relativity": 0,
"algorithm_updatable": true
}
],
"event_detail_list": [
{
"id": "<string>",
"event_key": "<string>",
"event_value": "<string>",
"event_type": "<string>",
"create_time": "<string>",
"conversation_id": "<string>",
"status": "activated",
"update_time": "<string>",
"relativity": 0,
"event_time": [
"<string>"
],
"event_location": [
"<string>"
],
"event_roles": [
"<string>"
]
}
],
"tool_memory_detail_list": [
{
"id": "<string>",
"tool_type": "ToolTrajectoryMemory",
"tool_value": "<string>",
"tool_used_status": [
{
"used_tool": "<string>",
"error_type": "<string>",
"success_rate": 0,
"tool_experience": "<string>"
}
],
"create_time": "<string>",
"conversation_id": "<string>",
"status": "activated",
"update_time": "<string>",
"relativity": 0,
"experience": "<string>"
}
],
"preference_note": "<string>",
"skill_detail_list": [
{
"id": "<string>",
"skill_value": {
"name": "<string>",
"description": "<string>",
"procedure": "<string>",
"experience": [
"<string>"
],
"preference": [
"<string>"
],
"examples": [
"<string>"
],
"script": {},
"others": {}
},
"skill_url": "<string>",
"skill_type": "<string>",
"create_time": "<string>",
"conversation_id": "<string>",
"status": "activated",
"confidence": 0,
"tags": [
"<string>"
],
"update_time": "<string>",
"relativity": "<string>"
}
]
},
"message": "<string>"
}Authorizations
Authorization
string
header
required
Token API_key,可在 API 控制台>接口密钥 中查看
请求体
application/json
user_id
string
查询的记忆所关联用户的唯一标识符。
agent_id
string
查询的记忆所关联 Agent 的唯一标识符。仅开启「为 Agent 创建独立记忆」时可用,与 user_id 二选一。
conversation_id
string
查询内容所在会话的唯一标识符,传入可以明确当前会话,本会话的记忆应当比其他历史会话的权重高。
query
string
required
要在记忆中查询的文本内容,单次查询文本的token上限为40k。
filter
object
展示属性
knowledgebase_ids
string[]
该字段用于限制当次搜索可访问的知识库范围,默认为空(即不检索任何知识库)。传入具体知识库 ID,则可检索指定的知识库;传入all,则可检索该项目下所有关联知识库。
include_memory_view
string[]
default: [
"detail_factual",
"preference"
]
允许检索的记忆种类。不传时默认召回事实记忆(detail_factual)和偏好记忆(preference)。详细说明见 记忆种类。
Enum:"detail_factual""preference""skill""profile""event""tool_memory"
memory_limit_number
number
default: 9
召回的记忆条数上限,在满足相关性阈值(relativity)的前提下最多返回该数量的记忆,不保证返回固定条数。默认值 9,最大值 25。
relativity
number
default: 0.45
召回记忆的相关性阈值(0~1)。用于过滤低相关记忆,并与限定返回的事实、偏好记忆最大条数,共同约束最终返回结果。不传时使用系统默认阈值,取值为0时表示不进行相关性过滤。
响应体
application/json
Successful Response
import os
import requests
import json
# 替换成你的 API Key
os.environ["MEMOS_API_KEY"] = "YOUR_API_KEY"
os.environ["MEMOS_BASE_URL"] = "https://memos.memtensor.cn/api/openmem/v1"
data = {
"query": "我国庆想出去玩,帮我推荐个没去过的城市,以及没住过的酒店品牌",
"user_id": "memos_user_123",
"conversation_id": "0928"
}
headers = {
"Content-Type": "application/json",
"Authorization": f"Token {os.environ['MEMOS_API_KEY']}"
}
url = f"{os.environ['MEMOS_BASE_URL']}/search/memory"
res = requests.post(url=url, headers=headers, data=json.dumps(data))
print(f"result: {res.json()}")
# 请确保已安装MemOS (pip install MemoryOS -U)
from memos.api.client import MemOSClient
# 使用 API Key 初始化客户端
client = MemOSClient(api_key="YOUR_API_KEY")
query = "我国庆想出去玩,帮我推荐个没去过的城市,以及没住过的酒店品牌"
user_id = "memos_user_123"
conversation_id = "0928"
res = client.search_memory(query=query, user_id=user_id, conversation_id=conversation_id)
print(f"result: {res}")
curl --request POST \
--url https://memos.memtensor.cn/api/openmem/v1/search/memory \
--header 'Authorization: Token YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"query": "我国庆想出去玩,帮我推荐个没去过的城市,以及没住过的酒店品牌",
"user_id": "memos_user_123",
"conversation_id": "0928"
}'
{
"code": 0,
"data": {
"memory_detail_list": [
{
"id": "<string>",
"memory_key": "<string>",
"memory_value": "<string>",
"memory_type": "LongTermMemory",
"create_time": "<string>",
"conversation_id": "<string>",
"status": "activated",
"confidence": 0.95,
"tags": [
"<string>"
],
"update_time": "<string>",
"relativity": 0.87
}
],
"preference_detail_list": [
{
"id": "<string>",
"preference_type": "explicit_preference",
"preference": "<string>",
"reasoning": "<string>",
"create_time": "<string>",
"conversation_id": "<string>",
"status": "activated",
"update_time": "<string>",
"relativity": 0.87
}
],
"profile_detail_list": [
{
"id": "<string>",
"memory": "<string>",
"memory_type": "ProfileMemory",
"template_id": "<string>",
"profile_category": "<string>",
"profile_field": "<string>",
"profile_path": "<string>",
"status": "activated",
"created_at": "<string>",
"updated_at": "<string>",
"confidence": 0,
"relativity": 0,
"algorithm_updatable": true
}
],
"event_detail_list": [
{
"id": "<string>",
"event_key": "<string>",
"event_value": "<string>",
"event_type": "<string>",
"create_time": "<string>",
"conversation_id": "<string>",
"status": "activated",
"update_time": "<string>",
"relativity": 0,
"event_time": [
"<string>"
],
"event_location": [
"<string>"
],
"event_roles": [
"<string>"
]
}
],
"tool_memory_detail_list": [
{
"id": "<string>",
"tool_type": "ToolTrajectoryMemory",
"tool_value": "<string>",
"tool_used_status": [
{
"used_tool": "<string>",
"error_type": "<string>",
"success_rate": 0,
"tool_experience": "<string>"
}
],
"create_time": "<string>",
"conversation_id": "<string>",
"status": "activated",
"update_time": "<string>",
"relativity": 0,
"experience": "<string>"
}
],
"preference_note": "<string>",
"skill_detail_list": [
{
"id": "<string>",
"skill_value": {
"name": "<string>",
"description": "<string>",
"procedure": "<string>",
"experience": [
"<string>"
],
"preference": [
"<string>"
],
"examples": [
"<string>"
],
"script": {},
"others": {}
},
"skill_url": "<string>",
"skill_type": "<string>",
"create_time": "<string>",
"conversation_id": "<string>",
"status": "activated",
"confidence": 0,
"tags": [
"<string>"
],
"update_time": "<string>",
"relativity": "<string>"
}
]
},
"message": "<string>"
}