Bedrock is also up there. It was so bad before they had the converse api. But even now, trying to figure out the correct model name and if the model is available in your region is insane
π hehe they don't need to and why should they? Not that am a google fan but usually you would use one model stack. if you want another you setup a different railwork sort to say
tbh I think openai shaked some feathers and not sure if google was on the ball for that. they do have very stable and well documented apis for anything else
And some of them have classes with the same names and responsibilities, but doesn't accept objects from others. For example, google.generativeai's GenerativeModel class accepts different Tool's objects than vertexai.generative_models. GenerativeModel, which accepts Tool objects, for example.