Skip to content

Commit d00c227

Browse files
committed
Добавлен контекст к чату
1 parent 8b56b89 commit d00c227

File tree

7 files changed

+113
-75
lines changed

7 files changed

+113
-75
lines changed

app/Http/Controllers/AiTeacherController.php

+26-13
Original file line numberDiff line numberDiff line change
@@ -27,22 +27,35 @@ public function index()
2727

2828
public function send(Request $request)
2929
{
30-
$message = $request->get('message');
30+
$messages = $request->get('messages');
3131

32-
if (! empty($message)) {
33-
$completion = new Completion;
32+
if (! empty($messages) and is_array($messages)) {
33+
$completion = new Completion();
3434

35-
$completion->setModelUri($this->folderId, 'yandexgpt-lite/latest')
36-
->addText([
37-
[
38-
'role' => $completion::SYSTEM,
39-
'text' => 'Ты учитель информатики. Твоя задача - подробно и понятно отвечать на вопросы или объяснять.',
40-
],
41-
[
35+
$context = [
36+
[
37+
'role' => $completion::SYSTEM,
38+
'text' => 'Ты учитель информатики. Твоя задача - подробно и понятно отвечать на вопросы или объяснять.',
39+
],
40+
];
41+
42+
foreach ($messages as $message) {
43+
if ($message['isTeacher']) {
44+
$context[] = [
45+
'role' => $completion::ASSISTANT,
46+
'text' => $message['text'],
47+
];
48+
} else {
49+
$context[] = [
4250
'role' => $completion::USER,
43-
'text' => $message,
44-
],
45-
]);
51+
'text' => $message['text'],
52+
];
53+
}
54+
}
55+
56+
$completion->setModelUri($this->folderId, 'yandexgpt-lite/latest')
57+
->setTextMaxCount(21)
58+
->addText($context);
4659

4760
$result = $this->yandexGpt->request($completion);
4861

composer.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@
77
"require": {
88
"php": "^8.2",
99
"area17/twill": "^3.0",
10+
"jumas-cola/php-yandex-gpt": "^1.0",
1011
"laravel/framework": "^11.0",
1112
"laravel/tinker": "^2.9",
12-
"spatie/laravel-sitemap": "^7.2",
13-
"teariot/php-yandex-gpt": "*"
13+
"spatie/laravel-sitemap": "^7.2"
1414
},
1515
"require-dev": {
1616
"fakerphp/faker": "^1.23",

composer.lock

+48-49
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)