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

Function make_provider

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

Create a provider for the given model string.

(model: str)

Source from the content-addressed store, hash-verified

95
96
97def make_provider(model: str) -> LLMProvider:
98 """Create a provider for the given model string."""
99 base, effort = _parse_model(model)
100 if base.startswith("codex"):
101 from explainshell.extraction.llm.providers.codex import CodexProvider
102
103 return CodexProvider(base, reasoning_effort=effort)
104 if base.startswith("gemini/"):
105 from explainshell.extraction.llm.providers.gemini import GeminiProvider
106
107 return GeminiProvider(base, reasoning_effort=effort)
108 if base.startswith(("openai/", "azure/")):
109 from explainshell.extraction.llm.providers.openai import OpenAIProvider
110
111 return OpenAIProvider(base, reasoning_effort=effort)
112
113 raise ValueError(f"Unsupported model: {model}")
114
115
116def make_batch_provider(model: str) -> BatchProvider:

Calls 4

CodexProviderClass · 0.90
GeminiProviderClass · 0.90
OpenAIProviderClass · 0.90
_parse_modelFunction · 0.85