Create knowledgebase
(
self, knowledgebase_name: str, knowledgebase_description: str
)
| 224 | raise |
| 225 | |
| 226 | def create_knowledgebase( |
| 227 | self, knowledgebase_name: str, knowledgebase_description: str |
| 228 | ) -> MemOSCreateKnowledgebaseResponse | None: |
| 229 | """ |
| 230 | Create knowledgebase |
| 231 | """ |
| 232 | # Validate required parameters |
| 233 | self._validate_required_params( |
| 234 | knowledgebase_name=knowledgebase_name, |
| 235 | knowledgebase_description=knowledgebase_description, |
| 236 | ) |
| 237 | |
| 238 | url = f"{self.base_url}/create/knowledgebase" |
| 239 | payload = { |
| 240 | "knowledgebase_name": knowledgebase_name, |
| 241 | "knowledgebase_description": knowledgebase_description, |
| 242 | } |
| 243 | |
| 244 | for retry in range(MAX_RETRY_COUNT): |
| 245 | try: |
| 246 | response = requests.post( |
| 247 | url, data=json.dumps(payload), headers=self.headers, timeout=30 |
| 248 | ) |
| 249 | response.raise_for_status() |
| 250 | response_data = response.json() |
| 251 | |
| 252 | return MemOSCreateKnowledgebaseResponse(**response_data) |
| 253 | except Exception as e: |
| 254 | logger.error(f"Failed to create knowledgebase (retry {retry + 1}/3): {e}") |
| 255 | if retry == MAX_RETRY_COUNT - 1: |
| 256 | raise |
| 257 | |
| 258 | def delete_knowledgebase( |
| 259 | self, knowledgebase_id: str |
nothing calls this directly
no test coverage detected