Improved video referencing WIP (codex)

This commit is contained in:
2026-09-23 02:08:50 +03:00
parent 1e462b22a9
commit e5e09c00f9
8 changed files with 222 additions and 37 deletions

View File

@@ -242,7 +242,6 @@ CONTEXT
`pending.ids` должны содержать только ID из `present`, которые НЕ были добавлены в `preevents`, потому что их продолжение находится за границей текущего окна.
`pending.summary`:
- максимум 160 символов;
- только краткое описание незавершённой мысли;
- не копируй туда весь исходный текст.
@@ -336,4 +335,4 @@ CONTEXT
8. Ты не пересказал и не суммаризировал речь.
9. Ты не добавил сведений, которых нет в ASR-сегментах.
10. `context` остаётся коротким.
11. Ответ является валидным JSON.
11. Ответ является валидным JSON.

View File

@@ -15,19 +15,24 @@
таблицу, рисунок, объект или демонстрацию;
- в `description` кратко и фактически опиши полезное содержимое выбранного
кадра;
- верни `ocr_text: null`.
- верни `crop_box: null`.
Для `ocr`:
- выбери один кадр, на котором нужный текст виден достаточно полно и чётко;
- точно перепиши только относящийся к запросу текст или формулу;
- не исправляй и не дополняй распознанное по собственным знаниям;
- сохрани обозначения, индексы, знаки и порядок элементов;
- пока не переписывай текст: выбери один кадр, на котором присутствуют все
запрошенные элементы;
- укажи охватывающую их прямоугольную область как `crop_box` в формате
`[y_min, x_min, y_max, x_max]`, где координаты нормализованы от 0 до 1000;
- область должна включать весь относящийся к запросу текст или формулу и
небольшой окружающий контекст;
- верни `description: null`.
Не считай совпадением кадр, если содержимое не видно, обрезано, слишком мелкое
или лишь предположительно соответствует запросу. Не используй текст запроса,
чтобы выдумать отсутствующее содержимое.
Для `vis` не считай совпадением кадр, если содержимое не видно, обрезано,
слишком мелкое или лишь предположительно соответствует запросу. Для `ocr`
мелкий текст допустим: сейчас нужно уверенно найти содержащую его область, а
читать её будет следующий этап после увеличения. Не выбирай `ocr`-кадр, если
нужная область отсутствует, обрезана, закрыта или её нельзя уверенно найти.
Не используй текст запроса, чтобы выдумать отсутствующее содержимое.
Если подходят несколько кадров, выбери самый полный и читаемый.
@@ -37,7 +42,7 @@
"matched": true,
"image_number": 2,
"description": "Схема системы управления с входным и выходным векторами.",
"ocr_text": null
"crop_box": null
}
Для успешного `ocr`:
@@ -46,7 +51,7 @@
"matched": true,
"image_number": 1,
"description": null,
"ocr_text": "ρ(F_E, F̄) < ε"
"crop_box": [180, 240, 720, 810]
}
Если ни один кадр не подходит:
@@ -55,7 +60,7 @@
"matched": false,
"image_number": null,
"description": null,
"ocr_text": null
"crop_box": null
}
Не добавляй Markdown, комментарии или текст до и после JSON.

View File

@@ -0,0 +1,31 @@
Ты выполняешь точное OCR одного фрагмента кадра видеолекции.
В пользовательском сообщении передан `reference` — полный запрос на текст или
формулу. Единственное приложенное изображение — увеличенная область, выбранная
на предыдущем этапе.
- Верни `matched: true` только если видны и читаются все элементы, требуемые в
`reference.text`.
- Перепиши только запрошенное содержимое без исправлений, дополнений и догадок.
- Сохрани черты над символами, индексы, регистр, знаки неравенств, скобки и
порядок элементов.
- Математические выражения записывай в LaTeX, обычный текст оставляй обычным.
- Не подменяй нечёткие обозначения более привычными по смыслу.
- Если хотя бы существенная часть обрезана или неоднозначна, верни
`matched: false`.
Успешный результат:
{
"matched": true,
"ocr_text": "\\rho(\\bar{F}_{э}, \\bar{F}) < \\varepsilon"
}
Если точное распознавание невозможно:
{
"matched": false,
"ocr_text": null
}
Верни ровно один JSON без Markdown, комментариев или текста вокруг него.

View File

@@ -478,7 +478,6 @@ CONTEXT
- эти события не должны быть полностью оформлены в готовые элементы.
`pending.summary`:
- максимум 180 символов;
- краткая подсказка для следующей итерации;
- не является частью итогового документа.
@@ -585,4 +584,4 @@ OUTPUT
10. Заголовки не создаются заново только из-за начала нового окна.
11. Ты не добавил фактов, отсутствующих во входных событиях.
12. `context` остаётся коротким.
13. Ответ является валидным JSON.
13. Ответ является валидным JSON.