AutorÃa | Ultima modificación | Ver Log |
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
namespace core_ai\aiactions\responses;
/**
* Explain text action response class.
*
* Any method that processes an action must return an instance of this class.
*
* @package core_ai
* @copyright 2024 David Woloszyn <david.woloszyn@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class response_explain_text extends response_base {
/** @var string|null A unique identifier for the chat completion, returned by the AI. */
private ?string $id = null;
/** @var string|null This fingerprint represents the backend configuration that the model runs with. */
private ?string $fingerprint = null;
/** @var string|null The contents of the generated message. */
private ?string $generatedcontent = null;
/** @var string|null The reason the model stopped generating tokens. */
private ?string $finishreason = null;
/** @var string|null Number of tokens in the prompt. */
private ?string $prompttokens = null;
/** @var string|null Number of tokens in the generated completion. */
private ?string $completiontokens = null;
/**
* Constructor.
*
* @param bool $success The success status of the action.
* @param int $errorcode Error code. Must exist if success is false.
* @param string $errormessage Error message. Must exist if success is false
*/
public function __construct(
bool $success,
int $errorcode = 0,
string $errormessage = '',
) {
parent::__construct(
success: $success,
actionname: 'explain_text',
errorcode: $errorcode,
errormessage: $errormessage,
);
}
#[\Override]
public function set_response_data(array $response): void {
$this->id = $response['id'] ?? null;
$this->fingerprint = $response['fingerprint'] ?? null;
$this->generatedcontent = $response['generatedcontent'] ?? null;
$this->finishreason = $response['finishreason'] ?? null;
$this->prompttokens = $response['prompttokens'] ?? null;
$this->completiontokens = $response['completiontokens'] ?? null;
$this->model = $response['model'] ?? null;
}
#[\Override]
public function get_response_data(): array {
return [
'id' => $this->id,
'fingerprint' => $this->fingerprint,
'generatedcontent' => $this->generatedcontent,
'finishreason' => $this->finishreason,
'prompttokens' => $this->prompttokens,
'completiontokens' => $this->completiontokens,
'model' => $this->model,
];
}
}