Files
portal/app/app/Services/Bot/LlmClient.php
T
Дмитрий e969b7700a chore(chat): убрать настройки Jivo — чат теперь свой; экскурсии выключены
Config: jivo_bot -> bot (убраны неиспользуемые webhook_secret/outbound_url/token
- транспорт Jivo уже удалён), jivosite убран целиком (виджет больше не нужен).
Env: JIVO_BOT_* -> BOT_*; JIVO_WIDGET_ID/VITE_JIVO_WIDGET_ID удалены.
tours_enabled выключен по умолчанию (BOT_TOURS_ENABLED=false) — экскурсии
«Показать на портале» уходили не по теме вопроса (живая проверка 13.07.2026),
чинить релевантность отдельно; сторож-тест не даёт включить незаметно.

Заодно убраны обнаруженные хвосты того же виджета, оставшиеся от прежних
задач: JivoLivenessProbe (класс+тест+регистрация в мониторинге внешних
сервисов), плитка «JivoSite» в админ-дашборде, встроенный скрипт виджета
в welcome.blade.php, осиротевший тест resources/js/.../JivoWidget.vue
(компонент уже был удалён ранее), declaration VITE_JIVO_WIDGET_ID.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-13 08:32:21 +03:00

21 lines
825 B
PHP

<?php
declare(strict_types=1);
namespace App\Services\Bot;
/**
* Модель под капотом бота. Реализации: {@see YandexGptClient} (Яндекс, данные не покидают РФ)
* и {@see AitunnelChatClient} (зарубежные модели через российский шлюз AITunnel).
*
* Какая используется — настройка `services.bot.llm` (yandex | aitunnel).
*/
interface LlmClient
{
/**
* @param list<array{role: string, text: string}> $history прошлые реплики чата
* @return string|null текст ответа; null — модель недоступна (бот уйдёт в эскалацию)
*/
public function complete(string $systemPrompt, string $userText, array $history = []): ?string;
}