1<?php 2 3namespace dokuwiki\plugin\aichat\Model; 4 5/** 6 * Interface for all models 7 * 8 * Model classes should inherit from AbstractModel, to avoid handling the statistics themselves. 9 */ 10interface ModelInterface 11{ 12 /** 13 * The name as used by the LLM provider 14 * 15 * @return string 16 */ 17 public function getModelName(); 18 19 /** 20 * Get the price for 1000 tokens 21 * 22 * @return float 23 */ 24 public function get1kTokenPrice(); 25 26 27 /** 28 * Reset the usage statistics 29 * 30 * Usually not needed when only handling one operation per request, but useful in CLI 31 */ 32 public function resetUsageStats(); 33 34 /** 35 * Get the usage statistics for this instance 36 * 37 * @return string[] 38 */ 39 public function getUsageStats(); 40} 41