Генерация таблиц
Обновлено 14 ноября 2024
Пример промпта для генерации таблиц.
Структура промпта
- GigaChat API
- GigaChain
{
"model": "GigaChat-Pro",
"messages": [
{
"role": "system",
"content": "Заполни таблицу в формате markdown с указанными названиями строк или столбцов на основе сообщения пользователя."
},
{
"role": "user",
"content": "Столбцы: Предмет мебели, Краткое описание. В обычной квартире могут быть представлены самые разные предметы мебели. Например столы, стулья или кресла. Стол — предмет мебели, имеющий приподнятую горизонтальную или наклонную поверхность и предназначенный для размещения предметов, выполнения работ, принятия пищи, игр, рисования, обучения и другой деятельности. Стул — предмет мебели для сидения одного человека, с опорой для спины с подлокотниками или без них. Кресло — предмет мебели для комфортного продолжительного сидения, со спинкой, c подлокотниками или без них."
}
]
}
Промпт работает с помощью библиотеки gigachain_core, начиная с версии 0.1.9.1.
Для обновления библиотеки выполните команду:
pip install -U gigachain_core
input_variables: [text]
output_parser: null
messages:
- role: system
prompt:
template: 'Заполни таблицу в формате markdown с указанными названиями строк или столбцов на основе сообщения пользователя.'
- role: user
prompt:
template: '{text}'
template_format: f-string
_type: chat
Шаблон содержит переменные:
text
— текст обращения пользователя. Обязательное поле;
Пример запроса
- GigaChat API
- GigaChain
curl --location 'https://gigachat.devices.sberbank.ru/api/v1/chat/completions' \
--header 'Content-Type: application/json' \
--header 'Authorization: <токен_доступа>' \
--data '{
"model": "GigaChat-Pro",
"temperature": 1.0,
"top_p": 0.1,
"n": 1,
"max_tokens": 1000,
"repetition_penalty": 1.0,
"stream": false,
"messages": [
{
"role": "system",
"content": "Создай таблицу в формате markdown с указанными названиями столбцов и строк на основе текста сообщения пользователя. Количество строк и столбцов должно !строго соответствовать заданному в сообщении. Оформление таблицы должно быть консистентным."
},
{
"role": "user",
"content": "Столбцы: Предмет мебели, Краткое описание. В обычной квартире могут быть представлены самые разные предметы мебели. Например столы, стулья или кресла. Стол — предмет мебели, имеющий приподнятую горизонтальную или наклонную поверхность и предназначенный для размещения предметов, выполнения работ, принятия пищи, игр, рисования, обучения и другой деятельности. Стул — предмет мебели для сидения одного человека, с опорой для спины с подлокотниками или без них. Кресло — предмет мебели для комфортного продолжительного сидения, со спинкой, c подлокотниками или без них."
}
]
}'
from langchain_gigachat.tools.load_prompt import load_from_giga_hub
from langchain_gigachat.chat_models import GigaChat
giga = GigaChat(credentials="ключ авторизации", model="GigaChat-Pro")
prompt = load_from_giga_hub("lc://prompts/content/table_generation.yaml")
chain = prompt | giga
chain.invoke(
{
"text": "Столбцы: Предмет мебели, Краткое описание. В обычной квартире могут быть представлены самые разные предметы мебели. Например столы, стулья или кресла. Стол — предмет мебели, имеющий приподнятую горизонтальную или наклонную поверхность и предназначенный для размещения предметов, выполнения работ, принятия пищи, игр, рисования, обучения и другой деятельности. Стул — предмет мебели для сидения одного человека, с опорой для спины с подлокотниками или без них. Кресло — предмет мебели для комфортного продолжительного сидения, со спинкой, c подлокотниками или без них."
}
).content