-

Automatyczne generowanie treści: Field Widget Actions i tokeny AI w Drupalu

Prowadzisz portal informacyjny lub planujesz go stworzyć? Zastanawiasz się, jak usprawnić proces tworzenia treści, zwiększyć produktywność redaktorów i zapewnić użytkownikom jeszcze więcej wartościowych publikacji? Wyszukiwanie informacji, pisanie treści, korekta, optymalizacja SEO, przygotowywanie tagów - to wszystko pochłania znaczną część czasu redakcji. A co, gdyby dużą część tych zadań mogła wykonać sztuczna inteligencja bezpośrednio w systemie Drupal? 

W artykule przedstawiam praktyczne rozwiązanie umożliwiające automatyczne wyszukiwanie informacji na podstawie tytułu, generowanie tagów, tworzenie treści i pobieranie szczegółowych danych. Wszystko to bezpośrednio w CMS-ie, bez konieczności przełączania się między różnymi narzędziami. Zapraszam do przeczytania wpisu lub obejrzenia odcinka z cyklu Nowoczesny Drupal.


W tym artykule:


Jak działa automatyczne generowanie treści w portalu sportowym?

Zanim przejdziemy do szczegółów technicznych konfiguracji, warto najpierw zobaczyć efekt końcowy, aby zobrazować możliwości automatyzacji treści w Drupalu. W demo wykorzystano specjalnie przygotowany rodzaj zawartości “Mecze”. W formularzu dodawania meczu znajdują się pole na tagi oraz trzy charakterystyczne przyciski: “Generuj tagi”, “Pobierz składy” i “Pobierz strzelców bramek”.

Weźmy jako przykład mecz z 31 lipca 2024 roku. Po zapisaniu podstawowych informacji o meczu i wejściu w edycję treści można kliknąć przycisk “Generuj tagi”. System automatycznie analizuje tytuł i kontekst meczu, a następnie tworzy odpowiednie tagi. W tym przypadku: “Jagiellonia”, “piłka nożna” oraz “europejskie puchary”, ponieważ był to mecz rozgrywek europejskich.

Pierwszy screen: automatyczne generowanie treści w Drupalu


Następnie przycisk “Pobierz składy” uruchamia automatyczne wyszukiwanie w internecie i generowanie listy zawodników obu drużyn. Lista pojawia się w edytorze treści, początkowo w niezbyt czytelnej formie. Tutaj z pomocą przychodzi dodatek do CKEditora. Wystarczy zaznaczyć wygenerowany tekst, wybrać opcję “Format HTML” i kliknąć “Reformat”, aby lista została automatycznie sformatowana w czytelny sposób.

Drugi screen: automatyczne generowanie treści w Drupalu


To samo można zrobić z przyciskiem “Pobierz strzelców bramek”. System generuje listę strzelców wraz z minutami, w których padły bramki, a następnie można ją szybko sformatować za pomocą funkcji edytora. Efekt końcowy? Kompletny opis meczu zawierający automatycznie wygenerowane tagi, składy gospodarzy i gości oraz listę strzelców bramek. Cały proces, który ręcznie zająłby redaktorowi od 20 do 30 minut wyszukiwania i przepisywania danych, teraz trwa dosłownie kilkanaście sekund. Można nawet dodać kolejny przycisk do generowania pełnego opisu tekstowego meczu na podstawie zebranych już informacji.

Jakie moduły AI są potrzebne do automatyzacji treści w Drupalu?

Aby wdrożyć przedstawione rozwiązanie w swoim systemie Drupal, potrzebujemy kilku kluczowych modułów ze świata sztucznej inteligencji. Podstawą całej konfiguracji jest moduł AI w wersji 1.2 alpha. To kompleksowe narzędzie stanowiące fundament dla wszystkich operacji związanych ze sztuczną inteligencją w Drupalu. Warto zaznaczyć, że mimo wersji alfa moduł działa stabilnie i można go wykorzystywać w projektach produkcyjnych, choć jak zawsze w przypadku oprogramowania w fazie rozwoju, mogą pojawiać się drobne ostrzeżenia systemowe.

W ramach modułu AI znajduje się kluczowy dla naszego rozwiązania podmoduł Field Widget Actions. To właśnie wokół tego modułu będziemy budować całą funkcjonalność automatycznego generowania treści. Field Widget Actions umożliwia dodawanie interaktywnych przycisków akcji bezpośrednio do pól formularzy w Drupalu, co pozwala redaktorom na wygodne korzystanie z możliwości AI bez opuszczania interfejsu edycji treści.

Drugim fundamentalnym elementem układanki jest moduł AI Automators, również będący częścią pakietu AI. Ten moduł odpowiada za faktyczne wykonywanie operacji związanych z automatyzacją – od analizy danych wejściowych, przez komunikację z modelami sztucznej inteligencji, aż po przetwarzanie i formatowanie wyników. AI Automators to silnik napędowy, który sprawia, że przyciski dodane przez Field Widget Actions faktycznie wykonują swoją pracę, łącząc się z zewnętrznymi usługami AI takimi jak OpenAI GPT czy Claude.

Jak skonfigurować moduł AI Automators dla pól treści?

Po zainstalowaniu niezbędnych modułów można przejść do konfiguracji konkretnych pól w rodzaju zawartości. W przykładowym demo wykorzystano specjalnie przygotowany rodzaj zawartości “Mecze”. 

Trzeci screen: automatyczne generowanie treści w Drupalu


Aby włączyć możliwości automatyzacji AI dla danego pola, należy wejść w jego edycję poprzez menu StrukturaRodzaje zawartości → [nazwa typu, np. Mecze] → Zarządzaj polamiEdytuj [przy nazwie pola].

Czwarty screen: automatyczne generowanie treści w Drupalu


W ustawieniach pola znajduje się kluczowa opcja “Enable AI Automator”. To właśnie ona aktywuje integrację z modułami sztucznej inteligencji.

Piąty screen: automatyczne generowanie treści w Drupalu


Po zaznaczeniu tej opcji pojawia się lista dostępnych konfiguracji. W podstawowym przykładzie można wybrać domyślną konfigurację, pozostawiając pole prompta celowo puste na tym etapie. Najważniejszym krokiem, którego nie można pominąć, jest zaznaczenie “Field Widget”. Ta opcja sprawia, że funkcjonalność AI staje się dostępna bezpośrednio w widżecie pola na formularzu edycji treści. Bez tego automatyzacja będzie działać w tle, ale nie będzie dostępna dla redaktorów w formie interaktywnych przycisków. Po skonfigurowaniu wszystkich możliwości, należy zapisać ustawienia pola.

Szósty screen: automatyczne generowanie treści w Drupalu


Identyczną konfigurację wykonuje się dla wszystkich pól, w których planowane jest wykorzystanie możliwości AI. W przypadku tego demo skonfigurowano trzy pola: składy drużyn, strzelcy bramek oraz tagi.

Warto zwrócić uwagę, że pola taksonomii (takie jak tagi) różnią się nieco od standardowych pól tekstowych. Mają inną nazwę Automator Type, ale zasada działania pozostaje taka sama. Dla pola tagów zastosowano konkretny prompt: “utworzyć maksymalnie trzy tagi, które będą pasować pod tytuł”. Dlatego właśnie w wygenerowanym wyniku otrzymujemy dokładnie trzy tagi, nie więcej i nie mniej. System ściśle trzyma się instrukcji zawartych w prompcie.

Jak dodać przyciski generowania do formularzy z Field Widget Actions?

Po włączeniu opcji Field Widget dla poszczególnych pól, można przejść do konfiguracji interaktywnych przycisków, które będą dostępne dla redaktorów. Przyciski te dodaje się poprzez mechanizm Field Widget Actions. Po wejściu w zarządzanie formularzem danego typu treści (Struktura → Rodzaje zawartości → [nazwa typu, np. Mecze] → Zarządzaj wyświetlaniem formularza) pojawia się nowa opcja “Field Widget Action” przy polach, dla których została włączona automatyzacja AI.

Klikając w konfigurację Field Widget Action przy wybranym polu, możemy dodać nową akcję, która będzie dostępna w postaci przycisku. Po dodaniu akcji staje się ona widoczna bezpośrednio przy polu na formularzu edycji treści. To właśnie ten przycisk umożliwia redaktorom wygenerowanie treści jednym kliknięciem, bez konieczności rozumienia technicznej strony działania sztucznej inteligencji czy ręcznego wywoływania API bezpośrednio z formularza edycji treści.

Siódmy screen: automatyczne generowanie treści w Drupalu


W konfiguracji akcji wybiera się dostępne modele AI skonfigurowane w systemie. W przykładowym demo wykorzystano OpenAI GPT-4o z włączoną funkcją Search Preview, która pozwala modelowi na przeszukiwanie aktualnych informacji w internecie. To kluczowa funkcjonalność dla tego przypadku użycia, ponieważ informacje o składach meczowych czy strzelcach bramek muszą być pobierane na bieżąco z sieci. Nie są to dane, które model AI zna ze swojego treningu. Dzięki Search Preview model może wyszukać aktualne informacje i przetworzyć je zgodnie z instrukcjami zawartymi w prompcie.

Jak tworzyć prompty AI dla różnych typów danych?

Kluczem do skutecznego wykorzystania automatyzacji AI w Drupalu jest odpowiednie sformułowanie promptów dla każdego typu danych, które mają być generowane. Prompt to instrukcja przekazywana modelowi sztucznej inteligencji, która precyzyjnie określa, co ma zostać wykonane, w jakim formacie i z jakimi ograniczeniami. Im bardziej szczegółowy i precyzyjny prompt, tym lepsze i bardziej przewidywalne rezultaty otrzymamy od systemu AI.

Dla pola “Składy drużyn” można zastosować prompt bazujący na polu tytułu, który zawiera nazwę meczu. Przykładowa instrukcja: “na podstawie pola tytuł pobierz składy drużyn”. Dalej w prompcie określa się dokładny format, w jakim dane powinny być zwrócone. Definiuje się strukturę listy zawierającej nazwę drużyny, a pod nią listę zawodników z numerami koszulek. Taka precyzja w definiowaniu formatu wyjściowego jest niezwykle ważna. Dzięki temu otrzymujemy dane zawsze o tej samej, przewidywalnej strukturze, którą można następnie łatwo sformatować w CKEditorze.

Ósmy screen: automatyczne generowanie treści w Drupalu


Analogicznie można postąpić z polem “Strzelcy bramek”. Prompt również bazuje na tytule meczu i instruuje model, aby wyszukał informacje o strzelcach oraz minutach, w których padły bramki. Format wyjściowy również zostaje szczegółowo określony – lista zawierająca informację o każdej bramce wraz z golem oraz minutą meczu. Dzięki takiemu podejściu redaktor otrzymuje dane gotowe do publikacji, wymagające jedynie drobnego formatowania wizualnego.

Jak wykorzystać tokeny w promptach do generowania treści?

Jedną z najbardziej zaawansowanych funkcjonalności modułu AI Automators jest możliwość wykorzystywania tokenów w promptach. Tokeny to dynamiczne placeholdery, które w momencie wykonywania akcji AI są zastępowane rzeczywistymi wartościami z innych pól danej treści. Dzięki temu można tworzyć prompty bazujące nie tylko na jednym polu, ale na kombinacji wielu danych, co znacząco rozszerza możliwości automatyzacji.

W przykładowym demo wykorzystano token node.title, który odnosi się do pola tytułu tworzonej treści. Kiedy redaktor klika przycisk generowania składów czy strzelców, system automatycznie podstawia aktualną wartość tytułu do prompta i przekazuje ją modelowi AI. Możliwości tokenów są jednak znacznie szersze. Można używać praktycznie dowolnych pól z danego typu treści.

Rozważmy bardziej zaawansowany scenariusz: generowanie pełnego opisu meczu bazującego na już wygenerowanych danych. Można stworzyć prompt wykorzystujący tokeny do kilku pól jednocześnie: “Stwórz opis meczu bazując na polu node field_skladly_long i field_strzelcy. Utwórz opis, który opisywał będzie, w jakich składach wyszły drużyny oraz kto strzelił i w której minucie bramkę”. Taki prompt instruowałby model AI, aby przeanalizował zawartość pola ze składami oraz pola ze strzelcami bramek, a następnie na ich podstawie wygenerował spójny, czytelny tekst opisujący przebieg spotkania.

Co szczególnie interesujące, tokeny działają nawet przed zapisaniem treści. Teoretycznie można zakładać problem z wykorzystaniem tokenów w formularzu tworzenia nowego wpisu, ponieważ node jeszcze nie istnieje w bazie danych. Jednak moduł radzi sobie z tym świetnie. Potrafi pobrać wartość z pola tytułu już na etapie wypełniania formularza, co pozwala generować dane jeszcze przed pierwszym zapisem treści.

Praktyczny przykład: automatyzacja tworzenia relacji meczowych

Aby w pełni zobrazować działanie opisywanego rozwiązania, warto przeprowadzić praktyczny test, tworząc relację z meczu z 31 lipca 2024 roku. Proces rozpoczyna się od wejścia w formularz tworzenia nowej treści typu “Mecze” i wypełnienia pola tytułu nazwą spotkania. Nie ma potrzeby zapisywania treści – automatyzacja działa już na tym etapie, bez konieczności wcześniejszego zapisywania wpisu do bazy danych.

Kliknięcie przycisku “Generuj tagi” uruchamia analizę tytułu przez system. Po kilku sekundach pole tagów wypełnia się automatycznie wygenerowanymi wartościami taksonomicznymi. Warto zauważyć, że mimo iż prompt bazuje na tokenach i wykorzystuje wartość node.title, a node technicznie jeszcze nie istnieje, system radzi sobie z tym bez problemu, pobierając wartość bezpośrednio z wypełnionego pola formularza.

Następnie można przejść do generowania składów drużyn. Przycisk “Pobierz składy” uruchamia komunikację modelu AI z internetem poprzez funkcję Search Preview. Model wyszukuje aktualny skład obu drużyn i zwraca dane w zdefiniowanym wcześniej formacie.

Analogiczny proces stosuje się dla pola “Strzelcy bramek”. Kliknięcie odpowiedniego przycisku uruchamia generowanie listy strzelców wraz z minutami bramek, a następnie można sformatować tekst za pomocą funkcji edytora.

Po zapisaniu treści otrzymujemy kompletną relację meczową: automatycznie wygenerowane tagi kategoryzujące treść, pełne składy obu drużyn oraz listę wszystkich bramek z informacją o strzelcach i minutach. Cały proces od pustego formularza do gotowej do publikacji treści zajmuje dosłownie kilkanaście sekund faktycznej pracy edytora, co zwiększa produktywność redakcji. Pozostałe operacje wykonuje automatycznie sztuczna inteligencja.

Dziewiąty screen: automatyczne generowanie treści w Drupalu


Jakie są zastosowania dla różnych typów portali informacyjnych?

Chociaż demo opiera się na przykładzie portalu sportowego z relacjami meczowymi, możliwości zastosowania tego rozwiązania są znacznie szersze. Przedstawiony mechanizm automatyzacji można adaptować do praktycznie każdego typu portalu informacyjnego czy serwisu newsowego.

Portal giełdowy może automatycznie generować analizy spółek z notowaniami i wskaźnikami finansowymi. Serwis pogodowy może tworzyć prognozy tekstowe z praktycznymi wskazówkami dla mieszkańców. Portal z wiadomościami może generować timeline wydarzeń, listę kluczowych osób i propozycje tagów. Serwis e-commerce może automatycznie generować treści takie jak opisy produktów, porównania i FAQ. Portal edukacyjny może tworzyć noty biograficzne naukowców czy glossariusze terminów. Kluczem jest odpowiednie dostosowanie promptów do specyfiki branży.

Wszystkie te scenariusze łączy jedna rzecz: wyraźne skrócenie czasu potrzebnego na fazę research’u i zbierania informacji, co pozwala redakcji skupić się na tym, co najważniejsze - na tworzeniu wartościowej analizy, interpretacji i unikalnych treści, które wyróżniają dany portal na tle konkurencji.

Automatyczne generowanie treści w Drupalu z AI - podsumowanie

Moduły AI Automators i Field Widget Actions otwierają nową erę automatyzacji treści w systemie Drupal. To, co kiedyś wymagało godzin ręcznej pracy redaktora - wyszukiwanie informacji, przepisywanie danych, tworzenie tagów - teraz można zautomatyzować za pomocą kilku kliknięć. Redaktor skupia się na tym, co najważniejsze: na tworzeniu wartościowej analizy, interpretacji i unikalnych treści, podczas gdy sztuczna inteligencja zajmuje się żmudnymi zadaniami research’owymi i agregacją danych.

Przedstawione rozwiązanie to dopiero początek możliwości. Można je adaptować praktycznie do każdego typu portalu informacyjnego - od sportu, przez finanse, pogodę, aż po e-commerce czy portale edukacyjne. Kluczem do sukcesu jest odpowiednie zdefiniowanie promptów, wykorzystanie tokenów do łączenia danych z różnych pól oraz skonfigurowanie intuicyjnych przycisków akcji, które będą dostępne bezpośrednio w formularzach edycji treści.

Jeśli chcesz wdrożyć podobne rozwiązanie w swoim portalu, sprawdź nasze usługi AI developmentu. Pomożemy Ci dostosować automatyzację AI do specyfiki Twojego projektu. A może masz pytania o konkretne aspekty konfiguracji modułów AI Automators czy Field Widget Actions? Zapraszamy do kontaktu.

***

Ten artykuł powstał na bazie materiału wideo. Zapraszamy do subskrybowania kanału Nowoczesny Drupal. Nasi eksperci prezentują rozwiązania lub gotowe narzędzia, które pomogą Ci wykorzystać pełen potencjał Drupala.

-