This commit is contained in:
2026-05-19 14:12:22 +03:00
parent 840d7d8e3b
commit 873ecdb6e1
5 changed files with 219 additions and 11 deletions

View File

@@ -27,18 +27,27 @@ type Processor struct {
func NewProcessor(hook HTMLHook) *Processor {
return &Processor{hook: hook}
}
func tryExtractLinks(text string) []string {
aiResponce, err := openrouter.AskOpenRouter(fmt.Sprintf("Ты - умный парсер для веб страниц. Данная страница представляет из себя тестовое задание и тебе нужно проанализировать страницу, найти блок в котором находится задание, и если внутри этого блока есть изображения - достать их и вернуть в виде JSON массива со строками на эти изображения. ВОЗВРАЩАЙ ТОЛЬКО И ТОЛЬКО JSON обьект, БЕЗ КАКИХ ЛИБО ДОПОЛНИТЕЛЬНЫХ СЛОВ, ФРАЗ, СИМВОЛОВ etc. В ФОРМАТЕ {\"images\":[\"test", "test\"]}", string(text)))
if err != nil {
log.Printf("openrouter failed %s", err)
return []string{}
}
log.Println(aiResponce)
return []string{}
}
func DefaultQuestionTestHook(_ *http.Request, html []byte) ([]byte, error) {
switch cheating.DetermineQuestionType(string(html)) {
case cheating.FullTextQuestion:
{
aiResponce, err := openrouter.AskOpenRouter(fmt.Sprintf("РЕШИ ЗАДАНИЕ И ДАЙ МАКСИМАЛЬНО КРАТКИЙ ОТВЕТ: %s", string(html)))
//log.Println(tryExtractLinks(string(html)))
aiResponce, err := openrouter.AskOpenRouter(fmt.Sprintf("прочитай задание и выпиши достаточно подробный список формул/гайд по решению которые могут помочь при решении задач ИЛИ ЕСЛИ МОЖЕШЬ СРАЗУ ДАТЬ ОТВЕТ - ответы списком: %s. пиши без latex обычным читаемым текстом и максимально кратко. учти что это работа за 10 класс российской школы", string(html)))
if err != nil {
log.Printf("openrouter failed %s", err)
return html, nil
}
return []byte(strings.ReplaceAll(string(html), "generated", latex.ConvertLaTeXToASCII(aiResponce))), nil
return []byte(strings.ReplaceAll(string(html), "generated", fmt.Sprintf("<span title=\"%s\">generated</span>", latex.ConvertLaTeXToASCII(aiResponce)))), nil
}
case cheating.QuestionWithPicture:
{