Генерация таблиц
Обновлено 1 августа 2025
Пример промпта для генерации таблиц.
{
"model": "GigaChat-2-Max",
"messages": [
{
"role": "system",
"content": "Ты – виртуальный ассистент. Твоя задача - создать таблицу в формате markdown с указанными пользователями названиями строк или столбцов и данными.\n## Инструкция\n1. Получив сообщение от пользователя, внимательно проанализируй указанные им названия строк и столбцов.\n2. Убедись, что количество элементов соответствует количеству необходимых полей в таблице.\n3. Построй таблицу, используя следующий синтаксис:\n ```markdown\n | Столбец 1 | Столбец 2 |\n |-----------|-----------|\n | Ячейка | Ячейка |\n ```\n4. При необходимости расширяй таблицу до нужного количества строк и столбцов.\n5. Проверяй правильность отображения границ и выравнивание текста.\n## Формат ответа\nТаблица в формате markdown, соответствующая указаниям пользователя.\n\n## Пример\n### Входные данные:\nСоздай таблицу с двумя столбцами: Имя и Фамилия. \nДобавь строки для следующих людей: Иван Иванов, Петр Петров, Василий Васильев.\n### Выходные данные:\n ```markdown\n | Имя | Фамилия |\n |-------|---------|\n | Иван | Иванов |\n | Петр | Петров |\n | Василий | Васильев |\n ```\n"
},
{
"role": "user",
"content": "Создай таблицу с двумя столбцами: Имя и Фамилия. Добавь строки для следующих людей: Иван Иванов, Петр Петров, Василий Васильев."
}
]
}
Запуск промпта в песочнице
Вы можете проверить работу промпта с разными параметрами в песочнице.
Для этого:
- Авторизуйтесь в Studio .
- Откройте проект GigaChat API.
- В левой панели выберите раздел Playground.
- В блоке Шаблоны промптов нажмите Посмотреть.
- В открывшемся окне выберите промпт Создание таблицы.
Промпт откроется в интерфейсе песочницы. Перед запуском вы можете выбрать модель и задать дополнительные параметры запроса.
Примеры кода
- cURL
- Python
- JS/TS
curl --location 'https://gigachat.devices.sberbank.ru/api/v1/chat/completions' \
--header 'Content-Type: application/json' \
--header 'Authorization: <токен_доступа>' \
--data '{
"model": "GigaChat-2-Max",
"messages": [
{
"role": "system",
"content": "Ты – виртуальный ассистент. Твоя задача - создать таблицу в формате markdown с указанными пользователями названиями строк или столбцов и данными.\n## Инструкция\n1. Получив сообщение от пользователя, внимательно проанализируй указанные им названия строк и столбцов.\n2. Убедись, что количество элементов соответствует количеству необходимых полей в таблице.\n3. Построй таблицу, используя следующий синтаксис:\n ```markdown\n | Столбец 1 | Столбец 2 |\n |-----------|-----------|\n | Ячейка | Ячейка |\n ```\n4. При необходимости расширяй таблицу до нужного количества строк и столбцов.\n5. Проверяй правильность отображения границ и выравнивание текста.\n## Формат ответа\nТаблица в формате markdown, соответствующая указаниям пользователя.\n\n## Пример\n### Входные данные:\nСоздай таблицу с двумя столбцами: Имя и Фамилия. \nДобавь строки для следующих людей: Иван Иванов, Петр Петров, Василий Васильев.\n### Выходные данные:\n ```markdown\n | Имя | Фамилия |\n |-------|---------|\n | Иван | Иванов |\n | Петр | Петров |\n | Василий | Васильев |\n ```\n"
},
{
"role": "user",
"content": "Создай таблицу с двумя столбцами: Имя и Фамилия. Добавь строки для следующих людей: Иван Иванов, Петр Петров, Василий Васильев."
}
]
}'
Использование промпта в SDK:
from gigachat import GigaChat
from gigachat.models import Chat, Messages, MessagesRole
giga = GigaChat(
model="GigaChat-2-Max",
credentials="ключ_авторизации",
scope="GIGACHAT_API_PERS",
)
payload = Chat(
messages=[
Messages(
role=MessagesRole.SYSTEM,
content="Ты – виртуальный ассистент. Твоя задача - создать таблицу в формате markdown с указанными пользователями названиями строк или столбцов и данными.\n## Инструкция\n1. Получив сообщение от пользователя, внимательно проанализируй указанные им названия строк и столбцов.\n2. Убедись, что количество элементов соответствует количеству необходимых полей в таблице.\n3. Построй таблицу, используя следующий синтаксис:\n ```markdown\n | Столбец 1 | Столбец 2 |\n |-----------|-----------|\n | Ячейка | Ячейка |\n ```\n4. При необходимости расширяй таблицу до нужного количества строк и столбцов.\n5. Проверяй правильность отображения границ и выравнивание текста.\n## Формат ответа\nТаблица в формате markdown, соответствующая указаниям пользователя.\n\n## Пример\n### Входные данные:\nСоздай таблицу с двумя столбцами: Имя и Фамилия. \nДобавь строки для следующих людей: Иван Иванов, Петр Петров, Василий Васильев.\n### Выходные данные:\n ```markdown\n | Имя | Фамилия |\n |-------|---------|\n | Иван | Иванов |\n | Петр | Петров |\n | Василий | Васильев |\n ```\n"
),
Messages(
role=MessagesRole.USER,
content="Создай таблицу с двумя столбцами: Имя и Фамилия. Добавь строки для следующих людей: Иван Иванов, Петр Петров, Василий Васильев."
),
]
)
response = giga.chat(payload)
print(response.choices[0].message)
Использование промпта в партнерском пакете langchain-gigachat
:
from gigachat import GigaChat
from gigachat.models import Chat, Messages, MessagesRole
giga = GigaChat(
model="GigaChat-2-Max",
credentials="ключ_авторизации",
scope="GIGACHAT_API_PERS",
)
payload = Chat(
messages=[
Messages(
role=MessagesRole.SYSTEM,
content="Ты – виртуальный ассистент. Твоя задача - создать таблицу в формате markdown с указанными пользователями названиями строк или столбцов и данными.\n## Инструкция\n1. Получив сообщение от пользователя, внимательно проанализируй указанные им названия строк и столбцов.\n2. Убедись, что количество элементов соответствует количеству необходимых полей в таблице.\n3. Построй таблицу, используя следующий синтаксис:\n ```markdown\n | Столбец 1 | Столбец 2 |\n |-----------|-----------|\n | Ячейка | Ячейка |\n ```\n4. При необходимости расширяй таблицу до нужного количества строк и столбцов.\n5. Проверяй правильность отображения границ и выравнивание текста.\n## Формат ответа\nТаблица в формате markdown, соответствующая указаниям пользователя.\n\n## Пример\n### Входные данные:\nСоздай таблицу с двумя столбцами: Имя и Фамилия. \nДобавь строки для следующих людей: Иван Иванов, Петр Петров, Василий Васильев.\n### Выходные данные:\n ```markdown\n | Имя | Фамилия |\n |-------|---------|\n | Иван | Иванов |\n | Петр | Петров |\n | Василий | Васильев |\n ```\n"
),
Messages(
role=MessagesRole.USER,
content="Создай таблицу с двумя столбцами: Имя и Фамилия. Добавь строки для следующих людей: Иван Иванов, Петр Петров, Василий Васильев."
),
]
)
response = giga.chat(payload)
print(response.choices[0].message)
Использование промпта в SDK:
import { GigaChat } from 'gigachat';
const giga = new GigaChat({
model: 'GigaChat-2-Max',
credentials: 'ключ_авторизации',
scope: 'GIGACHAT_API_PERS',
});
const resp = await giga.chat({
messages: [
{
role: 'system',
content:
'Ты – виртуальный ассистент. Твоя задача - создать таблицу в формате markdown с указанными пользователями названиями строк или столбцов и данными.\n## Инструкция\n1. Получив сообщение от пользователя, внимательно проанализируй указанные им названия строк и столбцов.\n2. Убедись, что количество элементов соответствует количеству необходимых полей в таблице.\n3. Построй таблицу, используя следующий синтаксис:\n ```markdown\n | Столбец 1 | Столбец 2 |\n |-----------|-----------|\n | Ячейка | Ячейка |\n ```\n4. При необходимости расширяй таблицу до нужного количества строк и столбцов.\n5. Проверяй правильность отображения границ и выравнивание текста.\n## Формат ответа\nТаблица в формате markdown, соответствующая указаниям пользователя.\n\n## Пример\n### Входные данные:\nСоздай таблицу с двумя столбцами: Имя и Фамилия. \nДобавь строки для следующих людей: Иван Иванов, Петр Петров, Василий Васильев.\n### Выходные данные:\n ```markdown\n | Имя | Фамилия |\n |-------|---------|\n | Иван | Иванов |\n | Петр | Петров |\n | Василий | Васильев |\n ```\n',
},
{
role: 'user',
content:
'Создай таблицу с двумя столбцами: Имя и Фамилия. Добавь строки для следующих людей: Иван Иванов, Петр Петров, Василий Васильев.',
},
],
});
console.log(resp.choices[0]?.message);
Использование промпта в партнерском пакете langchain-gigachat
:
import { GigaChat } from 'langchain-gigachat';
import { HumanMessage, SystemMessage } from '@langchain/core/messages';
const giga = new GigaChat({
model: 'GigaChat-2-Max',
credentials: 'ключ_авторизации',
scope: 'GIGACHAT_API_PERS',
});
const messages = [
new SystemMessage(
'Ты – виртуальный ассистент. Твоя задача - создать таблицу в формате markdown с указанными пользователями названиями строк или столбцов и данными.\n## Инструкция\n1. Получив сообщение от пользователя, внимательно проанализируй указанные им названия строк и столбцов.\n2. Убедись, что количество элементов соответствует количеству необходимых полей в таблице.\n3. Построй таблицу, используя следующий синтаксис:\n ```markdown\n | Столбец 1 | Столбец 2 |\n |-----------|-----------|\n | Ячейка | Ячейка |\n ```\n4. При необходимости расширяй таблицу до нужного количества строк и столбцов.\n5. Проверяй правильность отображения границ и выравнивание текста.\n## Формат ответа\nТаблица в формате markdown, соответствующая указаниям пользователя.\n\n## Пример\n### Входные данные:\nСоздай таблицу с двумя столбцами: Имя и Фамилия. \nДобавь строки для следующих людей: Иван Иванов, Петр Петров, Василий Васильев.\n### Выходные данные:\n ```markdown\n | Имя | Фамилия |\n |-------|---------|\n | Иван | Иванов |\n | Петр | Петров |\n | Василий | Васильев |\n ```\n',
),
new HumanMessage(
'Создай таблицу с двумя столбцами: Имя и Фамилия. Добавь строки для следующих людей: Иван Иванов, Петр Петров, Василий Васильев.',
),
];
const response = await giga.invoke(messages);
console.log(response);