ym88659208ym87991671
Отображение сообщений в чате с агентом | Документация для разработчиков

Отображение сообщений в чате с агентом

Обновлено 10 декабря 2025

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

Для этого в сообщение нужно добавить дополнительные поля additional_kwargs с описанием элементов.

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

Функциональность работает в чате с агентом, после публикации в любом окружении: DEV, IFT или ПРОМ.

Поддерживается отображение сообщений заданных типов:

  • пользователя — тип human;
  • агента — тип ai;
  • сообщение, сгенерированное в процессе работы функции GigaChat — тип tool.

Также возможно отображение собственных типов, например, для отображения логов.

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

Сообщения пользователя

Сообщение пользователя передается с типом human. Пример простого сообщения:

{
"id": "<UUIDv4>",
"type": "human",
"content": "Вопрос пользователя"
}

В чате с агентом:

Отображение сообщения type=human

Приложенные файлы

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

{
"id": "<UUIDv4>",
"type": "human",
"content": "Вопрос пользователя",
"additional_kwargs": {
"attached_files": [
{
"id": "<UUIDv4>",
"filename": "example.md",
"url": "<fileUploadUrl>"
}
]
}
}

В интерфейсе:

Отображение сообщения type=human с прикрепленными файлами

Сообщения агента

GigaLab автоматически отрисовывает MDX-контент сгенерированный агентом и переданный в сообщении с типом ai. Поддерживаются таблицы, картинки, ссылки, математические формулы и другое форматирование.

Вы также можете отображать дополнительные элементы, например процесс размышления агента или возможные варианты запроса пользователя (саджесты).

Отображение размышлений

Если агент поддерживает размышления (thinking), то вы сможете отобразить шаги его рассуждений. Для этого в сообщении с типом ai нужно передать специальный тег <thinking>:

{
"id": "<UUIDv4>",
"type": "ai",
"content": "<thinking>\nДля вывода текущего времени в Москве мне потребуется воспользоваться библиотекой datetime и pytz в Python. Я создам соответствующий скрипт и выполню его.\n</thinking>"
}

В интерфейсе это будет выглядеть так:

Отображение рассуждение в сообщение type=ai

Отображение источников

В ответах агента можно отображать источники, списки ссылок и карточки. Для этого нужно использовать соответствующие структуры, переданные в объекте additional_kwargs.

Отображение источников с помощью additional_kwarg.shelves:

{
"id": "<UUIDv4>",
"type": "ai",
"content": "<Контент сообщения в формате MDX>",
"additional_kwargs": {
"shelves": [
{
"shelfName": "Telegram",
"documents": [
{
"title": "Бизнес.com",
"url": "<sourceUrl>",
"snippet": "...",
"source": "tg"
},
...
]
},
...
]
}
}

В интерфейсе:

Отображение сообщения type=ai с источниками

Отображение карточек

Отображение карточек с помощью additional_kwargs.carousels:

{
"id": "<UUIDv4>",
"type": "ai",
"content": "<Контент сообщения в формате MDX>",
"additional_kwargs": {
"frontend_data": {
"carousels": [
{
"type": "CARD",
"sub_type": "EXCURSION",
"priority": 2,
"data": [
{
"title": "Обзорная экскурсия г. Южно=Сахалинск",
"image_urls": ["<imageUrl>"],
"additional_data": {
"additional_attributes": [
"Городская экскурсия",
"3 часа"
],
"address": "Муниципальное образование городской округ «Город Южно-Сахалинск»",
"price": 7000,
"number_of_people": 1,
"url": "<cardUrl>",
"urls": [
{
"url": "<externalUrl>",
"type": "EXTERNAL_WEBSITE"
}
],
"priority": 0
}
},
...
]
}
],
"sources": []
}
}
}

В интерфейсе:

Отображение сообщения type=ai с каруселью карточек

Пример таких карточек можно найти в чате с агентом помощником туриста.

Отображение ссылок

Отображение ссылок с помощью additional_kwargs.artifacts

{
"id": "<UUIDv4>",
"type": "ai",
"content": "<Контент сообщения в формате MDX>",
"additional_kwargs": {
"artifacts": [
{
"type": "pdf",
"link": "<artifactDownloadUrl>"
},
{
"type": "docx",
"link": "<artifactDownloadUrl>"
},
{
"type": "markdown",
"link": "<artifactDownloadUrl>"
}
]
}
}

В интерфейсе:

Отображение сообщения type=ai с артефактами

Отображение саджестов

Подробный пример формирования и добавления саджестов в ответы агента.

Пример JSON-схемы саджестов:

{
"json_schema_extra": {
"examples": [
{
"should_suggest": True,
"suggests": [
{
"label": "Уточнить свежие новости по теме",
"prompt": "Используй DuckDuckGo и найди последние новости",
"position": 0,
}
],
},
{
"should_suggest": False,
"suggests": [],
},
]
}
}

Сообщения функций

Сообщения, сгенерированные в результате работы функций можно отобразить с помощью типа tool:

{
"id": "<UUIDv4>",
"type": "tool",
"content": "{\"message\": \"Результат выполнения: \\\"Текущее время в Москве: 2025-09-25 11:24:05\\\". Код выполнился без ошибок. Проверь нужные переменные. Не забудь, что пользователь не видит этот результат, поэтому если нужно перепиши его.\\nСверься со своим планом. Помни, что тебе нужно выполнить всю задачу пользователя, поэтому не спеши со своим ответом. Твой следующий шаг: \", \"is_exception\": false}",
"tool_call_id": "<UUIDv4>"
}

В интерфейсе:

Отображение сообщения type=tool

Собственные сообщения

Интерфейс чата также может отображать кастомные сообщения event=custom.

Например, лог работы агента:

{
"type":"log",
"content":"🔍 Запуск исследования для 'Привет'..."
}

В интерфейсе:

Отображение логов

Заметили ошибку?

Выделите текст и нажмите Ctrl + Enter, чтобы сообщить нам о ней

ПАО Сбербанк использует cookie для персонализации сервисов и удобства пользователей. Вы можете запретить сохранение cookie в настройках своего браузера.