Перейти к основному содержимому

Нейросеть

Действие Нейросеть позволяет обращаться к ChatGPT, Grok и DeepSeek прямо из сценария — генерировать тексты, анализировать изображения, распознавать аудио и работать с файлами.

Действие Нейросеть

Нейросеть и тип запроса можно задать переменной

Под списками «Нейросеть» и «Тип запроса» есть по текстовому полю. Оставьте их пустыми — работает выбор из списка. Заполните — оно главнее.

Это нужно, когда выбор хранится не в действии, а рядом с ключом: в списке настроек бота или в глобальной переменной. Тогда клиент меняет нейросеть и ключ в одном месте, не открывая сценарий.

Значение должно точно совпадать с одним из вариантов списка — регистр и лишние пробелы не важны. Если конструктор не узнает название, действие не выполнится: в переменную результата попадёт 0, а в переменную ответа — что именно не опознано. Так сделано нарочно: иначе ваш ключ ушёл бы в чужую нейросеть.


Какой аккаунт использовать​

ВариантОсобенности
Аккаунт конструктора (по умолчанию)Ничего не настраиваете: выбрали ChatGPT — и действие работает. С баланса Quescha списывается плата за каждый запрос. Свой ключ нейросети не нужен.
Свой аккаунт нейросетиЗапросы оплачиваются на стороне провайдера (OpenAI, xAI, DeepSeek). Требуется ваш API-ключ — указывается в «Расширенных настройках». Обязателен для DeepSeek, Grok и типа запроса Assistant.
Одна нейросеть на все боты аккаунта

В настройках аккаунта рядом с полями нейросети для генераций есть отметка «Использовать эту нейросеть и в ботах». Пока она стоит, провайдер, ключ и модель берутся оттуда — они главнее того, что выбрано в этом действии. Остальные настройки действия остаются своими.

Так проще всего перевести на свой ключ готовый бот из каталога: не открывая сценарии и не правя каждое действие. Не применяется к типам «Ответ по файлу» и «Assistant», а также к картинкам и звуку у провайдеров, которые их не умеют — эти действия останутся на своих настройках.

Снимите отметку, если хотите настраивать каждое действие отдельно.


Типы запросов​

ТипЧто делает
CompletionКлассический запрос к языковой модели — текст в ответ на промпт.
ResponseУлучшенная версия Completion с удобной работой с контекстом диалога.
Ответ по файлуЗапрос с учётом содержимого файла. Доступно без своего аккаунта нейросети.
AssistantЗапрос к OpenAI Assistants — постоянным помощникам, настроенным на стороне OpenAI.
ImageГенерация изображения по описанию (например, DALL·E).
Анализ изображенияРаспознавание и описание содержимого картинки.
Аудио в текстТранскрибация голоса в текст.
Совет

Для диалогового бота используйте тип Response — он удобнее работает с историей сообщений, чем Completion.


Параметры запроса​

ПолеОписание
API-ключ (необязательно)В «Расширенных настройках». Пусто — работает через аккаунт Quescha, оплата с баланса. Обязателен для DeepSeek, Grok и типа Assistant.
Модель (необязательно)В «Расширенных настройках». Пусто — подставляется модель по умолчанию (gpt-4.1, для картинок dall-e-3, для аудио gpt-4o-transcribe). Можно указать свою: gpt-4o, grok-2, deepseek-chat.
ЗапросТекст промпта для нейросети.
КонтекстПредыдущая история диалога с нейросетью.
Ограничение в токенахМаксимальный размер ответа.
ТемператураКреативность ответа: чем выше — тем разнообразнее результат.

Переменные для сохранения результата​

ПеременнаяЧто в неё попадает
Ответ нейросетиТекст ответа — пригодится для отправки подписчику или дальнейшей обработки.
Результат операции1 — успех, 0 — неудача.
JSON-ответПолный ответ сервера — для парсинга и доступа к служебным полям.
ID беседы для Response

При типе запроса Response ID беседы автоматически сохраняется в системную переменную _responseId — её можно передавать в следующий запрос как контекст диалога.

Если в действии заполнено поле «Имя переменной беседы», ветка живёт в вашей переменной, и она становится единственным источником: пустая переменная означает «начать беседу заново», а не «взять _responseId». Системная переменная берётся, только когда своё имя не задано.

Так беседу можно оборвать нарочно: обнулить свою переменную — и следующий вопрос уйдёт с чистой веткой. Это важно для типа «Ответ по файлу»: в старой ветке остаются ссылки на файлы базы знаний (file_id). Если файл переиндексирован или удалён, провайдер отвечает failed to resolve file_id via Files API на каждый следующий вопрос — пока беседа не начнётся заново.


Когда переписка перестаёт помещаться​

У каждой модели есть предел: сколько текста она способна удержать в одной беседе. Длинный диалог рано или поздно в этот предел упирается — и тогда действие начинает беседу заново: помнит только последний обмен, дальше история копится с нуля.

Так честнее, чем выбрасывать начало переписки: иначе нейросеть теряет то, что ей говорили в первых сообщениях — суть задачи, имя клиента, условия — и начинает отвечать невпопад.

Если предел придёт со стороны нейросети ошибкой, бот не остановится: беседа начнётся заново, и запрос уйдёт повторно уже по чистой беседе. Подписчик получит ответ, а не молчание.

Отказ бывает и другой: «ответ слишком велик, чтобы его сохранить» (Response is too large to store). Он приходит только при включённом Контексте: беседу хранит провайдер, а значит каждый ответ он обязан у себя сохранить, — и упирается в свой предел на один ответ. Чистая беседа тут не поможет, велик сам ответ, поэтому бот повторяет запрос без сохранения беседы: подписчик получает ответ, а история начинается заново. В обоих случаях _aiContextReset становится 1.

Если такие ответы приходят часто, ограничьте их длину: поле Максимальное количество токенов в действии или прямая просьба в вопросе — «ответь не длиннее 10 предложений».

Как узнать, что беседа началась заново

Переменная _aiContextReset равна 1, если предыдущий диалог был сброшен, и 0, если беседа продолжается.

Проверьте её условием после действия «Нейросеть», если для ответа важно то, что говорилось раньше: например, подставьте в запрос данные из анкеты заново или предупредите клиента, что начинаете разговор с чистого листа.

Размер беседы, после которого она начинается заново, задаётся полем Максимальная сумма токенов беседы — оно появляется рядом с галкой «Контекст». Оставьте его пустым, если не знаете размер окна своей модели.