MCPcopy Create free account
hub / github.com/idank/explainshell / _parse_model

Function _parse_model

explainshell/extraction/llm/providers/__init__.py:76–94  ·  view source on GitHub ↗

Split a model string into (base_model, reasoning_effort). Providers with a known single-segment prefix (openai/, azure/, gemini/, codex/) treat a third ``/``-segment as the effort value:: openai/gpt-5-mini/medium → ("openai/gpt-5-mini", "medium") codex/o3/high

(model: str)

Source from the content-addressed store, hash-verified

74
75
76def _parse_model(model: str) -> tuple[str, str | None]:
77 """Split a model string into (base_model, reasoning_effort).
78
79 Providers with a known single-segment prefix (openai/, azure/, gemini/,
80 codex/) treat a third ``/``-segment as the effort value::
81
82 openai/gpt-5-mini/medium → ("openai/gpt-5-mini", "medium")
83 codex/o3/high → ("codex/o3", "high")
84 """
85 _KNOWN_PREFIXES = ("openai/", "azure/", "gemini/", "codex/")
86 for prefix in _KNOWN_PREFIXES:
87 if model.startswith(prefix):
88 rest = model[len(prefix) :]
89 parts = rest.split("/", 1)
90 if len(parts) == 2:
91 return prefix + parts[0], parts[1]
92 return model, None
93
94 return model, None
95
96
97def make_provider(model: str) -> LLMProvider:

Callers 2

make_providerFunction · 0.85
make_batch_providerFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected