Танбир Хоссейн Рамим. Страница проекта: VoiceMax. Источник: github.com/TanbirRamim/VoiceMax. VoiceMax стартовал на Hackaburg 2025, где я создал его вместе со своей командой (в нижнем колонтитуле все еще написано «Команда 2.1»). Идея была проста: ваш голос несет в себе много...
Танбир Хоссейн Рамим. Страница проекта: VoiceMax. Источник: github.com/TanbirRamim/VoiceMax.
VoiceMax стартовал на Hackaburg 2025, где я создал его вместе со своей командой (в нижнем колонтитуле все еще написано «Команда 2.1»). Идея была проста: ваш голос несет много эмоциональной информации, которую вы не замечаете сознательно, поэтому позвольте людям записать несколько секунд речи и получить краткое, честное прочтение того, как они звучат, а затем что-то поддерживающее.
Это приложение Next.js с TypeScript, shadcn/ui и Tailwind спереди и Genkit с моделью Gemini, выполняющей анализ. В этом посте рассказывается о том, как он составлен, и о решениях, которые я бы оставил.
Одна модель, три узких задания
Весь уровень AI настроен в семи строках:
импортировать {genkit} из "genkit";
импортируйте {googleAI} из @genkit-ai/googleai;
экспортировать const ai = genkit({
плагины: [googleAI()],
модель: «googleai/gemini-2.0-flash»,
});
На хакатоне возникает искушение написать одну гигантскую подсказку, которая возвращает все сразу. Вместо этого я разделил его на три потока:
AnalysisAudioEmotion прослушивает запись и описывает ее.
submitAdditionalEmotions берет это описание и предлагает до трех вторичных эмоций.
обеспечитьПерсонализированныйОбратная связь