add knowledgebase-file from json
(
self, knowledgebase_id: str, file: list[dict[str, Any]]
)
| 284 | raise |
| 285 | |
| 286 | def add_knowledgebase_file_json( |
| 287 | self, knowledgebase_id: str, file: list[dict[str, Any]] |
| 288 | ) -> MemOSAddKnowledgebaseFileResponse | None: |
| 289 | """ |
| 290 | add knowledgebase-file from json |
| 291 | """ |
| 292 | # Validate required parameters |
| 293 | self._validate_required_params(knowledgebase_id=knowledgebase_id, file=file) |
| 294 | |
| 295 | url = f"{self.base_url}/add/knowledgebase-file" |
| 296 | payload = { |
| 297 | "knowledgebase_id": knowledgebase_id, |
| 298 | "file": file, |
| 299 | } |
| 300 | |
| 301 | for retry in range(MAX_RETRY_COUNT): |
| 302 | try: |
| 303 | response = requests.post( |
| 304 | url, data=json.dumps(payload), headers=self.headers, timeout=30 |
| 305 | ) |
| 306 | response.raise_for_status() |
| 307 | response_data = response.json() |
| 308 | |
| 309 | return MemOSAddKnowledgebaseFileResponse(**response_data) |
| 310 | except Exception as e: |
| 311 | logger.error(f"Failed to add knowledgebase-file json (retry {retry + 1}/3): {e}") |
| 312 | if retry == MAX_RETRY_COUNT - 1: |
| 313 | raise |
| 314 | |
| 315 | def add_knowledgebase_file_form( |
| 316 | self, knowledgebase_id: str, files: list[str] |
nothing calls this directly
no test coverage detected