All streams
Search
Write a publication
Pull to refresh
56
0
bugman @bugman

Make software to happen

Send message

Мне нравится, что Вы начали думать над решением задачи, а не просто оценивать её сложность как невероятно высокую. Всё решается с помощью навыков. Кастомные навыки могут иметь свою "память" в любом виде. Например, навык для заказа в магазине "КБ" будет условно иметь возможность сходить получить список последних заказов с составом заказа и обновить ими свою локальную память этой информацией.

Мне вот лично дико не хватает таких навыков-адаптеров у голосовых ассистентов, а разрабатывать их специально для инфраструктуры какой-то говённой проприетарщины типа Алисы или Маруси я не буду из принципа. Я лучше сделаю свою Алису, с блекджеком :) К тому же её особенно и делать не надо, а надо только аккуратно интегрировать уже готовые решения и склеить их правильным интеграционным клеем

Ни один из коммерческих голосовых ассистенов (Алиса, Маруся, Сбер Старт) его не хранит сейчас.

Это, простите, х...я, а не задача. Решается элементарно. И всё будет работать офлайн.

Попробуйте Coqui или Larynx.
Это по сути такие фреймворки, которые умеют запускать много разных моделей, которые люди натренировали и поделились. Там есть очень качественные английские модели - их можно послушать по первой ссылке, русские мне понравились меньше - но нет никакой проблемы натренировать свою модель которая будет говорить твоим собственным голосом. Или голосом любимого диктора. Материалов на эту тему в сети тьма, было бы желание в этом разобраться.

http://cmuflite.org/ - очень нетребовательная и очень механическая. И да, оно работает в офлайне. На тему TTS есть куча офлайн решений начиная от старых espeak и festival, которые очень механические, заканчивая очень хорошими нейронками которые можно целиком крутить даже на слабой железке. Тут важно подбирать их под свой проц и учитывать real-time-factor - условно как долго генерируется аудио в сравнении с длинной самого аудио. Чтобы не было ситуации что проц 10 секунд генерировал аудиоответ длинной 3 секунды. Есть куча решений, но народ ленив или искать не умеет. Я их всех собираю в свою личную вики после тестирования и делюсь только с избранными :) Вот для затравки:

А упомянутый pyttsx3, наскок я помню это враппер просто над другими инструментами (sapi5, nsss, espeak). Он только API предоставляет в питоне к ним, но сам TTS не делает

Чот _0 в названии модели выглядят подозрительно. Я таких не видел. В любом случае копайте.

Ну вот да. Как раз с этой целью. Я в свободное время занимаюсь как раз похожим проектом - хочу скрестить все это с майкрофтом / OpenVoiceOS / Rhasspy и готовое решения для пользователей сделать по принципу все-в-одном. Чтобы и nextcloud там был, и голосовой офлайновый помощник, и HA. Идеальный сценарий: "<Помощник> скачай <свободно распространяемый контент>, поставь его на телеке и приглуши свет. А пока качаешь, давай с тобой за политику потрём. Кстати повтори мой последний заказ в "красном белом", только выбери пиво другое, которое я еще не брал, но не дороже 200 р"

Да, этот вечный нелегкий выбор - взять постарее но подешевле и побольше или поновее но дороже и меньше :)

Вот это примерно тот сценарий, который я держу в голове - замена чатботам от которых не требуется большой фактологической точности.

Да, у меня есть что вам подсказать. Целая куча есть. Начать советую с Coqui TTS, там есть с несколько десятков разных TTS моделей на любое качество и скорость.

На какой SBC тигра делали?

Вечером гляну. Возможно есть опции с триалом у кого

Да, у меня работает с 7Б моделькой. Делал тупо по доке и всё заработало из коробки. Единственное поднимал в докере, не хотел в систему срать лишними пакетами.

Если ты намекаешь, что у тебя npx не стягивает ничего и вообще себя странно проявляет - на гитхабе прям на главной написано про это. В случае с федорой мне надо было пару пакетов доставить.

Попробуй npx еще с вербозом запустить - проверить на каком шаге у тебя валится.

docker run   -p 3000:3000  -it --rm fedora /bin/sh
yum install npm python3.9.x86_64 make automake gcc gcc-c++ kernel-devel python3-virtualenv git -y
npx dalai llama install 7B
npx dalai serve

Далее уже на хосте браузером открыл локалхост:3000 и вуаля

Так инструкция же есть на гитхабе, прям на главной странице!
Скачиваете другую модель, ссылки есть, подключаете с ключом -m

Могу дополнить список парой инструментов которыми пользуюсь сам:

  • https://github.com/abb128/LiveCaptions - самый простой для использования на десктопе ASR - Automatic Speech Recognition. Работает как и с микрофона, так и с воспроизводимого аудио. Использует свою модель / библиотеку April-ASR

  • https://github.com/ggerganov/whisper.cpp - С++ имплементация ASR использующая модель Whisper от компании OpenAI (знакомое имя?). Понимает русский, кстати. За счёт того, что консольный, легко использовать в связке с другими инструментами в сценариях типа "скачать ютуб видео | распознать весь текст оттуда".

  • https://gitlab.com/TheEvilSkeleton/Upscaler - простой в использовании но очень крутой апскейлер. Скромный разработчик даже не потрудился как следует снабдить своё репо примерами "до и после". Вот тут есть обзор - https://ubuntu-news.ru/howto/kak-uluchshit-izobrazhenie-s-nizkim-razresheniem-v-linux-prilozhenie-upscaler

  • https://github.com/coqui-ai/TTS - если нужен Text-To-Speech. Куча разных моделей на любой вкус и цвет, так что голова идёт кругом. По качеству тоже на любой вкус - есть быстрые но немного механические, есть прям вполне отличные, уровня Яндекса Алисы, не к ночи будет упомянута.

Мне кажется, что в случае с подобными моделями, тут скорее упор не в скорость доступа к данным модели, а в самой возможности ее размещения в памяти, пусть и не самой быстрой.

То есть условный свежий Райзен со встроенной RDNA-2/3 и кучей обычной DDR4/5 оперативки, которую можно аллоцировать как видеопамять, будет лучше, чем более старая дискретная видеокарта, но с ограниченным объёмом видеопамяти.

Лучше будет хотя бы потому, что на нем можно будет большую модель закрутить

Начните с консольного приложения alpaca.cpp. Ставится в полпинка и тупо работает на CPU - https://habr.com/ru/news/t/723638/#comment_25350970

Я советую начать с консольного приложения проекта https://github.com/antimatter15/alpaca.cpp
Оно ставится в полпинка и тупо работает на CPU - https://habr.com/ru/news/t/723638/#comment_25350970

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity

Specialization

Chief Technology Officer (CTO), Software Architect
Lead
Git
Linux
Docker
Database
High-loaded systems
SQL
English
Software development
Algorithms and data structures
Development of integration solutions