Как стать автором
Обновить

Storybook — генератор сказок с ИИ на Raspberry Pi 5 и 7-цветном дисплее E-Ink

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров4.8K
Автор оригинала: Nick Bild

Последнее время только ленивый не пишет о великом прорыве человечества в области разработки искусственного интеллекта под общим названием "большая языковая модель" (LLM, large language model). И хотя у них остается еще много возможностей для совершенствования, но за последние несколько лет подобные приложения стали действительно востребованными. Большие языковые модели привлекают своей сверхъестественной способностью резюмировать текст, понимать естественный язык и создавать контент (и судя качеству некоторых статей, в том числе и тут на Хабре).


Правда подобные инструменты иногда сбоят и выдают некорректную информацию т.е. "галлюцинируют", которую выдают за правду. Генераторы изображений могут нарисовать лошадей с пятью ногами или кисть руки с семью пальцами. Однако подобные "фантазии" не всегда плохо. Например, когда творчество ценится выше точности, генерация не существующего контента, но похожего на правду, может оказаться полезной.


Томас Валадес (Thomas Valadez) воспользовался этим творческим потенциалом, чтобы создать интересное устройство под названием «Storybook». Его проект с открытым исходным кодом превращает Raspberry Pi в рассказчика на базе искусственного интеллекта, способного создавать иллюстрированные сказки. Это устройство использует LLM и генератор изображений для создания одной страницы книги из никогда не существовавшего сборника рассказов и выводит их на E-Ink дисплей.



Устройство состоит всего из нескольких обычных компонентов;



Программное обеспечение и инструкцию по его установке можно посмотреть на сайте проекта


или тут под спойлером
  • Image the SD card with RPi OS, then boot and update the OS
  • Enable I2C and SPI interfaces: sudo raspi-config
  • Install Ollama
  • Pull and serve an Ollama model. I find that Mistral and Gemma models work well. ollama run gemma:7b
  • Build/install XNNPACK and Onnxstream
  • Download an SD model. I find that Stable Diffusion XL Turbo 1.0 works well.
  • Clone this repository. git clone https://github.com/tvldz/storybook.git
  • Create a Python virtual environment: cd storybook && mkdir .venv && python -m venv .venv
  • Activate the environment: source .venv/bin/activate
  • Install the Inky libraries. Follow these instructions for RPi 5 compatibility: pimoroni/inky#182
  • Install requests and pillow: pip install requests pillow
  • Modify the constants (paths) at the top of main.py to match your own environment.
  • execute main.py: python main.py. Execution takes ~5 minutes.

Для генерации изображений использован Stable Diffusion XL Turbo 1.0, который является довольно "тяжелым" для выполнения на выбранной аппаратной платформы с ограниченными ресурсами. Однако с помощью Onnxstream требования к памяти можно значительно снизить.



Тщательно подобрав подсказки для LLM и генератора изображений, можно создавать иллюстрированные страницы из сборника детских рассказов и отображать ее на экране E Ink. Благодаря особенностям этих дисплеев, они могут работать в течение всего дня, не потребляя энергии, предлагая развлечения и вдохновение. Выполнение программы генерации на Raspberry Pi довольно медленный процессе. Так, создание новой страницы занимает около 5 минут.




З.Ы.
В комментариях на разных порталах при обсуждении проекта, постоянно предлагается заменить промпт, чтобы он генерировал не детский, а хардкорный 18+ контент, для целей более активного продвижения данного устройства.

Теги:
Хабы:
+11
Комментарии9

Публикации

Истории

Работа

Data Scientist
78 вакансий
Python разработчик
131 вакансия

Ближайшие события

Конференция «IT IS CONF 2024»
Дата20 июня
Время09:00 – 19:00
Место
Екатеринбург
Summer Merge
Дата28 – 30 июня
Время11:00
Место
Ульяновская область