36 lines
1.6 KiB
Lua
36 lines
1.6 KiB
Lua
|
|
-- "Интересный факт о космосе" / "удиви меня"
|
|||
|
|
local phrase = (jarvis.context.phrase or ""):lower()
|
|||
|
|
local topic = jarvis.text.strip_trigger(phrase, {
|
|||
|
|
"расскажи интересный факт про",
|
|||
|
|
"расскажи интересный факт о",
|
|||
|
|
"интересный факт про",
|
|||
|
|
"интересный факт о",
|
|||
|
|
"расскажи интересный факт",
|
|||
|
|
"интересный факт",
|
|||
|
|
"расскажи факт",
|
|||
|
|
"удиви меня",
|
|||
|
|
"tell me an interesting fact",
|
|||
|
|
"fun fact about",
|
|||
|
|
"surprise me",
|
|||
|
|
"цікавий факт",
|
|||
|
|
})
|
|||
|
|
topic = topic:gsub("^[%s,:%.]+", ""):gsub("%s+$", "")
|
|||
|
|
|
|||
|
|
local user_prompt
|
|||
|
|
if topic == "" then
|
|||
|
|
user_prompt = "Расскажи один реально неочевидный научно-проверенный факт. На русском, 1-2 предложения. Без вступлений типа 'знали ли вы'."
|
|||
|
|
else
|
|||
|
|
user_prompt = "Расскажи один интересный факт про " .. topic .. ". На русском, 1-2 предложения. Без вступлений."
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
local reply = jarvis.llm({
|
|||
|
|
{ role = "system", content = "Ты любопытный собеседник. Говоришь короткими, цепляющими фактами без воды." },
|
|||
|
|
{ role = "user", content = user_prompt }
|
|||
|
|
}, { max_tokens = 200, temperature = 0.8 })
|
|||
|
|
|
|||
|
|
if not reply or reply == "" then
|
|||
|
|
return jarvis.cmd.error("Сегодня нет интересных фактов.")
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
return jarvis.cmd.ok(reply)
|