flag

[Дневник разработки] Ошибки и успехи системы AI-перевода: разница между локальной и серверной средой и ловушка версии curl

Здравствуйте. Сегодня я хочу поделиться интересной технической проблемой, с которой я столкнулся во время разработки блога, и процессом ее решения.



1. Начало проблемы



В локальной среде разработки (Windows) текст, написанный голосом (диктовкой), переводился нормально, но на реальном рабочем сервере (Linux) перевод не работал.

Сначала это выглядело как простая ошибка журнала (sh: curl.exe: command not found), и я решил, что это проблема с путем, но причина была глубже.



2. Анализ причины




- Разница в ОС: Windows использует команду curl.exe, а Linux — команду curl. Код не смог обнаружить это автоматически.
- Совместимость версий Curl: Версия curl, установленная на сервере, была 7.61.1 (2018 г.). Параметр высокоскоростной параллельной обработки (--parallel), который я применил, был новейшей функцией, поддерживаемой только в версии 7.66.0 или выше. Из-за этого запрос на перевод не удался на сервере.
- AI Safety Filter: Также было обнаружено, что некоторые разговорные или сленговые предложения отклоняются AI Safety Filter и не переводятся.


3. Процесс решения




- Автоматическое определение ОС: Я использовал константу PHP_OS, чтобы определить, является ли среда выполнения Windows или Linux, и изменил код, чтобы выбрать соответствующую команду.
- Внедрение метода последовательной обработки: Чтобы обеспечить совместимость с сервером, я отказался от новейшей функции «параллельной обработки» и полностью переработал логику в стабильный метод «последовательной пакетной обработки (Sequential Batch Processing)». Скорость может быть немного ниже, но это гарантирует 100% работу в любой среде.
- Отключение фильтра безопасности: Чтобы обеспечить свободу выражения в сообщениях блога, я установил для фильтра безопасности значение BLOCK_NONE при переводе, чтобы обеспечить перевод без цензуры.


4. Заключение



Я еще раз понял, что, хотя новейшие технологии — это хорошо, понимание операционной среды (Legacy) должно быть приоритетным. Теперь многоязычный перевод стабильно предоставляется в любой среде.

Комментарии

Комментариев пока нет. Будьте первым, кто поделится своими мыслями!

© 2026 My Blog. All rights reserved.