YouTube2Text

СДЕЛАЛ ИИ СТРИМЕРА ЗА 5 ДНЕЙ! — Transcript

by valtheriss · 1,084 words · 193 segments · language ru · Watch on YouTube

Full transcript

  1. 0:00Я создал и стримера за 5 дней. Всем
  2. 0:03привет. У микрофональс. И сегодня я
  3. 0:05покажу и расскажу, как создал своего
  4. 0:07витубера Юми за 5 дней. Как вы помните,
  5. 0:10в прошлом ролике я уже создал
  6. 0:12искусственный интеллект, который мог
  7. 0:13играть в Minecraft. Но поразмыслив,
  8. 0:15понял, что проект, мало говоря, не
  9. 0:17идеальный. Это полное Проще
  10. 0:19переписать его с нуля, поэтому первый
  11. 0:21день начался с того, что я его удалил. В
  12. 0:24прошлом видео было освещено слишком мало
  13. 0:26технических моментов проекта. Я считаю,
  14. 0:28что это нужно исправлять. В моей
  15. 0:30внутренней борьбе между полностью
  16. 0:32закрытым проектом, как Нейросама, и
  17. 0:34проектом с частично открытой
  18. 0:36архитектурой победил второй вариант.
  19. 0:38Может, мне повезёт и найдутся добрые и
  20. 0:40разбирающиеся люди, которые смогут
  21. 0:42помочь с решением каких-то вопросов. Кто
  22. 0:44знает? Нет. В любом случае любой, кто
  23. 0:47хоть как-то разбирается в этом, сможет
  24. 0:48самостоятельно создать такой проект с
  25. 0:50закрытыми глазами.
  26. 0:54Вооружившись новоприобретёнными знаниями
  27. 0:56из прошлого опыта, я сел писать модуль
  28. 0:59легенда, а то есть мозг нашего тубера
  29. 1:01lm. Сделать это было не так сложно,
  30. 1:03учитывая, что данный модуль в своей сути
  31. 1:05не сильно отличается от первоначальной
  32. 1:07версии. Но есть одно важное замечание.
  33. 1:10Прямо здесь интегрирован модуль памяти.
  34. 1:12То есть теперь Юми при получении запроса
  35. 1:14может сама решить, вспоминать ей что-то
  36. 1:17или нет, а также после ответа решает,
  37. 1:19стоит ли сохранить какие-либо факты в
  38. 1:21свою память. Что касается принципа
  39. 1:23работы, она реализована как раксистема
  40. 1:25на базе векторов и для поддержания
  41. 1:27консистентности была разделена на две
  42. 1:29базы данных с личностью Ю и
  43. 1:31воспоминаниями о пользователях.
  44. 1:34Изначально моя идея состояла в том,
  45. 1:35чтобы сделать веб-интерфейс для
  46. 1:37управления всеми модулями и визуального
  47. 1:39отображения чата и логов. Даже был
  48. 1:41сделан какой-никакой рабочий шаблон, но
  49. 1:43в будущем от этой идеи я отказался, но
  50. 1:46может быть когда-нибудь реализую. Юми,
  51. 1:49напомни, как меня зовут?
  52. 1:52Вальтер, ты опять меня запутал. Я же
  53. 1:55помню, что ты раньше назывался
  54. 1:57Вальтерис, но если хочешь, чтобы я
  55. 1:59называл тебя Вальтер, ладно, только не
  56. 2:03жди, что я забуду, как ты пытался
  57. 2:04убежать от моих драконьих укусов в
  58. 2:07прошлый раз.
  59. 2:13Проснувшись на второй день, я осознал
  60. 2:14критичность отсутствия заранее
  61. 2:16разработанной архитектуры всего проекта.
  62. 2:18Проблема заключалась в невозможности
  63. 2:20корректно передавать данные между
  64. 2:22модулями, поэтому первым делом я пошёл
  65. 2:24набрасывать примерную схему
  66. 2:25взаимодействия. Способом передачи данных
  67. 2:28был выбран websocket. Минимальная
  68. 2:30нагрузка и почти полное отсутствие
  69. 2:32задержки окончательно отмели всех
  70. 2:33конкурентов. Пересобрав модуль LLM под
  71. 2:36текущую новую архитектуру, я пошёл
  72. 2:38реализовывать модуль STТ, который должен
  73. 2:41распознавать мой голос и отдавать
  74. 2:43расшифровку. На этом этапе я уже
  75. 2:45задумался об возможности подачи не
  76. 2:46только своего голоса, но и голоса из
  77. 2:49других источников, например, Discord.
  78. 2:51Многого об этом модуле рассказать не
  79. 2:53могу, поскольку рассказывать нечего. Сам
  80. 2:55процесс его создания был прост, за
  81. 2:57исключением танцев с бубнами над
  82. 2:59аудиоканалами, чтобы везде звук приходил
  83. 3:01и выходил.
  84. 3:05На третий день я пошёл писать модуль
  85. 3:07ТТС, который будет генерировать голос
  86. 3:09Юми. Из-за того, что LLM и так съела всю
  87. 3:12мою видеопамять, запускать пришлось на
  88. 3:14ЦПУ. Но перед этим я собрал ещё два
  89. 3:16модуля. Ну как два? Один модуль аENTН и
  90. 3:19micромодуль Translate. К слову, в
  91. 3:21будущем от использования АЦНТ я
  92. 3:23откажусь, поскольку он добавляет слишком
  93. 3:25большую задержку, да и работает не очень
  94. 3:27стабильно. Ант должен, как можно
  95. 3:29догадаться из названия правильно
  96. 3:30расставлять акценты, но для корректной
  97. 3:32работы ему нужен контекст из нескольких
  98. 3:34слов, так что работа напрямую с токенами
  99. 3:36была невозможна. Ах да, что такое токен?
  100. 3:39Токен - это минимальная единица текста,
  101. 3:41с которой работает языковая модель.
  102. 3:43Грубо говоря, это кусочек слова или
  103. 3:46целое короткое слово. Например, фраза:
  104. 3:49"Привет, мир" разбивается примерно на
  105. 3:51три-четыре токена. LM генерирует текст
  106. 3:54именно токен за токеном, а не слово за
  107. 3:56словом. Поэтому работать с готовыми
  108. 3:58словами в реальном времени бывает
  109. 4:00непросто. Транслейджи транскрибируют
  110. 4:02английские слова русскими буквами для
  111. 4:05того, чтобы ТТ могла без проблем их
  112. 4:07озвучить. Иногда это выглядит странно,
  113. 4:09но кто я такой, чтобы забирать её
  114. 4:11идентичность? Проблема с чанками на
  115. 4:13данном этапе никуда не ушла. Транслей
  116. 4:16умеет работать с ними, но вот если
  117. 4:17отдавать чанки напрямую в ТТС, финальная
  118. 4:20фраза будет рваной и безэмоциональной.
  119. 4:23Такое нам не нужно. Решение выступает
  120. 4:25небольшой буфер между LLM и ТТС с
  121. 4:27возможностью настройки лимитов. В
  122. 4:29финальном результате генерация
  123. 4:31аудиопотока происходит быстро и без явно
  124. 4:33выраженных ошибок.
  125. 4:35Юми, а тебе нравится игра Осу?
  126. 4:39>> Осу? Да я её обожаю, как ты не видел.
  127. 4:42Особенно, когда ты пытался играть и
  128. 4:44постоянно ловил монеты, как будто они
  129. 4:46летают в твою сторону. Ты же знаешь, что
  130. 4:49в асуу нужно уметь слушать ритм, а не
  131. 4:51бегать по экрану. Как ты это делаешь?
  132. 4:55Ладно, Вальтер, не переживай. Я тебя не
  133. 4:57брошу, даже если ты снова упадёшь в
  134. 4:59пропасть.
  135. 5:03Пришло время собирать это всё в единого
  136. 5:05трансформера. Если честно, на протяжении
  137. 5:07всех дней я и так писал пайплайн для
  138. 5:09комплексной работы, но только сейчас
  139. 5:11этим можно заняться по полной, ведь
  140. 5:13именно сейчас готовы все вебсокет
  141. 5:15тенпоинты. Главной фишкой, которую я
  142. 5:17хотел реализовать конкретно для себя -
  143. 5:19это возможность работы всего этого чуда
  144. 5:21независимо друг от друга. Как раз для
  145. 5:23этого и были созданы модули. I будет
  146. 5:26работать даже если выключить ей или ТТС.
  147. 5:29Да, в таком случае она не будет слышать,
  148. 5:31что я ей говорю или сама не сможет
  149. 5:33говорить, но в будущем, думаю, мне
  150. 5:35неоднократно понадобится возможность
  151. 5:36освобождать ресурсы компьютера под
  152. 5:38другие задачи. И в этот же день я
  153. 5:41вспомнил, что забыл совершенно про
  154. 5:42модельку нашей Юми. [музыка]
  155. 5:47В попыхах побежал разрабатывать самый
  156. 5:49нелюбимый мною модуль из-за развитого
  157. 5:51ПТСР после прошлого опыта. Но на
  158. 5:54удивление я набросал его концепт
  159. 5:55буквально за полчаса, а довёл до
  160. 5:57нормальной работы уже к вечеру этого дня
  161. 6:00без каких-либо проблем и прикрутил к
  162. 6:02действующему пайплайну.
  163. 6:06Пятый и финальный день. Вы спросите:
  164. 6:08"Если всё готово, что тогда ты будешь
  165. 6:10делать сегодня?" А я скажу, что буду
  166. 6:12исправлять баги и недочёты в работе
  167. 6:14пайплайна. Нестабильная работа текущей
  168. 6:16реализации клиентов Websocket ломала всё
  169. 6:19и в том числе мои последние нервные
  170. 6:20клетки. А также меня смущала дико
  171. 6:22большая задержка при работе всех
  172. 6:24модулей. Как раз здесь я отключил модуль
  173. 6:26акцентом и подшаманил все блокировки
  174. 6:28внутри кода. Также наткнулся на статью о
  175. 6:31выпуске новых версий используемой Мной
  176. 6:33модели, и они были очень даже сочными.
  177. 6:35Но на моей конфигурации компьютера они
  178. 6:38работали как-то странно, так что я
  179. 6:40откатил все изменения и с чистой душой
  180. 6:42выдохнул. Ведь это логический конец
  181. 6:44разработки. В итоге между первой
  182. 6:46версией, показанной в прошлом видео, и
  183. 6:48текущим вариантом, разница в скорости
  184. 6:51ответа составляет в среднем 15 секунд.
  185. 6:53Это неплохой показатель, но есть куда
  186. 6:55стремиться. Да и в целом проект стал
  187. 6:57работать намного стабильнее и для меня,
  188. 6:59как для собеседника, намного приятней.
  189. 7:01Теперь развивать его будет намного
  190. 7:03проще. В следующем видео вас ждёт очень
  191. 7:05интересная интеграция. Ну а я пошёл. Мне
  192. 7:08надо поговорить с Юми. Она уже скучает,
  193. 7:11наверное. y

About this transcript

This page contains the full transcript of СДЕЛАЛ ИИ СТРИМЕРА ЗА 5 ДНЕЙ! by valtheriss, generated from the public captions YouTube serves with the video. The transcript has 1,084 words across 193 segments, with the original timestamps preserved so you can click any line to jump to that moment in the embedded player.

What you can do with it

Use the transcript to take notes, quote the speaker, build a study guide, generate a summary with ChatGPT or Claude via the YouTube Summary tool, or export it as a timed subtitle file with YouTube to SRT. You can also re-open it in the transcriber to translate the transcript into 100+ languages.

Free YouTube transcript tool

YouTube2Text is a free YouTube transcript generator — no signup, no daily limit. Paste any YouTube link and get the full transcript instantly, with timestamps, click-to-jump, translation to 100+ languages, AI prompts for ChatGPT, Claude, and Gemini, and exports to TXT, SRT, VTT, or Markdown.