https://youtu.be/vmt_WVBJMj4?si=OZlzEqfEvWjPakYV
Opracowałem system, który wykorzystuje generatywną AI do automatycznego tworzenia filmów prezentacyjnych z artykułów blogowych i przesyłania ich na YouTube.
Dzięki pewnej pomysłowości, generatywna AI może nie tylko opracować scenariusz prezentacji, ale także stworzyć materiały prezentacyjne.
Co więcej, zlecając generatywnej AI stworzenie skryptu do prezentacji, a następnie wykorzystując generatywną AI zamieniającą tekst na mowę do odczytania tego skryptu na głos, można również wygenerować dane audio.
Połączenie materiałów prezentacyjnych i danych audio tworzy film.
Dzięki automatyzacji tej serii zadań, umożliwiłem automatyczne generowanie filmów prezentacyjnych jednym kliknięciem.
Mechanizm
Najważniejszą częścią procesu jest generowanie materiałów prezentacyjnych.
Generatywna AI doskonale radzi sobie z generowaniem obrazów, ale zazwyczaj ogranicza się to do fotografii lub rysunków. Tworzenie dokumentów skoncentrowanych na tekście i figurach, takich jak materiały prezentacyjne, jest wyzwaniem dla AI generujących obrazy.
Dlatego generuję materiały tekstowo-graficzne w formacie tekstowym, podobnym do języka programowania.
Do tworzenia takich materiałów można używać kilku formatów.
Początkowo wypróbowałem Marp, format specjalnie do tworzenia prezentacji, ale jego możliwości były ograniczone. Zdecydowałem się więc na użycie bardziej ogólnego formatu SVG, przeznaczonego do grafiki wektorowej.
W formacie tekstowym, takim jak SVG, standardowa generatywna AI oparta na czacie może stworzyć materiały, jeśli otrzyma prośbę typu: „Proszę utworzyć materiały prezentacyjne w formacie SVG, przedstawiające treść tego artykułu blogowego”.
Problem z przepełnieniem tekstu
Problem polega na tym, że tekst często wykracza poza zewnętrzną ramkę dokumentu lub ramki figur w dokumencie.
Człowiek natychmiast zauważyłby przepełnienie tekstu podczas przeglądania ukończonego dokumentu. Jednak wykrycie przepełnienia tekstu na etapie tekstu SVG, a nie poprzez wizualną inspekcję gotowego dokumentu, jest trudne.
W konsekwencji, generatywna AI oparta na czacie często tworzy dokumenty z częstym przepełnieniem tekstu.
Oczywiście, AI generuje większość treści dobrze, a ja mógłbym po prostu ręcznie poprawić przepełnienie tekstu. Jednak wprowadziłoby to ręczny krok za każdym razem.
Dlatego konieczne stało się wdrożenie środków zapobiegających przepełnieniu tekstu podczas generowania dokumentów SVG oraz opracowanie mechanizmu do automatycznego wykrywania, czy w wygenerowanym SVG występuje przepełnienie tekstu.
Aby zapobiec przepełnieniu tekstu, zastosowałem podejście polegające na dostarczaniu generatywnej AI podstawowych zasad, procedur operacyjnych i ostrzeżeń podczas instruowania jej do tworzenia materiałów prezentacyjnych.
Jako zasady, poleciłem jej nie używać złożonych figur i ustalić stały rozmiar czcionki tekstu.
Ponadto, poleciłem jej przestrzeganie procedury liczenia liczby znaków w zdaniu w dokumencie, pomnożenia tego przez rozmiar czcionki w celu oszacowania szerokości i wysokości, a następnie wstępne potwierdzenie, że tekst nie wykracza poza ramkę ani figury.
W trakcie tego procesu, poleciłem AI, aby zapisywała sprawdzony proces i wyniki jako komentarze przed sprawdzeniem w pliku SVG.
Dodanie tych instrukcji przyniosło pewną poprawę, ale początkowa dokładność nie była zadowalająca. Dlatego wielokrotnie generowałem kilka wariantów, dodawałem typowe błędy jako uwagi ostrzegawcze do instrukcji i wielokrotnie podkreślałem zasady i instrukcje w tekście zapytania, jeśli nie były przestrzegane.
Dzięki iteracyjnemu ulepszaniu tych wskazówek poprzez próby i błędy, przepełnienie tekstu można w pewnym stopniu ograniczyć.
Jednakże, nawet przy wszystkich tych wysiłkach, perfekcja jest nieosiągalna, dlatego zdecydowałem się na wprowadzenie kontroli na późniejszym etapie.
Do tej kontroli po generowaniu próbowałem użyć generatywnej AI zdolnej do wizualnego sprawdzania obrazów, ale nie była ona w stanie skutecznie wykryć przepełnienia tekstu, więc zrezygnowałem z tego podejścia.
Następnie, wypróbowałem inną metodę: ponowne wprowadzenie tekstu SVG do generatywnej AI opartej na czacie w celu sprawdzenia.
Ta metoda była lepsza w wykrywaniu przepełnienia tekstu niż AI do wizualnej inspekcji, ale jej dokładność wykrywania nadal nie była zbyt wysoka. Tutaj również, poprzez iteracyjne ulepszanie instrukcji do wykrywania przepełnienia, mogłem osiągnąć pewien poziom dokładności, ale nie doskonały.
Dlatego zdecydowałem się stworzyć program do bardziej rygorystycznego wykrywania przepełnienia tekstu. Program ten sprawdza, czy tekst wykracza poza ramkę dokumentu lub wewnętrzne figury, obliczając szerokość i wysokość na podstawie długości zdań i rozmiaru czcionki w materiałach prezentacyjnych, zgodnie z instrukcjami dla generatywnej AI.
Stworzenie tego programu było pracochłonne, ale ostatecznie stał się on zdolny do dokładnego wykrywania.
Oprócz przepełnienia tekstu, zdarzały się również przypadki, gdy AI próbowała tworzyć złożone wykresy i generowała zniekształcone wyniki. W takich przypadkach zachowałem podejście polegające na tym, że generatywna AI oparta na czacie wykonywała sprawdzanie naruszeń zasad.
Ta kontrola określa, czy AI stworzyła figury bardziej złożone niż te zdefiniowane w zasadach, oznaczając je jako niedopuszczalne.
Dzięki temu programowi do sprawdzania przepełnienia i generatywnej AI do sprawdzania naruszeń zasad, problemy mogą być teraz w dużej mierze wykrywane.
Dalsze przetwarzanie
W przypadku wykrycia odrzucenia podczas tych kontroli, wygenerowany materiał w formacie SVG jest odrzucany i generowany ponownie. Dzieje się tak, ponieważ wskazywanie i korygowanie problematycznych obszarów często prowadzi do innych problemów, ostatecznie zajmując więcej czasu.
Po ukończeniu materiału prezentacyjnego wolnego od przepełnienia tekstu, następnym krokiem jest wprowadzenie tego materiału i oryginalnego artykułu blogowego do generatywnej AI w celu stworzenia skryptu narracji. Tutaj nie była wymagana żadna szczególna pomysłowość.
Następnie skrypt narracji jest konwertowany na dane audio za pomocą generatywnej AI zamieniającej tekst na mowę. Ponownie, nie były do tego potrzebne żadne specjalne techniki.
Na koniec, materiał prezentacyjny w formacie SVG jest konwertowany na obrazy PNG, a następnie, za pomocą narzędzia o nazwie ffmpeg, jest konwertowany na wideo mp4 z dźwiękiem. To kończy proces.
Seria procesów następujących po stworzeniu slajdów w formacie SVG może być łatwo zautomatyzowana poprzez pisanie programów podczas konsultacji z generatywną AI.
Podsumowanie
Po samodzielnym zbudowaniu i udoskonaleniu tego zautomatyzowanego systemu generowania filmów prezentacyjnych, zacząłem publikować filmy na YouTube w zeszłym tygodniu.
Jednakże, krótko po ukończeniu tego systemu, narzędzie AI Google NotebookLM również zyskało podobną funkcję automatycznego generowania filmów do wyjaśniania dokumentów tekstowych.
Dlatego przewiduje się, że w przyszłości firmy oferujące usługi AI wprowadzą podobne rozwiązania, eliminując potrzebę budowania takich systemów od podstaw przez osoby fizyczne.
Niemniej jednak, opracowanie praktycznego programu wykorzystującego generatywną AI w tak poważny sposób było znaczącym osiągnięciem, pozwalającym mi zrozumieć kluczowe zasady skutecznego wykorzystywania generatywnej AI.