- Now the models get loaded early! Meaning that we have a structured object at hand instead of just a string.
- Now the models get loaded early! Meaning that we have a structured object at hand instead of just a string.
- Now we do not need to load all backends anymore at start! The `ModelSpec` carries the `backend` name to be later loaded.
- Now we do not need to load all backends anymore at start! The `ModelSpec` carries the `backend` name to be later loaded.
- Now you can provide a json-like string as the CLI `-m` option which carries additional information about the model. A minimal string would look like `{"model_name":"openchat", "backend":"openai_compatible"}`
- Now you can provide a json-like string as the CLI `-m` option which carries additional information about the model. A minimal string would look like `{"model_name":"openchat", "backend":"openai_compatible"}`
- Now we have a model registry that matches your given model spec with pre-defined ones. The first unifying one will be used.
- Now we have a model registry that matches your given model spec with pre-defined ones. The first unifying one will be used.
\ No newline at end of file
## No more `compute_scores` in `GameMaster`, but in `GameScorer`
The computation of the game scores is extracted from the game master to a separate game scorer class.
This further decouples game run logic from its later evaluation. Your game code must be adjusted as follows:
```diff
- from clemgame.clemgame import GameMaster, GameBenchmark
+ from clemgame.clemgame import GameMaster, GameBenchmark, GameScorer