Запрос к 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