Автор собирает умную колонку с ChatGPT на Raspberry Pi 4 вместо Алисы: подбор компонентов, работа с нейросетью, настройка сервера и распознавания речи.
Key Takeaways
- Собрать умную колонку с ChatGPT возможно на бюджетном железе вроде Raspberry Pi, но потребует ручной настройки
- ChatGPT полезен для подбора компонентов и написания кода, но без понимания процесса автор ходит кругами
- Для работы из России нужен иностранный VPS и OpenAI API, что добавляет ежемесячные расходы
- Главная проблема на текущем этапе — задержка ответа около 12 секунд
What the video covers
- Автор хочет создать умную колонку с ChatGPT, так как прямую замену Алисы сделать нельзя — всё нужно собирать с нуля
- Компоненты для проекта подобраны с помощью ChatGPT с учётом бюджета, заказаны на маркетплейсах
- Основной мозг ассистента — микрокомпьютер Raspberry Pi 4 с SSD
- Программа писалась совместно с ChatGPT: нейросеть писала код, автор запускал его в PowerShell и присылал вывод
- Возникли трудности: ChatGPT ходил кругами и сначала не настроил среду для самой нейросети
- Код сохранён на GitHub, для работы нужен OpenAI API как мост между ChatGPT и колонкой
- Для распознавания речи установлен Whisper, для работы из России выбран иностранный VPS за 590 руб.
- Колонка получила имя Джарвис, добавлена память контекста диалога
- Текущая задержка ответа около 12 секунд, автор занимается оптимизацией скорости
- Микрофонный массив заказан с AliExpress и ещё не получен; проект пока в начальной стадии
Chapters
- 00:00Введение: зачем умная колонка с ChatGPT
- 00:57Подбор и заказ компонентов
- 02:31Сборка голосового помощника и новость о колонке OpenAI
- 03:11Настройка Raspberry Pi и совместная работа с ChatGPT
- 05:33Выгрузка кода на GitHub и настройка сервера
- 08:00Распознавание речи, микрофон и усилитель
- 09:52Имя ассистента, память и оптимизация скорости
Full Transcript — Download SRT & Markdown
Speaker A
Это Яндекс-станция с Алисой. Реально полезный голосовой помощник и компаньон для решения задач. Так бы я сказал лет пять назад, но сейчас нас окружает слишком большое количество нейросетей, которые помогают с диаметрально разной работой, что просто грех взять да и не сделать свою умную колонку с ChatGPT.
Speaker A
умную колонку с чатом GPT. Зачем она мне? Разберусь по ходу её создания. Итак, для начала напомню, что просто взять и поменять Алису на чат GPT нельзя, поэтому придётся создавать всё с самого нуля.
Speaker A
Зачем она мне? Разберусь по ходу её создания. Итак, для начала напомню, что просто взять и поменять Алису на ChatGPT нельзя, поэтому придётся создавать всё с самого нуля.
Speaker A
работать сообща. Берём всё это и закидываем в чат GPT. Уже и чувствуете символизм? Он мне выдал компоненты, которые достаточно хороши для моего проекта и к тому же входят в мой ценовой барьер. Спойлер, потом этот ценовой барьер будет пробит, и чтобы его
Speaker A
Так что убираю весь срач со стола и захожу на доступные маркетплейсы, чтобы заказать детали.
Speaker A
колонки с чатом GPT. Так что у меня осталось не так много времени, чтобы быть первее. Итак, начать пришлось с настройки мозга моего ассистента, микрокомпьютера Raspberry Pi 4. Лучший вариант, если захочется работать с нейронками и при этом пипец какой
Speaker A
Какие? Ну, вот сейчас и решу. Во-первых, мне нужно, чтобы моя колонка меня слышала, выдавала неплохие такие басы, светилась, имела кнопку мьюта, и при этом всё это должно работать сообща.
Speaker A
GPT, чтобы разобраться с этой проблемой. Может, пока он будет писать, я ещё чему-нибудь научусь. Значит, смотри, мне нужна колонка с голосовым помощником, чтобы она меня слушала, отвечала на вопросы, при этом коротко поделюсь, чтобы рассказал о погоде и включала
Speaker A
Берём всё это и закидываем в ChatGPT. Уже и чувствуете символизм?
Speaker A
что, во-первых, вообще ничего не понимаю, кроме команды sudo poweroff, а во-вторых, ChatGPT ведёт меня кругами. И мы делали вообще всё, кроме самой среды для нейросети. В один момент я подумал, что ChatGPT сам не знает, что делать, и просто делает вид, что сейчас всё
Speaker A
Он мне выдал компоненты, которые достаточно хороши для моего проекта и к тому же входят в мой ценовой барьер. Спойлер: потом этот ценовой барьер будет пробит, и чтобы его покрыть, мне придётся, прости господи, работать. Но это будет потом.
Speaker A
Это похоже на то, как ведутся реальные инженерные проекты. Ты сам вводил эти команды. Правда, моя работа всё ещё выглядела так.
Speaker A
А сейчас я уже забрал все приколы с Азона и начал собирать голосовой помощник. К слову, именно в этот момент я узнал о заявлении OpenAI о создании своей колонки с ChatGPT. Так что у меня осталось не так много времени, чтобы быть первее.
Speaker A
колонке ChatGPT общаться почему-то не мог. Ну ладно, что такого? Надо всего-то потратить ещё рублей 600 в месяц на пользование тем, чего сейчас даже нет.
Speaker A
Итак, начать пришлось с настройки мозга моего ассистента, микрокомпьютера Raspberry Pi 4. Лучший вариант, если захочется работать с нейронками, и при этом пипец какой дорогой. Но, как мне кажется, оно того стоит, если собираюсь пользоваться колонкой на постоянной основе.
Speaker A
Ну, то есть мы начинаем. Ну, то есть он начинает. Первое время ничего необычного не было. Работа происходила так же, как и с настройкой микрокомпьютера, пока ChatGPT не начал выдавать такие мувы.
Speaker A
Короче, присоединяю мой мозг к SSD, подключаю к нему через ноут по Wi-Fi и начинаю жёстко кодить. Стоп, я же не знаю, как это делать. Ну, неважно, благо есть ChatGPT, чтобы разобраться с этой проблемой. Может, пока он будет писать, я ещё чему-нибудь научусь.
Speaker A
Следующий шаг понять, какое оборудование уже есть. К слову, это он мне предлагал всё оборудование в этом же чате. Ладно, фиг с этим. Ты помнишь хотя бы, что мы делали на сервере?
Speaker A
Значит, смотри, мне нужна колонка с голосовым помощником, чтобы она меня слушала, отвечала на вопросы, при этом коротко поделюсь, чтобы рассказал о погоде и включала музыку. Он сказал, что сейчас всё будет.
Speaker A
В общем, частично напомнив, что мы делали с ChatGPT, я продолжил работу. Но теперь я следил за ним внимательнее, за каждым его словом, потому что меня напрягает, что по сути в тот раз ChatGPT как будто бы очнулся посреди работы и
Speaker A
Скооперировавшись с ChatGPT, мы начали писать программу. Происходило это так: я ему говорил, что делать, он писал код, я его вставлял в PowerShell, а потом отправлял вывод. Спустя несколько дней я понял, что, во-первых, вообще ничего не понимаю, кроме команды sudo poweroff, а во-вторых, ChatGPT ведёт меня кругами. И мы делали вообще всё, кроме самой среды для нейросети.
Speaker A
сделана, да и сервер работает. Думаю, можно запускать чат GPT, но необычный. Для колонки мне нужен Open AI API, который служит неким мостом между чат GPT и сайтом, скриптом или колонкой. В нём цена высчитывается в зависимости от того, насколько много и насколько
Speaker A
В один момент я подумал, что ChatGPT сам не знает, что делать, и просто делает вид, что сейчас всё заработает.
Speaker A
Пока можете делать свои гессы на этот счёт. А тем временем я поставил нейронку на сервер и начал делать свои первые запросы. Пока только через командную строку, но это уже много значило для моего проекта. Что ж, ответы меня начинают устраивать, поэтому продолжу
Speaker A
В общем, разобравшись с первичной настройкой микрокомпьютера, я решил сохранить прогресс, выгрузив код на GitHub. Проблем с этим не было, да и сам ChatGPT стал замечать, что я начал шарить в этой теме. Это похоже на то, как ведутся реальные инженерные проекты. Ты сам вводил эти команды. Правда, моя работа всё ещё выглядела так. Ну, ChatGPT лучше знать.
Speaker A
Поэтому в качестве аналога воспользуюсь этим и еишим акустическим микрофоном, который стоит раза в три дешевле, чем, например, этот провод. Устанавливаю на систему Whisper ака распознаватель речи и проверяю.
Speaker A
К этому моменту нужно было уже задумываться о так называемом VPS, то есть сервере, на котором у меня будет находиться сам ChatGPT для колонки. Причём мне нужен не просто VPS, а ещё и иностранный, потому что ни на русском сервере, ни на самой колонке ChatGPT общаться почему-то не мог. Ну ладно, что такого? Надо всего-то потратить ещё рублей 600 в месяц на пользование тем, чего сейчас даже нет.
Speaker A
25. Даже к товару обсуждали, как подключить его к машине или типа того. Но как с микрофоном, просто подключить по USB не получится. Тут придётся попариться чуть больше. Мне нужно ещё использовать усилитель. Он будет некой связью между динамиком, разберись
Speaker A
Фигня вопрос, мы же миллионеры и так далее. Ладно, сейчас я беру свой сервер за 590 руб. и начинаю настраивать его.
Speaker A
делало ситуацию не ухудшило. Наоборот, это было делать в разы приятнее, чем драить эти три кнопки. На самом деле, когда я задумался об этом проекте, я рассчитывал, что 70% времени пройдёт именно так.
Speaker A
Ну, то есть мы начинаем. Ну, то есть он начинает. Первое время ничего необычного не было. Работа происходила так же, как и с настройкой микрокомпьютера, пока ChatGPT не начал выдавать такие мувы.
Speaker A
Так, я ввожу команду в PowerShell. Так, по идее должен быть звук, но я его не слышу.
Speaker A
По нашим прошлым разговорам я помню, что у тебя есть Raspberry. Ну, что ж, ладно, все мы люди, можем забыть что-нибудь.
Speaker A
Добавил память, чтобы ассистент помнил контекст диалога, проверил голос. Давай. [смех] Вообще понятно, что он говорит? Я, мне кажется, понимаю только потому, что знаю, что я написал.
Speaker A
Следующий шаг: понять, какое оборудование уже есть. К слову, это он мне предлагал всё оборудование в этом же чате. Ладно, фиг с этим. Ты помнишь хотя бы, что мы делали на сервере?
Speaker A
её позвал. Вот только нужно сначала придумать ей имя, что-то оригинальное, необычное и при этом редко встречающееся. М-м, я назову её Джарвис.
Speaker A
Пришлось ему всё повторно рассказывать, потому что если он не вспомнит, что делать, то проект закончить я не смогу.
Speaker A
Джарвис, это что за имба? Ну, пока бросил временно эту идею и начал заниматься оптимизацией скорости ответа, потому что сейчас у меня на весь анализ речи, обдумывание ответа и его произношение уходит примерно 12 секунд.
Speaker A
В общем, частично напомнив, что мы делали с ChatGPT, я продолжил работу. Но теперь я следил за ним внимательнее, за каждым его словом, потому что меня напрягает, что по сути в тот раз ChatGPT как будто бы очнулся посреди работы и просто по контексту моих вопросов попытался понять, что мы делали, пока я его напрямую не спросил, о чём он помнит.
Speaker A
вот только Антону не хватает хайпа. Антону не хватает немного Короче, да, я сделал Антона в виде маленького игрового ПК. По большому счёту, проблема это не составила, но умещать всё в таком маленьком корпусе было не очень кайфово. Сначала я ещё не
Speaker A
В общем, закончил некоторые прикольчики с сервером и сохранил какие-то файлы на GitHub. В целом, некоторая часть каркаса для колонки сделана, да и сервер работает. Думаю, можно запускать ChatGPT, но необычный.
Speaker A
но проблем этом не вижу, учитывая, что эта сторона будет закрыта стенкой. Но главная часть корпуса, это конечно же светодиодная лента. С этой штукой я и маялся дольше всего, и первая причина этому это то, что её нужно паять, а у
Speaker A
Для колонки мне нужен OpenAI API, который служит неким мостом между ChatGPT и сайтом, скриптом или колонкой. В нём цена высчитывается в зависимости от того, насколько много и насколько объёмные запросы я задаю. Сейчас я закинул туда 500 руб., а чуть позже скажу, сколько потратилось за два месяца.
Speaker A
Короче, изначально вот это вот выглядит страшно, но если подойти ближе, то это просто Помимо этого, у меня была ещё одна проблема с этими деталями. Подставка для микросхемы саму микросхему не держала, из-за чего она выпадала и лента не работала. Из-за этой фигни я парился
Speaker A
Пока можете делать свои ставки на этот счёт.
Speaker A
Короче, ленту я приклеил вдоль стороны, которая по моему плану должна была быть прозрачной, и настроил программную часть, чтобы свет ленты соответствовал командам. Получилось вот так. Вот и микрофонный массив пришёл с AliExpress'а. Его присоединить нужно было также, как и акустический микрофон,
Speaker A
А тем временем я поставил нейронку на сервер и начал делать свои первые запросы. Пока только через командную строку, но это уже много значило для моего проекта. Что ж, ответы меня начинают устраивать, поэтому продолжу собирать колонку.
Speaker A
воспроизведением речи также. Ещё и появились баги с тем, что она после перезагрузки иногда перестаёт меня слушать. Хотя, судя по этим светодиодам, она слышит звуки. Поэтому придётся с программной частью ещё повозиться, чтобы исправить это всё. Ну, сначала добавлю кнопку мьюта, чтобы избавиться от ложных
Speaker A
Сейчас у меня есть только микрокомпьютер, блок питания для него и SSD. Дальше хотелось бы подключить уши моей колонки. Но нормальный микрофонный массив едет с AliExpress и прибудет ещё не скоро.
Speaker A
удлинителю, чтобы занимать только одну розетку. Разумеется, такой колхоз временный и всё позже будет заменено одним блоком питания. И наконец, я сделал прозрачную стенку. Из-за отсутствия нормальных инструментов вырезать её было сложно. Тем более вот это отверстие под микрофон. Ну,
Speaker A
Поэтому в качестве аналога воспользуюсь этим и ещё одним акустическим микрофоном, который стоит раза в три дешевле, чем, например, этот провод. Устанавливаю на систему Whisper, aka распознаватель речи, и проверяю.
Speaker A
Антон. Кто такой Достоевский? Фёдор Михайлович Достоевский - русский писатель, автор преступления и наказания и братья Карамазовы.
Speaker A
Привет, меня зовут Олег.
Speaker A
пи, если что. Хотя, если считать именно цену за создание и сравнить её с ценой запросной у Алисы, то выходит, так, микрофон динамик Raspberry.
Speaker A
Он сказал: «Ну, в целом работает».
Speaker A
рассказывать о погоде, поменять ей голос и грамотно её упаковать. Так что, если вам этот проект интересен, тогда подписывайтесь на канал, чтобы не пропустить апгрейд. И пишите в комментарии свои варианты, что можно ещё с нею сделать.
Topics:умная колонкаChatGPTRaspberry Piголосовой помощниксамодельный проектOpenAI APIWhisperDIYДжарвиснейросети











