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

Class Mem0Client

evaluation/scripts/utils/client.py:51–92  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

49
50
51class Mem0Client:
52 def __init__(self, enable_graph=False):
53 from mem0 import MemoryClient
54
55 self.client = MemoryClient(api_key=os.getenv("MEM0_API_KEY"))
56 self.enable_graph = enable_graph
57
58 def add(self, messages, user_id, timestamp, batch_size=2):
59 max_retries = 5
60 for i in range(0, len(messages), batch_size):
61 batch_messages = messages[i : i + batch_size]
62 for attempt in range(max_retries):
63 try:
64 if self.enable_graph:
65 self.client.add(
66 messages=batch_messages,
67 timestamp=timestamp,
68 user_id=user_id,
69 enable_graph=True,
70 )
71 else:
72 self.client.add(
73 messages=batch_messages,
74 timestamp=timestamp,
75 user_id=user_id,
76 )
77 break
78 except Exception as e:
79 if attempt < max_retries - 1:
80 time.sleep(2**attempt)
81 else:
82 raise e
83
84 def search(self, query, user_id, top_k):
85 res = self.client.search(
86 query=query,
87 top_k=top_k,
88 user_id=user_id,
89 enable_graph=self.enable_graph,
90 filters={"AND": [{"user_id": f"{user_id}"}]},
91 )
92 return res
93
94
95class MemobaseClient:

Callers 7

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

Calls

no outgoing calls

Tested by

no test coverage detected