Сервис Assistant предназначен для обработки голосовых запросов пользователей посредством интеграции с облачной платформой Яндекса (Yandex Cloud). Сервис построен на Spring Boot и обеспечивает запись голосовых сообщений, распознавание текста из речи и передачу распознанного текста в нейросеть для генерации ответа. Дополнительно интегрирован с сервисом GigaChat, куда отправляется текст, полученный из аудио-записи.
- Запись голосовых вопросов от пользователя.
- Распознавание речи из аудиозаписи.
- Передача распознанного текста в нейросеть для анализа и формирования ответа.
- Отправка текста в GigaChat для дальнейшей обработки.
- Интеграция с сервисами
Yandex Cloud.
Для начала работы с проектом убедитесь, что установлены необходимые зависимости и настроены переменные среды:
- Установите Java версии >= 8 и Maven.
- Создайте аккаунт в Yandex Cloud и получите ключи доступа для вашего аккаунта.
- Склонируйте проект и установите зависимости:
git clone https://github.com/your-repo.git
cd your-project
mvn clean install- Откройте файл конфигурации
application.properties, добавьте токены доступа и необходимую информацию для связи с облачными ресурсами:
yandex.iam.token=
yandex.cloud.catalog=
audio.file.path=
gigachat.client.id=
gigachat.client.secret=
gigachat.openapi.key=
gigachat.rq.uid=
gigachat.get.model.url=
gigachat.get.token.url=
gigachat.send.query.url=
keystore.path=
keystore.pass=Запустите приложение командой:
mvn spring-boot:runТеперь ваше приложение доступно по адресу http://localhost:8080/.
Для отправки сообщений необходимо сертификат. Выпущенный серт нужно упаковать в keystore.jks, который потом будет прикладываться к запросам. Чтобы положить серты в .jks файл, надо октрыть терминал в месте расположения сертификатов и вполнить следующие команды:
- Создаем хранилище ключей:
keytool -genkeypair -alias <название> -keyalg RSA -keysize 2048 -keystore <название_хранилища>.jks -storepass <пароль>; - Кладем скаченные/полученные сертификаты в .jks файл:
keytool -importcert -alias <название> -file <название_сертификата>.crt -keystore <название_хранилища>.jks(Эта команда выполняется для каждого файла, который получен здесь сертификат); - Проверяем содержимое:
keytool -list -v -keystore your_keystore.jks.