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

Method search_memory

src/memos/api/client.py:150–195  ·  view source on GitHub ↗

Search memories

(
        self,
        query: str,
        user_id: str,
        conversation_id: str,
        memory_limit_number: int = 6,
        include_preference: bool = True,
        knowledgebase_ids: list[str] | None = None,
        filter: dict[str, Any] | None = None,
        source: str | None = None,
        include_tool_memory: bool = False,
        preference_limit_number: int = 6,
        tool_memory_limit_number: int = 6,
    )

Source from the content-addressed store, hash-verified

148 raise
149
150 def search_memory(
151 self,
152 query: str,
153 user_id: str,
154 conversation_id: str,
155 memory_limit_number: int = 6,
156 include_preference: bool = True,
157 knowledgebase_ids: list[str] | None = None,
158 filter: dict[str, Any] | None = None,
159 source: str | None = None,
160 include_tool_memory: bool = False,
161 preference_limit_number: int = 6,
162 tool_memory_limit_number: int = 6,
163 ) -> MemOSSearchResponse | None:
164 """Search memories"""
165 # Validate required parameters
166 self._validate_required_params(query=query, user_id=user_id)
167
168 url = f"{self.base_url}/search/memory"
169 payload = {
170 "query": query,
171 "user_id": user_id,
172 "conversation_id": conversation_id,
173 "memory_limit_number": memory_limit_number,
174 "include_preference": include_preference,
175 "knowledgebase_ids": knowledgebase_ids,
176 "filter": filter,
177 "preference_limit_number": preference_limit_number,
178 "tool_memory_limit_number": tool_memory_limit_number,
179 "source": source,
180 "include_tool_memory": include_tool_memory,
181 }
182
183 for retry in range(MAX_RETRY_COUNT):
184 try:
185 response = requests.post(
186 url, data=json.dumps(payload), headers=self.headers, timeout=30
187 )
188 response.raise_for_status()
189 response_data = response.json()
190
191 return MemOSSearchResponse(**response_data)
192 except Exception as e:
193 logger.error(f"Failed to search memory (retry {retry + 1}/3): {e}")
194 if retry == MAX_RETRY_COUNT - 1:
195 raise
196
197 def get_memory(
198 self, user_id: str, include_preference: bool = True, page: int = 1, size: int = 10

Callers

nothing calls this directly

Calls 4

MemOSSearchResponseClass · 0.90
errorMethod · 0.65
jsonMethod · 0.45

Tested by

no test coverage detected