Fix: Use /add endpoint for adding memories (not /memories)

This commit is contained in:
2026-04-10 13:18:58 +02:00
parent 68d20fff75
commit 69715b29df
+20 -5
View File
@@ -16,7 +16,7 @@ class LocalMem0Client:
Expects Mem0 server at MEM0_BASE_URL with endpoints: Expects Mem0 server at MEM0_BASE_URL with endpoints:
- POST /search - POST /search
- GET /memories - GET /memories
- POST /memories - POST /add
""" """
def __init__(self, base_url: str, timeout: float = 10.0): def __init__(self, base_url: str, timeout: float = 10.0):
@@ -30,11 +30,19 @@ class LocalMem0Client:
} }
) )
def _request(self, method: str, endpoint: str, json: Optional[Dict] = None, params: Optional[Dict] = None) -> Dict: def _request(
self,
method: str,
endpoint: str,
json: Optional[Dict] = None,
params: Optional[Dict] = None,
) -> Dict:
"""Make HTTP request with error handling.""" """Make HTTP request with error handling."""
url = f"{self.base_url}{endpoint}" url = f"{self.base_url}{endpoint}"
try: try:
resp = self.session.request(method, url, json=json, params=params, timeout=self.timeout) resp = self.session.request(
method, url, json=json, params=params, timeout=self.timeout
)
resp.raise_for_status() resp.raise_for_status()
return resp.json() return resp.json()
except requests.exceptions.Timeout: except requests.exceptions.Timeout:
@@ -87,8 +95,15 @@ class LocalMem0Client:
"agent_id": filters.get("agent_id"), "agent_id": filters.get("agent_id"),
} }
if not infer: if not infer:
payload["messages"] = [{"role": "user", "content": messages[0].get("content", "") if isinstance(messages[0], dict) else messages[0]}] payload["messages"] = [
return self._request("POST", "/memories", json=payload) {
"role": "user",
"content": messages[0].get("content", "")
if isinstance(messages[0], dict)
else messages[0],
}
]
return self._request("POST", "/add", json=payload)
@staticmethod @staticmethod
def _unwrap_results(response: Any) -> List[Dict]: def _unwrap_results(response: Any) -> List[Dict]: