get knowledgebase-file
(
self, file_ids: list[str]
)
| 390 | raise |
| 391 | |
| 392 | def get_knowledgebase_file( |
| 393 | self, file_ids: list[str] |
| 394 | ) -> MemOSGetKnowledgebaseFileResponse | None: |
| 395 | """ |
| 396 | get knowledgebase-file |
| 397 | """ |
| 398 | # Validate required parameters |
| 399 | self._validate_required_params(file_ids=file_ids) |
| 400 | |
| 401 | url = f"{self.base_url}/get/knowledgebase-file" |
| 402 | payload = { |
| 403 | "file_ids": file_ids, |
| 404 | } |
| 405 | |
| 406 | for retry in range(MAX_RETRY_COUNT): |
| 407 | try: |
| 408 | response = requests.post( |
| 409 | url, data=json.dumps(payload), headers=self.headers, timeout=30 |
| 410 | ) |
| 411 | response.raise_for_status() |
| 412 | response_data = response.json() |
| 413 | |
| 414 | return MemOSGetKnowledgebaseFileResponse(**response_data) |
| 415 | except Exception as e: |
| 416 | logger.error(f"Failed to get knowledgebase-file (retry {retry + 1}/3): {e}") |
| 417 | if retry == MAX_RETRY_COUNT - 1: |
| 418 | raise |
| 419 | |
| 420 | def get_task_status(self, task_id: str) -> MemOSGetTaskStatusResponse | None: |
| 421 | """ |
nothing calls this directly
no test coverage detected