Генерация вопросов к заданному тексту
Обновлено 16 января 2025
Пример промпта для генерации различных вопросов к переданному тексту.
Структура промпта
- GigaChat API
- GigaChain
{
"model": "GigaChat",
"messages": [
{
"role": "system",
"content": "Перед тобой некоторая часть целостного документа.\nПридумай и напиши 3 УНИКАЛЬНЫХ КОРОТКИХ ВОПРОСА, которые человек может задать к данному документу.\nИспользуй информацию ТОЛЬКО из приведенной части документа.\nИспользуй непредвзятый и журналистский тон. Не повторяй текст.\nФормат ответ должен выглядеть вот так:\n\n\"Вопрос\n\n...\n...\nВопрос\n\n\""
},
{
"role": "user",
"content": "<Текст>"
}
]
}
input_variables: [text]
output_parser: null
template: 'Перед тобой некоторая часть целостного документа.
Придумай и напиши 3 УНИКАЛЬНЫХ КОРОТКИХ ВОПРОСА, ко торые человек может задать к данному документу.
Используй информацию ТОЛЬКО из приведенной части документа.
Используй непредвзятый и журналистский тон. Не повторяй текст.
Формат ответ должен выглядеть вот так:
"
Вопрос
...
...
Вопрос
"
Текст документа:
{text}
3 вопроса к документу на русском языке:'
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",
"messages": [
{
"model": "GigaChat",
"messages": [
{
"role": "system",
"content": "Перед тобой некоторая часть целостного документа.\nПридумай и напиши 3 УНИКАЛЬНЫХ КОРОТКИХ ВОПРОСА, которые человек может задать к данному документу.\nИспользуй информацию ТОЛЬКО из приведенной части документа.\nИспользуй непредвзятый и журналистский тон. Не повторяй текст.\nФормат ответ должен выглядеть вот так:\n\n\"Вопрос\n\n...\n...\nВопрос\n\n\""
},
{
"role": "user",
"content": "<Текст>"
}
]
}
]
}'
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="ключ_авторизации")
prompt = load_from_giga_hub('lc://prompts/qna/generate_question_prompt.yaml')
chain = prompt | giga
chain.invoke(
{
"text": "... текст документов ..."
}
).content