Как да използвам ChatGPT? Ето стъпково ръководство за автоматизиране на превода на статии от WordPress сайт на чужд език с помощта на ChatGPT. Също така се автоматизира публикуването на преведените статии в WordPress сайта. Можете да оцените резултата от това стъпково ръководство, като посетите раздела BG на този сайт. Всички статии на български език са автоматично преведени с помощта на ChatGPT и автоматично публикувани.
Как да използвам ChatGPT?
Мисля, че всеки, който е задавал въпроси на изкуствения интелект от компанията OpenAI и се възхищава на отговорите, се задава с въпроса „Как да използвам ChatGPT?“. Авторът на статията се възхищава и така възниква идеята за превод на този сайт (adminkin.pro) на чужд език (български), за да се разшири читателската аудитория на сайта.
За автоматизиране на процеса на превод на статии и тяхното публикуване на уебсайт на WordPress беше написан малък програмен код на Python. Тази програма за превод на статии на чужд език се свързва с ChatGPT и автоматично публикува преведената статия на уебсайта на WordPress. Програмният код е наличен за изтегляне. Но да започнем от началото!
Многоезичен сайт на WordPress
„Плъгин Polylang“
WordPress плъгинът Polylang ще подготви вашия WordPress сайт за многоезичност. Polylang ще ви позволи да добавите няколко езикови версии на съдържанието: страници, публикации, категории, менюта, етикети и други елементи на сайта.
Влизаме в административния панел на сайта в WordPress и инсталираме плъгина Polylang:

След инсталирането настройките на плъгина Polylang могат да бъдат намерени в страничната панел на администратора на WordPress в раздела Езици. Изберете този раздел, а в него раздел Езици. В полето Изберете език изберете чужд език, който искате да добавите на сайта и натиснете бутона Добави език:

Избираме таб Езици, а в него следващата секция Преводи. Тук превеждаме на чужд език всички низове, които се срещат на сайта:

Избираме таб Езици, а в него раздел Настройки. В подраздела Модификация на URL може да изберете вида URL за преводите на статии. При мен е настроено така:

Останалите настройки оставяме по подразбиране. Така настройките на Polylang са завършени.
Прехвърляме се към раздела Публикации, след което към Категории. Превеждаме категориите на чужд език. Ето например, имам две категории с едно и също име Linux за руската и българската версия на сайта:

Прехвърляме се към раздела Външен вид, след това към Меню. Създаваме ново меню за чуждоезиковата версия на сайта. В менюто може да се добави Езиков превключвател:

Избираме област за показване на новото меню и натискаме бутона Запазване на менюто. Менюто е готово.
По същия начин превеждаме етикетите, страниците и всички останали елементи на сайта, освен статиите. Ще доверим превода на статиите на ChatGPT.
Ето така изглеждат етикетите ми за различните езици (руски и български):

Многоезичният уебсайт на WordPress е готов. Само преводите на записите на сайта не са готови. Бъдете търпеливи, остава малко време!
Достъп до ChatGPT
Свързване чрез VPN от Русия
Достъпът до ChatGPT от Русия е забранен през 2023 година. Достъпът е възможен само чрез VPN. В статията „VPN 2023 година. Създаваме личен VPN за 292 руб. на месец“ се описва подробно как да се настрои VPN и да се отвори уебсайта на разработчиците на ChatGPT (https://chat.openai.com/auth/login).
API ключ за достъп до ChatGPT.
На уебсайта на разработчиците на ChatGPT трябва да се регистрирате, за да получите API ключ. С помощта на този API ключ Python програмата за автоматичен превод и публикуване на статии (вж. по-долу) ще получава преводи на статиите от ChatGPT автоматично.
Има затруднения при регистрацията на уебсайта на разработчиците на ChatGPT: трябва да потвърдите мобилния си номер. В този случай мобилният номер от Русия няма да работи. Нито виртуалните мобилни номера от различни страни, чиито предложения са запълнили целия Интернет, няма да работят. За съжаление, не мога да ви помогна да решите този проблем, не знам как. Аз имам мобилен номер, който не е от Русия, затова този проблем не е изследван дълбоко.
Python програма за автоматичен превод и публикуване на статии.
Инсталиране на необходимите пакети в Linux (Debian OS)
Ще инсталираме пакетите, необходими за стартиране на Python програмата за автоматичен превод и публикуване на статии. Първо ще актуализираме списъка с пакетите:
apt update
Ще инсталираме пакета pip за Python 3. Пакетът pip позволява инсталирането на сторонни библиотеки и модули за Python.
apt install python3-pip
Ще инсталираме пакети за работа с бази данни:
apt install mariadb-server libmariadb-dev
pip3 install mysqlclient==1.4.4
Ще настроим сигурността на базите данни. За целта ще изпълним следната команда:
mysql_secure_installation
Ще ви бъде предложено да изпълните редица стъпки, включително задаване на парола за администратор, премахване на анонимни потребители, забрана за отдалечен достъп и други настройки за сигурност на базата данни.
Ще инсталираме Python пакета Beautiful Soup 4. Beautiful Soup предоставя удобни инструменти за разбиране и обработка на HTML и XML документи.
pip3 install beautifulsoup4
Ще инсталираме Python пакета Transliterate. Transliterate предоставя функционалност за транслитерация от кирилица към латиница.
pip3 install transliterate
Ще инсталираме пакета OpenAI API Python, за да можем да използваме ChatGPT:
pip3 install openai
Подготовка на Python програмата за стартиране
Python програмата за автоматичен превод и публикуване на статии (translator.py) е достъпна на следния линк https://git.adminkin.pro/gogsadmin/translator. Може да бъде изтеглена или да бъде разгледана онлайн.
Преди стартирането на Python програмата translator.py се препоръчва да се направи бекъп на базата данни на уебсайта WordPress. Програмата въвежда промени в следните таблиците: wp_posts, wp_postmeta, wp_term_taxonomy, wp_terms, wp_term_relationships.
За работата на програмата е необходима допълнителна таблица wp_posts_translated, която може да бъде създадена с SQL командата:
CREATE TABLE `wp_posts_translated` (
`ID` bigint(20) UNSIGNED NOT NULL,
`post_modified` datetime NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
ALTER TABLE `wp_posts_translated`
ADD PRIMARY KEY (`ID`);
COMMIT;
В таблицата wp_posts_translated ще бъдат съхранени ID-тата на преведените статии.
Отваряме файла translator.py в който и да е текстов редактор и редактираме реда:
blocks = ["p", "h1", "h2", "h3", "h4", "h5", "img", "li"]
Това е списък на HTML таговете, чието съдържание ще бъде превеждано. Аз превеждам само параграфите (таг p), всички заглавия (тагове h1…h5), алтернативен текст за изображение (атрибут alt на тага img) и елементите на номериран или неномериран списък (таг li).
Поправям реда:
openai.api_key = "OPENAI_API_KEY"
Вместо OPENAI_API_KEY
поставяме нашият API ключ за достъп до ChatGPT.
Поправям реда:
prompt = "Интересует только перевод с русского языка на болгарский язык. Если в оригинале встречается html разметка, то вставлять ее в соответствующих местах перевода. Если перевод совпадает с оригиналом, то вывести только перевод, пояснения о совпадении оригинала и перевода не требуются. Переведи: \"" + prompt + "\""
„prompt
– това е текстов низ, който се предава на ChatGPT като входни данни за превод на текста.“
Поправям реда:
db = MySQLdb.connect(host="DB_SERVER", user="DB_USER", passwd="DB_PASSWORD", db="DB_NAME", charset = 'DB_CHARSET')
Вместо DB_SERVER
поставяме домейн името или IP адреса на сървъра на базата данни. Вместо DB_USER
и DB_PASSWORD
– потребителското име на базата данни на сайта WordPress и неговата парола. DB_NAME
заменяме с името на базата данни на сайта WordPress. DB_CHARSET
е използваната кодировка на базата данни на сайта WordPress.
Python програмата translator.py използва изкуствен интелект модел gpt-3.5-turbo, разработен от OpenAI. Максималната разрешена честота на заявките към тази модел е 3 заявки в минута. За да не се надвишава максималната разрешена честота на заявките, в програмата translator.py се извиква функция, която спира изпълнението на програмата за 25 секунди:
time.sleep(25)
Тази линия ще трябва да бъде редактирана, ако имате разрешена максимална честота на заявките, различна от тази.
Всички "bg"
в текстовия файл translator.py заменяме с кода на езика на превода. При мен езикът на превода е български, затова кодът е "bg"
. Всички "ru"
в текстовия файл translator.py заменяме с кода на езика на оригинала, ако езикът на оригинала не е руски. Кодът на езика може да се види в административната панел на WordPress, в раздел Езици, а в него – отново Езици.

Всички adminkin.pro
в текстовия файл translator.py заменяме с домейнното име на нашия WordPress сайт.
Запазваме промените във файла translator.py. Командата за ръчно стартиране на Python програмата за автоматичен превод и публикуване на статии е:
python3 translator.py
Автоматично стартиране по cron
За автоматично стартиране на програмата translator.py ще редактираме cron графика на потребителя. За тази цел въведете командата:
crontab -e
Ако е необходимо автоматично стартиране на translator.py, например, всеки ден в 1:00 часа нощем, тогава в отвореното прозорец ще добавим ред:
0 1 * * * /bin/python3 /home/user/translator.py
Където /home/user/
е пълният път до програмата translator.py.
Изводи
Има много идеи за използване на ChatGPT. В статията не само се описва идеята, но и практическата й реализация. Оценявайте и задавайте въпроси в коментарите под статията. Ще бъде интересно!
Коментари