Added reference resolver WIP (codex)
This commit is contained in:
25
README.md
25
README.md
@@ -318,7 +318,22 @@ Telegram ботом, которому отправили видео).
|
||||
6. **Разрешить ссылки на видео**
|
||||
- После этого шага должен быть получен файл `events.json`, используя который
|
||||
будет построена структура итогового документа.
|
||||
- TODO, пока что это не реализовано
|
||||
- Для каждого объекта из `unresolved.json` программа получает кадры через
|
||||
`ffmpeg`. По умолчанию кадры берутся с интервалом в одну секунду, но не
|
||||
более 9 кадров на одну ссылку.
|
||||
- Кадры проверяются мультимодальной моделью от общего к частному: сначала
|
||||
начало, середина и конец интервала, затем середины оставшихся промежутков.
|
||||
После первого подходящего кадра поиск прекращается.
|
||||
- Для `vis` выбранный кадр сохраняется в директории `images/`. Для `ocr` в
|
||||
событии сохраняется распознанный текст.
|
||||
- Если подходящий кадр не найден, ссылка сохраняется в корневом списке
|
||||
`unresolved` файла `events.json` с причиной `not_found` или `no_frames`.
|
||||
Её `ids` ссылаются на голосовые события из итогового списка `events`.
|
||||
- Настройки модели задаются через `--resolver-ai-model`,
|
||||
`--resolver-ai-base-url` и `--resolver-ai-api-key`. Период и максимальное
|
||||
число кадров задаются через `--resolver-frame-interval` и
|
||||
`--resolver-max-frames`. По умолчанию используется
|
||||
`google/gemini-3.5-flash`.
|
||||
- Итоговый файл `events.json`, должен иметь следующую структуру. ID никак
|
||||
не связаны с предудущими шагами.
|
||||
```json
|
||||
@@ -356,6 +371,14 @@ Telegram ботом, которому отправили видео).
|
||||
"text": "Для типа `voice` ключ `payload` всегда `null`",
|
||||
"payload": null
|
||||
}
|
||||
],
|
||||
"unresolved": [
|
||||
{
|
||||
"ids": [0, 3],
|
||||
"type": "ocr",
|
||||
"text": "Распознать формулу со слайда",
|
||||
"reason": "not_found"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user