Генерация сущностей
Обновлено 16 января 2025
Пример промпта для генерации сущностей. Промпт содержит инструкцию по количеству синонимов сущности и формату ответа.
Структура промпта
- GigaChat API
- GigaChain
{
"model": "GigaChat-Pro",
"messages": [
{
"role": "system",
"content": "Сгенерируй от 5 до 10 объектов для сущности \"автомобиль\" для каждого объекта сгенерируй до 10 синонимов. Придерживайся следующих правил: объекты и синонимы должны быть уникальны, не придумывай несуществующие слова и выражения, если у тебя закончились варианты, то не генерируй ничего. Результат верни в формате JSON-массива без каких-либо пояснений, например, [{\"entity\": \"название объекта\", \"synonyms\": [\"синоним1\", \"синоним2\"]}]."
}
]
}
input_variables: [dataset_size_min, dataset_size_max, subject]
output_parser: null
template: 'Сгенерируй от {dataset_size_min} до {dataset_size_max} объектов для сущности "{subject}" для каждого объекта сгенерируй до 10 синонимов. Придерживайся следующих правил: объекты и синонимы должны быть уникальны, не придумывай несуществующие слова и выражения, если у тебя закончились варианты, то не генерируй ничего. Результат верни в формате JSON-массива без каких-либо пояснений, например, [{"entity": "название объекта", "synonyms": ["синоним1", "синоним2"]}].'
template_format: f-string
_type: prompt
Пример запроса
- 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",
"messages": [
{
"role": "system",
"content": "Сгенерируй от 5 до 10 объектов для сущности \"автомобиль\" для каждого объекта сгенерируй до 10 синонимов. Придерживайся следующих правил: объекты и синонимы должны быть уникальны, не придумывай несуществующие слова и выражения, если у тебя закончились варианты, то не генерируй ничего. Результат верни в формате JSON-массива без каких-либо пояснений, например, [{\"entity\": \"название объекта\", \"synonyms\": [\"синоним1\", \"синоним2\"]}]."
},
]
}'
from langchain_gigachat.tools.load_prompt import load_from_giga_hub
from langchain.chains import LLMChain
from langchain_gigachat.chat_models import GigaChat
giga = GigaChat(credentials="ключ_авторизации", model="GigaChat-Pro")
prompt = load_from_giga_hub('lc://prompts/synonyms/entity_generation.yaml')
chain = prompt | giga
chain.invoke(
{
"dataset_size_min": 5,
"dataset_size_max": 10,
"subject": "автомобиль"
}
).content