MCPcopy Create free account
hub / github.com/MemTensor/MemOS / SupermemoryClient

Class SupermemoryClient

evaluation/scripts/utils/client.py:277–316  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

275
276
277class SupermemoryClient:
278 def __init__(self):
279 from supermemory import Supermemory
280
281 self.client = Supermemory(api_key=os.getenv("SUPERMEMORY_API_KEY"))
282
283 def add(self, messages, user_id):
284 content = "\n".join(
285 [f"{msg['chat_time']} {msg['role']}: {msg['content']}" for msg in messages]
286 )
287 max_retries = 5
288 for attempt in range(max_retries):
289 try:
290 self.client.memories.add(content=content, container_tag=user_id)
291 break
292 except Exception as e:
293 if attempt < max_retries - 1:
294 time.sleep(2**attempt)
295 else:
296 raise e
297
298 def search(self, query, user_id, top_k):
299 max_retries = 10
300 for attempt in range(max_retries):
301 try:
302 results = self.client.search.memories(
303 q=query,
304 container_tag=user_id,
305 threshold=0,
306 rerank=True,
307 rewrite_query=True,
308 limit=top_k,
309 )
310 context = "\n\n".join([r.memory for r in results.results])
311 return context
312 except Exception as e:
313 if attempt < max_retries - 1:
314 time.sleep(2**attempt)
315 else:
316 raise e
317
318
319class MemuClient:

Callers 6

process_userFunction · 0.90
process_userFunction · 0.90
process_userFunction · 0.90
ingest_convFunction · 0.90
ingest_convFunction · 0.90
process_userFunction · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected