Запрос к GroqChat (GroqChatRequest)

Этот блок позволяет отправлять запросы к генеративным моделям GroqChat. С его помощью вы можете создавать новые тексты по запросу, выполнять разнообразные задачи:

  • классификации,

  • суммаризации,

  • перевода и рерайтинга текстов,

  • написания прототипов кода на разных языках программирования,

  • парсить полуструктурированные и неструктурированные данные,

  • извлекать и обрабатывать факты,

  • поддерживать диалог на разнообразные темы, и многое другое.

Оплата за использование данного функционала списывается с лицевого счета клиента на платформе. Для тестовых целей каждому новому Пользователю даётся возможность протестировать данный функционал без оплаты. При использовании данного функционала после окончания разработки Робота необходима оплата.

История чата

[Таблица Данных] Добавьте историю чата, на основе контекста которого нейросеть должна сгенерировать ответ. Указанная таблица данных должна содержать колонки с именами "role" и "content".

При отсутствии таких колонок в качестве "role" будет использована первая колонка таблицы, в качестве "content" - вторая колонка. В колонке "role" можно указать только одно из следующих значений:

  • system,

  • assistant,

  • user.

Роль system предназначена для настройки тональности и базовых установок нейросети, например:

  • с ролью "system" можно написать "You are helpful assistant on used cars selection. You know everything on how to choose the best deal for used car",

  • с ролью "assistant" рекомендуется включать предыдущие сообщения, сгенерированный самой нейросетью,

  • с ролью "user" рекомендуется включать реплики, написанные пользователем-собеседником.

Более старые сообщения должны быть размещены в начале таблицы, более новые - в конце таблицы. Колонка "content" должна содержать само сообщение.

Данное свойство можно оставить пустым, тогда генерация будет выполнена только по содержимому свойств "Роль" и "Запрос".

Если используется свойство "Инструменты", то в таблице должно быть 4 колонки:

  • "role",

  • "content",

  • "tool_call_id",

  • "name".

Запрос System

[Текст] Введите текст нового запроса к нейросети. Запрос будет выполняться с ролью system.

Запрос User

[Текст] Введите текст нового запроса к нейросети. Запрос будет выполняться с ролью user.

Модель

Выберите модель для генерации ответа.

Стоп-слова

[Текст/Список] Строка или список, содержащий не более 4 строк, которые остановят дальнейшую генерацию. Возвращаемый текст не будет содержать эти слова.

Температура

[Число] Десятичное дробное число от 0 до 1, показывающее степень "случайности" или "креативности" результата, где:

  • 0 - наименее креативный результат,

  • 1 - максимально случайный.

Для большинства творческих задач лучше подходит значение 0.7, а если вы хотите на один и тот же запрос каждый раз получать одинаковый ответ - установите значение 0.

Максимальная длина

[Число] Максимальная длина результата, выраженная в условных токенах.

Для английского языка 1 токен - это 4 символа, для большинства других языков 1 токен - это 1 символ.

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

Автоограничение длины

При включении указанная максимальная длина будет автоматически скорректирована. Для этого вычисляется количество токенов в запросе и учитывается максимально возможное количество токенов для выбранной модели.

Инструменты

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

Таблица данных должна содержать три колонки:

  • "name" - название инструмента (латинские буквы и цифры, не более 64 символов),

  • "description" - описание инструмента (может быть на отличных от английского языках),

  • "parameters" - аргументы передаваемые в инструмент при его вызове в формате JSON.

Пример JSON-описания параметров: "{\"type\": \"object\", \"properties\": { \"query\": { \"type\": \"string\", \"description\": \"Request for a Google search result\" } }, \"required\": [\"query\"] }".

При вызове инструмента нейросеть выберет подходящий инструмент из числа доступных, опираясь на указанное вами описание инструментов, а также заполнит (сгенерирует) значения указанных вами параметров для вызова этих инструментов.

Более подробно про механизм использования инструментов можно узнать из описания выходного свойства CalledTools.

Таймаут

[Число] Максимальное время ожидания ответа в секундах. Реальное время ожидания зависит от выбранной модели, длины вашего запроса и прогнозируемой длины ответа, а также от текущей загруженности серверов.

В случае превышения установленного предела ожидания возникает ошибка.

Количество попыток

[Число] Количество попыток при возникновении ошибки связи с сервером.

Роль ответа

[Текст] Роль, с которой ответила нейросеть.

Ответ

[Текст] Текст ответа нейросети.

Размышления

[Текст] Размышления нейросети (если они есть в ответе).

Итоговая длина

[Число] Итоговая длина запроса и результата (объединенных вместе), выраженная в условных токенах.

Вызываемые инструменты

[Список] Список объектов ToolItem.

Если нейросеть после запроса вместо текстового ответа предлагает использовать один или несколько инструментов, указанные в свойстве "Инструменты", то в данном свойстве будет возвращен список объектов ToolItem.

Объект содержит следующие свойства:

  • id,

  • name,

  • arguments.

Значения id, name необходимо использовать в таблице "История чата". Свойство arguments является словарем, где ключ - это название параметра вызываемого инструмента, а значение является сгенерированным нейросетью значением этого параметра.

При использовании механизма инструментов после вызова данного блока вы должны проверить, выбрала ли нейросеть какой-либо инструмент, по содержимому данного списка.

Если список не пустой, вы должны самостоятельно реализовать функционал выбранного инструмента или инструментов в сценарии Робота, а затем в следующем вызове данного блока вернуть нейросети результат выполнения инструмента, который нейросеть будет использовать в генерации последующих сообщений.

Результат выполнения инструментов необходимо записывать в таблицу "История чата" следующим образом:

  • в колонку "role" записывается константное значение "tool",

  • в колонку "content" - значение результата выполнения инструмента (который вы реализовали в вашем сценарии и теперь сообщаете этот результат нейросети),

  • в колонку "tool_call_id" - значение текущего ToolItem.id,

  • в колонку "name" - значение текущего ToolItem.name.

Уровень обработки

Выбор уровня обработки ошибок. Возможные значения:

  • "Default" - по умолчанию;

  • "Ignore" - ошибки игнорируются;

  • "Handle" - ошибки обрабатываются.

Если выбрано значение "Default", то будет использоваться значение блока "Старт" данной диаграммы.

Уровень сообщений

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

  • "Default" - по умолчанию;

  • "Release" - вывод отключен;

  • "Debug" - вывод основной информации;

  • "Detailed" - вывод подробной информации.

Если выбрано значение "Default", то будет использоваться значение блока "Старт" данной диаграммы.

Текст ошибки

[Текст] Возвращает подробную информацию об ошибке в случае некорректного выполнения работы блока.

Last updated