We need to add new options in the bot.yml file to specify which client the bot should run with and any extra client configurations required by the clients.
We should create a factory that enables the use of different clients.
Develop OpenAI and LLamaCpp client implementations.
Allow the possibility to use llama.cpp models.
Planned changes: