MCPcopy
hub / github.com/Sophomoresty/gemini-web2api / resolve_model

Function resolve_model

gemini_web2api/models.py:38–60  ·  view source on GitHub ↗

Resolve model name to (name, mode_id, think_mode, error, extra_fields). Unknown model names fall back to default rather than erroring, since upstream clients may request arbitrary model identifiers.

(model_name: str, default: str = "gemini-3.5-flash")

Source from the content-addressed store, hash-verified

36
37
38def resolve_model(model_name: str, default: str = "gemini-3.5-flash"):
39 """Resolve model name to (name, mode_id, think_mode, error, extra_fields).
40
41 Unknown model names fall back to default rather than erroring,
42 since upstream clients may request arbitrary model identifiers.
43 """
44 think_override = None
45 if "@think=" in model_name:
46 model_name, think_str = model_name.rsplit("@think=", 1)
47 try:
48 think_override = int(think_str)
49 except ValueError:
50 return None, None, None, f"Invalid think level: {think_str}", None
51 cfg = MODELS.get(model_name)
52 if not cfg:
53 from .gemini import log
54 log(f"Unknown model '{model_name}', falling back to '{default}'")
55 model_name = default
56 cfg = MODELS[default]
57 mode_id = cfg["mode"]
58 think_mode = think_override if think_override is not None else cfg["think"]
59 extra = cfg.get("extra")
60 return model_name, mode_id, think_mode, None, extra

Callers 3

_handle_chatMethod · 0.85
_handle_responsesMethod · 0.85

Calls 1

logFunction · 0.70

Tested by

no test coverage detected