Model-specific ChatBots
While ChatBot instances can be created from any Langchain Chat interface, we created some convenient superclasses that have varying levels of model-specific behavior.
Model-specific chatbots only differ from ChatBot in that they define static factory constructor methods, all named new. As each chat model needs to be installed separately, they must be accessed via separate imports.
I will use the keychain to manage API keys for OpenAI and Mistral.
Notice that we use a separate import statement to explicitly import the model-specific chatbots.