Model limits
| 591 | |
| 592 | @dataclass |
| 593 | class ModelLimits: |
| 594 | """Model limits""" |
| 595 | |
| 596 | max_prompt_tokens: int | None = None |
| 597 | max_context_window_tokens: int | None = None |
| 598 | vision: ModelVisionLimits | None = None |
| 599 | |
| 600 | @staticmethod |
| 601 | def from_dict(obj: Any) -> ModelLimits: |
| 602 | assert isinstance(obj, dict) |
| 603 | max_prompt_tokens = obj.get("max_prompt_tokens") |
| 604 | max_context_window_tokens = obj.get("max_context_window_tokens") |
| 605 | vision_dict = obj.get("vision") |
| 606 | vision = ModelVisionLimits.from_dict(vision_dict) if vision_dict else None |
| 607 | return ModelLimits( |
| 608 | max_prompt_tokens=max_prompt_tokens, |
| 609 | max_context_window_tokens=max_context_window_tokens, |
| 610 | vision=vision, |
| 611 | ) |
| 612 | |
| 613 | def to_dict(self) -> dict: |
| 614 | result: dict = {} |
| 615 | if self.max_prompt_tokens is not None: |
| 616 | result["max_prompt_tokens"] = self.max_prompt_tokens |
| 617 | if self.max_context_window_tokens is not None: |
| 618 | result["max_context_window_tokens"] = self.max_context_window_tokens |
| 619 | if self.vision is not None: |
| 620 | result["vision"] = self.vision.to_dict() |
| 621 | return result |
| 622 | |
| 623 | |
| 624 | @dataclass |
no outgoing calls
searching dependent graphs…