allows for using multiple keys of the same provider implemented per llm call providerinstance mapping