Сервис предназначен для генерации ответа пользователю чат-бота через GigaChat.
При попадании чат-бота в стейт с функцией $llm.fetchRequest() выполняется предусмотренный по сценарию запрос в GigaChat.
Параметр функции
| Параметр | Тип | Обязательность | Описание | 
|---|---|---|---|
| userContent | string | Да | Текст запроса в gigachat. Текст запроса с переменными. Не более 1500 символов | 
| systemContent | string | Нет | Системный промпт. Возможность задать промпт, который позволяет настроить дополнител ьные правила и условия обработки запроса. Не более 1500 символов | 
| noHistory | boolean | Нет | Отключить отправку истории переписки. true: история переписки не добавляется в запрос в GigaChat. Отправка истории отключена вручнуюfalse: история переписки отправляется. По умолчанию история отправляется | 
| timeout | num | Нет | Tаймаут выполнения запроса в миллисекундах. Значение по умолчанию должно задаваться в конфиге. По умолчанию установлено значение 6 секунд | 
Возвращаемый объект имеет следующие поля:
- isOk: При успешном выполнении запроса принимает значение- true. При ошибке внутри сервиса или при истечении таймаута принимает значение- false.
- message: Текст ответа GigaChat.
- error: Строка с описанием ошибки. В случае успешного запроса принимает значение- undefined. При истечении таймаута принимает значение- Read timed out.
- status: Числовой код состояния http (например, 200 или 401). При ошибке внутри сервиса или при истечении таймаута запроса принимает значение- -1.
Пример использования:
state: noMatch
    event!: noMatch
    script:
            var systemContent = "Отвечай в стиле крокодила Гены из мультика чебурашка";       
            var userContent = $request.query;
            $llm.fetchRequest({"systemContent": systemContent, "userContent": $request.query, "noHistory": true})
                .then(function (response) {
                    if (response.isOk) {
                        $reactions.answer(response.message);
                    } else {
                        $reactions.transition('/transferToOperator');
                    }
                    $jsapi.log("### log: " + toPrettyString($temp.answer));
                });
Список возвращаемых статусов ошибок
| Кейс | Код ошибки | Описание ошибки | 
|---|---|---|
| Ограничение тарифа | 403 | Restricted for the current tariff | 
| Таймаут выполнения запроса (выполнение запроса не выполнено в указанный таймаут) | 408 | Read timed out | 
| Превышены лимиты по размеру полей Запрос или Системный промпт | 413 | Content is too large | 
| Ошибка при выполнении запроса в GigaChat | 500 | Request failed | 
| Достигнуто максимальное количество обращений на одного клиента | 503.1 | The limit of requests for the user per day | 
| Достигнуто максимальное количество обращений для тестового виджета | 503.2 | The limit of requests for test per project | 
| Запросы ограничены для текущей интеграции | 503.3 | Restricted for the channelType | 
При совершении более 50 запросов в течение 10 минут будет произведена блокировка на 10 минут, по истечению которой вы сможете продолжить работу. Максимальное количество обращений от одного клиента - 500.

