Generator treści AI
- prompty:
resources/views/vendor/idir/prompts/dir/create
# Opis
Od wersji v11 iDir umożliwia generowanie treści formularza dodawania wpisu przez OpenAI ChatGPT. Obok pola do wpisania adresu url znajduje się przycisk "Generuj treść", po jego kliknięciu AI wygeneruje opis zawartości strony lub oferty firmy o zadeklarowanej przez administratora długości, dobierze tagi oraz kategorie w liczbie zadeklarowanej przez administratora.
Treść generowana jest przez AI na podstawie tytułu wpisu, adresu strony oraz pobranej, skróconej zawartości strony. W przypadku braku możliwości pobrania zawartości strony stosowny komunikat prezentowany jest użytkownikowi.
# Konfiguracja
Do działania wymagany jest aktywny klucz API OpenAI, który należy wstawić w pliku .env w głównym folderze aplikacji:
OPENAI_API_KEY=
Klucz należy wygenerować w swoim profilu na stronie OpenAI.
Domyślnie używany model można ustawić za pomocą:
ICORE_AI_OPENAI_MODEL=gpt-4.1-mini
Listę dostępnych modeli oraz ich identyfikatory można znaleźć w dokumentacji OpenAI.
Skonfigurowaną usługę można włączyć w oknie edycji poszczególnych grup wpisów za pomocą przywileju "generowanie treści przez AI"
# Prompty
W celu edycji treści promptów instruujących AI należy je opublikować z poziomu głównego folderu z aplikacją za pomocą polecenia:
php artisan vendor:publish --tag=idir.views.web
Pliki promptów znajdują się w lokalizacji:
resources/views/vendor/idir/prompts/dir/create
- system.blade.php - instruuje AI na czym będzie polegać jego zadanie
- user.blade.php - prośba użytkownika o wykonanie zadania
# Rate limiter
W celu ograniczenia nadużyć ze strony użytkowników domyślnie stosowany jest rate limiter, który pozwala na wysłanie określonej ilości requestów na godzinę. Wartość można ustawić w pliku .env w głównym folderze z aplikacją za pomocą:
IDIR_DIR_GENERATE_CONTENT_MAX_ATTEMPTS=5
W przypadku przekroczenia tej wartości stosowny komunikat wraz z pozostałym czasem do odblokowania funkcji prezentowany jest użytkownikowi na stronie.
Ustawienie wartości na 0 wyłącza rate limiter.