Перейти до вмісту

Перехід на Gemini й кешування промптів для Claude

Я продовжую працювати над особистим проєктом, присвяченим великим котам. У межах нього я нещодавно запустив розсилку з новинами про великих котів англійською. Підписуйтесь у Facebook, Bluesky, Twitter чи Telegram за адресою @BigCatsNews.

Останнім часом я зосередився на розробці надійної системи для автоматичного перекладу новин з англійської українською за допомогою різних моделей ШІ. Процес починається з базової моделі перекладу, після якої йде етап аналізу, що перевіряє переклад на проблеми й дає поради щодо покращення. Ці поради застосовуються простішою та економнішою моделлю. Якщо просунута модель не виявляє проблем перекладу у двох поспіль ітераціях або досягає 16 ітерацій, система повторює процес із ще просунутішою моделлю.

Для початкового перекладу та аналізу я понад місяць користувався DeepSeek R1. Хоча ця модель давала добрий баланс між вартістю та якістю, вона припускалася кількох помилок, не завжди дотримувалася інструкцій і вимагала частого підлаштування промпту.

Нещодавно я виявив, що новий Gemini 2.5 Pro від Google, як видно на LiveBench, має високі бали в мовних завданнях. Я вирішив замінити DeepSeek R1 на Gemini 2.5 Pro, і результати значно покращилися, з меншою кількістю проблем. Тепер я подумую про те, щоб зменшити кількість інструкцій у промпті. Минулого місяця я пробував Gemini 2.0 Pro, але він погано впорався з українським текстом.

Для етапу аналізу я спершу покладався на DeepSeek V3 та V3–0324. Однак ці моделі часом видаляли несподіваний текст і вносили друкарські помилки, не дотримуючись інструкцій повною мірою. Через це я перейшов на Gemini 2.0 Flash, який працює краще, є економнішим і дотримується всіх інструкцій просунутої моделі.

Інтегрувати Google AI у мій проєкт на Laravel було непросто, оскільки він несумісний з PHP-бібліотекою OpenAI. Щоб це обійти, я скористався інструментами HTTP-запитів Laravel замість спеціальної бібліотеки Google AI, що вимагало іншого форматування.

Відколи я перейшов на прості HTTP-запити, я впровадив кешування промптів, що використовуються у фінальному аналізі. Цей аналіз працює на Anthropic Claude 3.7 Sonnet у режимі мислення, який підтримує ліміт у 64k токенів. Хоча цей ліміт дорогий і лише трохи дешевший за o1-preview, він дозволив мені ефективно змінити промпт для аналізу та порад щодо перекладу.

Кешування вимагає використання ендпоінта messages, який відрізняється від ендпоінта chat completions у OpenAI. Системний промпт тепер містить кілька частин, причому кешуються лише статичні секції. Щоб забезпечити правильну обробку часів і хронології, я подаю дату новини окремо, без кешування, після початкового закешованого промпту з інструкціями.

Я планую впровадити асинхронні пакетні запити у фоні, щоб ще вдвічі зменшити витрати.

Поєднання Gemini 2.5 Pro й Claude 3.7 Sonnet тепер дає переклади, які здебільшого не потребують ручного редагування. Результати можна переглянути на сайті https://bigcats.org.ua/news, подивившись на статті за сьогодні та вчора.

Увімкніть коментарі, прийнявши куки.

Необхідні куки працюють завжди. Куки для статистики та коментарів використовуються лише з вашої згоди. Докладніше