Skip to content

Commit 9d414b6

Browse files
committed
refactor: Edit model_profile
1 parent 733635d commit 9d414b6

File tree

1 file changed

+14
-12
lines changed

1 file changed

+14
-12
lines changed

pydantic_ai_slim/pydantic_ai/providers/ovhcloud.py

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -41,18 +41,20 @@ def client(self) -> AsyncOpenAI:
4141
return self._client
4242

4343
def model_profile(self, model_name: str) -> ModelProfile | None:
44-
if 'deepseek' in model_name.lower():
45-
profile = deepseek_model_profile(model_name)
46-
elif 'llama' in model_name.lower():
47-
profile = meta_model_profile(model_name)
48-
elif 'mistral' in model_name.lower():
49-
profile = mistral_model_profile(model_name)
50-
elif 'qwen' in model_name.lower():
51-
profile = qwen_model_profile(model_name)
52-
elif 'openai' in model_name.lower() or 'gpt' in model_name:
53-
profile = harmony_model_profile(model_name)
54-
else:
55-
profile = None
44+
profile = None
45+
46+
prefix_to_profile = {
47+
'llama': meta_model_profile,
48+
'meta-': meta_model_profile,
49+
'deepseek': deepseek_model_profile,
50+
'mistral': mistral_model_profile,
51+
'gpt': harmony_model_profile,
52+
'qwen': qwen_model_profile,
53+
}
54+
55+
for prefix, profile_func in prefix_to_profile.items():
56+
if model_name.lower().startswith(prefix):
57+
profile = profile_func(model_name)
5658

5759
# As the OVHcloud AI Endpoints API is OpenAI-compatible, let's assume we also need OpenAIJsonSchemaTransformer.
5860
return OpenAIModelProfile(json_schema_transformer=OpenAIJsonSchemaTransformer).update(profile)

0 commit comments

Comments
 (0)