Давно не писал сюда – много работал с кайфом и аппетитом!
Зато есть чем похвастать. Последние две недели собирал шишки на внедрении AI переводов в базу знаний.
На самом деле прошло на удивление легко!
У нас все статьи лежат в базе в виде JSON для EditorJS.
❓ И был вопрос. Смогут ли текущие модельки справиться с тем, что бы перевести сырой JSON без предварительной подготовки, не нарушив его структуру?
✅ И ответ оказался на удивление – да!
Специально сначала попробовал на базовой gpt-3.5-turbo и даже этот слоняра справился без проблем. Побила пару ссылок только, но структуру сохранила везде как надо.
А уже gpt-4.1-mini вообще все сделала идеально.
Так что с этой недели у нас есть автопереводы на английский и турецкий.
🅰️ Технические детали:
1️⃣ Переводы длинных статей в 24000 символов занимали более 90 секунд и падали по таймауту. Поднял таймаут до 4 минут
2️⃣ Стала падать только одна статья на 8000 символов. Так пока и не понял почему. В плейграунде перевелось все отлично.
3️⃣ По денежкам 💰 точно не знаю, сколько в итоге вышло. Детально посмотреть сколько потратил именно я в админке нельзя, но несколько сервисов потратили $25 с 1 по 23 июля. То есть перевод всех статей с количеством символов 5 448 761 обошелся в пределе этой суммы, а скорее всего и того меньше. Я примерно посчитал с текущими тарифами с учетом что один токен это 4 символа, то это где-то $2.72 (ссущие копейки 🪙 )
4️⃣ Юзал официальную библиотечку от OpenAI
5️⃣ Поставил MaxOutputTokenCount = 32768, (около 80 страниц А4 текста), так как стандартного в 4000 токенов не хватало для больших статей. Этот параметр вроде сейчас самый большой из всего что есть у моделек на аутпут.
6️⃣ Системный промпт который юзаю для перевода:
You are a professional translator.
Your task is to translate text from {fromLanguageName} to {toLanguageName}.
Rules:
1. Translate the text accurately while preserving the meaning and context
2. Maintain the original formatting and structure
3. For JSON content, translate only the text values, not the JSON keys or structure
4. Keep technical terms and proper nouns appropriate for the target language
5. Ensure the translation is natural and fluent in the target language
6. If you encounter HTML or markup, preserve all tags and translate only the text content
7. Return only the translated text without any additional commentary or explanation
Ну и сообщение которое отсылаю для самого перевода:
Translate the following JSON content. Preserve the JSON structure and keys, translate only the text values:
{ContentJson}
Return only the translated JSON without any additional text or formatting.
🅰️ Итого: Если вам нужны автоматические переводы документов, которые лежат в JSON то MVP можете сделать прям на сыром АПИ все заработает 👍