xref: /plugin/aichat/Model/ModelInterface.php (revision d02b793578c15c86b482725d129996df393f1890)
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 1,000,000 tokens
21     *
22     * @return float
23     */
24    public function get1MillionTokenPrice();
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