Right now the logic in interpreter.py is a bit overwhelming because we are handling so many models and growing. The plan would be to create a generic class that abstracts the exposed methods to split each model into separate files, so the user can add/remove more at its will.
The common attributes I see are the following:
local/remote (or api: llama, http, ...) right now all local are just "llama"
name (taken from huggingface)
prompt templater (maybe we should do that dynamically using the special tokens from the model instead of cooking them by hand)
description (short text describing the usecases of it)
date (release date of the model)
the prompt templates right now are reused between models, so maybe we should decouple that from the plugin and just make the plugin specify which template use.
Right now the logic in interpreter.py is a bit overwhelming because we are handling so many models and growing. The plan would be to create a generic class that abstracts the exposed methods to split each model into separate files, so the user can add/remove more at its will.
The common attributes I see are the following:
the prompt templates right now are reused between models, so maybe we should decouple that from the plugin and just make the plugin specify which template use.
RFC