Как желание изучить английский переросло в персонального AI-ассистента

👁 77 IVOL-Service

Появилось желание практиковать английский. Первая мысль — собрать бота, с которым можно просто переписываться. Пишу на русском, он переводит, показывает как звучит, отвечает. Режим диалога с агентом.

Идея появилась — значит нужно сделать. Собрал агента за вечер.


Стек

Платформа: n8n в самой простой конфигурации + Telegram-бот.

Модель: Начал с GPT 5.2 — она как раз только вышла. Пробовал, смотрел, какая модель лучше справляется. На начальном этапе это не имеет практически никакой разницы — агент выполняет очень простые функции, и с этим справится любая модель. В итоге остановился на Sonnet 4.5.

Промпт: Вначале модель писала одним блоком всё. Потом попросил разделять — отдельно текст для Telegram, отдельно для озвучивания.


Озвучивание

Первое, что понадобилось — произношение. Подключил TTS, чтобы бот озвучивал свои ответы.

Модель: OpenAI TTS-1-HD
Голос: Nova

В принципе, можно подобрать любой голос, который больше нравится.


Распознавание речи

Второе — хочется не только писать, но и говорить самому.

Проблема: записываю голосовое, внутри мешаю русские и английские слова. Начал на английском, продолжил по-русски. Whisper почему-то делал автоматический перевод всего в один язык.

Решение: у Whisper есть поле для промта. Указал, что это для обучения английскому. Все слова транскрибировать так, как произношу — если говорю на русском, то русский, если на английском, то английский.

Результат: модель понимает, что я говорю и как пытаюсь это произнести. Задаю вопрос — получаю ответ и сразу слышу, как это звучало бы правильно.

Модель: Whisper 3 Large через Groq.

Для себя сделал программу под Windows для распознавания голоса — можно скачать здесь: https://github.com/oiv-an/Voice


Работа с изображениями

Проходит ещё несколько дней. Думаю — было бы круто отправлять модели фотки. Сфоткать что-то и спросить: «А это что такое?»

Оказалось, делается в пару кликов: https://t.me/olyanskiy_tech/927

Фотография моментально попадает в модель, и она точно знает, что на ней.


Первая версия памяти

Следующий этап — память. Контекстное окно не резиновое.

Хранение: Redis.

Как работает:

  1. Копятся сообщения до 40 штук
  2. Когда набирается 40 — вытаскиваю из Redis все записи
  3. Первые 20 отрезаю, из них выдёргиваю ключевые факты через нейросеть
  4. Результат возвращаю обратно в Redis
  5. При следующем диалоге — подгружается в системный промт

Каждый цикл из 40 сообщений обновляет центральный блок памяти. По идее, должно работать.


Продолжение: почему эта схема сломалась и как я случайно нашёл решение получше.


Время чтения: 3 мин
Всего слов: 416
Обновлено: