https://youtu.be/vmt_WVBJMj4?si=OZlzEqfEvWjPakYV
Я разработал систему, которая использует генеративный ИИ для автоматического создания видеопрезентаций из статей блога и их загрузки на YouTube.
Приложив некоторую изобретательность, генеративный ИИ может не только разрабатывать сюжетную линию презентации, но и создавать материалы для презентации.
Более того, если генеративный ИИ создаст сценарий для презентации, а затем генеративный ИИ для преобразования текста в речь прочитает этот сценарий вслух, также можно сгенерировать аудиоданные.
Объединение материалов презентации и аудиоданных затем создает видео.
Автоматизировав эту серию задач, я сделал возможным автоматическую генерацию видеопрезентаций одним кликом.
Механизм
Наиболее важной частью процесса является генерация материалов для презентации.
Генеративный ИИ отлично справляется с созданием изображений, но это обычно ограничивается фотографиями или рисунками. Создание документов, ориентированных на текст и фигуры, таких как материалы для презентаций, является сложной задачей для ИИ, генерирующих изображения.
Поэтому я генерирую материалы, ориентированные на текст и фигуры, в текстовом формате, похожем на язык программирования.
Для создания таких материалов можно использовать несколько форматов.
Изначально я попробовал Marp, формат специально для создания презентаций, но его возможности были ограничены. Поэтому я решил использовать более общий формат SVG, который предназначен для векторной графики.
В текстовом формате, таком как SVG, стандартный чат-ориентированный генеративный ИИ может создавать материалы, если ему будет предложено следующее: «Пожалуйста, создайте материалы для презентации в формате SVG, представляющие содержание этой статьи блога».
Проблема переполнения текста
Проблема здесь заключается в том, что текст часто выходит за пределы внешней рамки документа или рамок фигур внутри документа.
Человек сразу заметит переполнение текста при просмотре готового документа. Однако обнаружить переполнение текста на стадии текстового SVG, а не путем визуального осмотра готового документа, сложно.
Следовательно, чат-ориентированный генеративный ИИ часто создает документы с частым переполнением текста.
Конечно, ИИ генерирует большую часть содержимого хорошо, и я мог бы просто вручную исправить переполнение текста. Однако это каждый раз приводило бы к необходимости ручной операции.
Поэтому стало необходимым включить меры по предотвращению переполнения текста при генерации документов SVG и разработать механизм для автоматического обнаружения наличия переполнения текста в сгенерированном SVG.
Для предотвращения переполнения текста я использовал подход, заключающийся в предоставлении генеративному ИИ основных правил, процедур работы и предупреждений при указании ему создавать материалы для презентаций.
В качестве правил я инструктировал его не использовать сложные фигуры и фиксировать размер шрифта текста.
Кроме того, я инструктировал его следовать процедуре подсчета количества символов в предложении внутри документа, умножения этого на размер шрифта для оценки ширины и высоты, а затем предварительной проверки того, что текст не выходит за пределы рамки или фигур.
Во время этого процесса я поручил ИИ записывать проверенный процесс и результаты в качестве комментариев предварительной проверки в файл SVG.
Добавление этих инструкций привело к некоторому улучшению, но первоначальная точность не была удовлетворительной. Поэтому я многократно генерировал несколько вариантов, добавлял общие точки ошибок в качестве предупреждений к инструкциям и неоднократно подчеркивал правила и инструкции в тексте запроса, если они не соблюдались.
Путем итеративного улучшения этих запросов методом проб и ошибок переполнение текста можно подавить до определенной степени.
Однако даже при всех этих усилиях совершенство недостижимо, поэтому я решил реализовать проверку на более позднем этапе.
Для этой постобработочной проверки я попытался использовать генеративный ИИ, способный визуально проверять изображения, но он не смог эффективно обнаружить переполнение текста, поэтому я отказался от этого подхода.
Затем я попробовал другой метод: повторный ввод текста SVG в чат-ориентированный генеративный ИИ для проверки.
Этот метод был лучше в обнаружении переполнения текста, чем ИИ для визуального осмотра, но его точность обнаружения все еще была не очень высокой. И здесь, снова путем итеративного улучшения инструкций по обнаружению переполнения, я смог достичь определенного уровня точности, но не идеального.
Поэтому я решил создать программу для более тщательного обнаружения переполнения текста. Эта программа проверяет, выходит ли текст за рамки документа или внутренние фигуры, рассчитывая ширину и высоту из длины предложений и размера шрифта в материалах презентации, как было указано генеративному ИИ.
Создание этой программы было трудоемким, но в конечном итоге она стала способна к точному обнаружению.
В дополнение к переполнению текста были также случаи, когда ИИ пытался создать сложные диаграммы и выдавал искаженные результаты. Для таких аспектов я сохранил подход, заключающийся в том, чтобы чат-ориентированный генеративный ИИ выполнял проверку на нарушение правил.
Эта проверка определяет, создал ли ИИ фигуры, более сложные, чем определено в правилах, помечая их как неприемлемые.
С помощью этой программы для проверки переполнения и генеративного ИИ для проверки нарушений правил проблемы теперь могут быть в значительной степени обнаружены.
Последующая обработка
Если в ходе этих проверок обнаруживается отказ, сгенерированный материал в формате SVG отбрасывается и генерируется заново. Это связано с тем, что указание на проблемные области и их исправление часто приводит к другим проблемам, что в конечном итоге занимает больше времени.
Как только материал для презентации без переполнения текста готов, следующим шагом является ввод этого материала и исходной статьи блога в генеративный ИИ для создания сценария повествования. Здесь не потребовалось никаких особых ухищрений.
Затем сценарий повествования преобразуется в аудиоданные с помощью генеративного ИИ для преобразования текста в речь. Опять же, для этого не потребовалось никаких специальных методов.
Наконец, материал презентации в формате SVG преобразуется в изображения PNG, а затем с помощью инструмента под названием ffmpeg преобразуется в видео mp4 со звуком. Это завершает процесс.
Последовательность процессов, следующих за созданием слайдов в формате SVG, может быть легко автоматизирована путем написания программ при консультации с генеративным ИИ.
Заключение
Успешно создав и усовершенствовав эту систему автоматической генерации видеопрезентаций, я на прошлой неделе начал публиковать видео на YouTube.
Однако вскоре после завершения этой системы Google NotebookLM, инструмент ИИ, также получил аналогичную функцию для автоматической генерации видео, объясняющих текстовые документы.
Поэтому ожидается, что в будущем компании, предлагающие услуги ИИ, выпустят аналогичные сервисы, что устранит необходимость для отдельных лиц создавать такие системы с нуля.
Тем не менее, разработка практической программы, использующей генеративный ИИ таким серьезным образом, стала значительным достижением, позволив мне понять ключевые принципы эффективного использования генеративного ИИ.