Infer modelProvider from the id namespace to avoid className collisions.
For non-langchain packages, extracts the provider name from the namespace.
e.g., ["langchain", "chat_models", "vertexai", "ChatVertexAI"] -> "google-vertexai"
e.g., ["langchain_deepseek", "chat_models", "ChatDeepSeek"] -> "deepseek"
Infer modelProvider from the id namespace to avoid className collisions. For non-langchain packages, extracts the provider name from the namespace. e.g., ["langchain", "chat_models", "vertexai", "ChatVertexAI"] -> "google-vertexai" e.g., ["langchain_deepseek", "chat_models", "ChatDeepSeek"] -> "deepseek"