(caps: ModelCapabilitiesOverride)
| 127 | |
| 128 | |
| 129 | def _capabilities_to_dict(caps: ModelCapabilitiesOverride) -> dict: |
| 130 | result: dict = {} |
| 131 | if caps.supports is not None: |
| 132 | s: dict = {} |
| 133 | if caps.supports.vision is not None: |
| 134 | s["vision"] = caps.supports.vision |
| 135 | if caps.supports.reasoning_effort is not None: |
| 136 | s["reasoningEffort"] = caps.supports.reasoning_effort |
| 137 | if s: |
| 138 | result["supports"] = s |
| 139 | if caps.limits is not None: |
| 140 | lim: dict = {} |
| 141 | if caps.limits.max_prompt_tokens is not None: |
| 142 | lim["maxPromptTokens"] = caps.limits.max_prompt_tokens |
| 143 | if caps.limits.max_output_tokens is not None: |
| 144 | lim["maxOutputTokens"] = caps.limits.max_output_tokens |
| 145 | if caps.limits.max_context_window_tokens is not None: |
| 146 | lim["maxContextWindowTokens"] = caps.limits.max_context_window_tokens |
| 147 | if caps.limits.vision is not None: |
| 148 | v: dict = {} |
| 149 | if caps.limits.vision.supported_media_types is not None: |
| 150 | v["supportedMediaTypes"] = caps.limits.vision.supported_media_types |
| 151 | if caps.limits.vision.max_prompt_images is not None: |
| 152 | v["maxPromptImages"] = caps.limits.vision.max_prompt_images |
| 153 | if caps.limits.vision.max_prompt_image_size is not None: |
| 154 | v["maxPromptImageSize"] = caps.limits.vision.max_prompt_image_size |
| 155 | if v: |
| 156 | lim["vision"] = v |
| 157 | if lim: |
| 158 | result["limits"] = lim |
| 159 | return result |
| 160 | |
| 161 | |
| 162 | ReasoningEffort = Literal["low", "medium", "high", "xhigh"] |
no outgoing calls
no test coverage detected
searching dependent graphs…