1<?php
2
3namespace dokuwiki\plugin\aichat\Model\Ollama;
4
5use dokuwiki\plugin\aichat\Model\ChatInterface;
6
7class ChatModel extends AbstractOllama implements ChatInterface
8{
9    /** @inheritdoc */
10    public function getAnswer(array $messages): string
11    {
12        $data = [
13            'messages' => $messages,
14            'model' => $this->getModelName(),
15            'stream' => false,
16            'options' => [
17                'num_ctx' => $this->getMaxInputTokenLength()
18            ]
19        ];
20        $response = $this->request('chat', $data);
21        $content = $response['message']['content'];
22        // remove thinking part from deepseek answers
23        $content = preg_replace('/^<think>.*?(?:<\/think>)/s', '', $content);
24        return $content;
25    }
26}
27