mirror of
https://github.com/BerriAI/litellm.git
synced 2026-09-05 08:07:05 +00:00
perf: short-circuit is_model_o_series_model with startswith before set lookup
Reorder the check to use str.startswith(tuple) first, which immediately returns False for non-o-series models (the common case), avoiding the genexpr + 198-element set lookup. Line profiling shows 4.75x speedup (13.6µs → 2.9µs per call, 2.45s → 0.52s across 180k calls).
This commit is contained in:
parent
b07078ae75
commit
f902f7eaeb
1 changed files with 2 additions and 4 deletions
|
|
@ -131,9 +131,7 @@ class OpenAIOSeriesConfig(OpenAIGPTConfig):
|
|||
|
||||
def is_model_o_series_model(self, model: str) -> bool:
|
||||
model = model.split("/")[-1] # could be "openai/o3" or "o3"
|
||||
return model in litellm.open_ai_chat_completion_models and any(
|
||||
model.startswith(pfx) for pfx in ("o1", "o3", "o4")
|
||||
)
|
||||
return model.startswith(("o1", "o3", "o4")) and model in litellm.open_ai_chat_completion_models
|
||||
|
||||
@overload
|
||||
def _transform_messages(
|
||||
|
|
@ -173,4 +171,4 @@ class OpenAIOSeriesConfig(OpenAIGPTConfig):
|
|||
else:
|
||||
return super()._transform_messages(
|
||||
messages, model, is_async=cast(Literal[False], False)
|
||||
)
|
||||
)
|
||||
Loading…
Add table
Reference in a new issue