HuRI is an open-source research project focused on conversational AI for humanoid robots and virtual avatars. HuRI provides a modular architecture that allows developers to design, implement, and run AI modules within customizable conversational pipelines defined by the user. HuRI is launched as a multi-client server, to handle multiple client (robots) conversational requests. The framework supports the implementation and integration of multiple AI modules, including: Speech-to-Text (STT) and Text-to-Speech (TTS), Retrieval-Augmented Generation (RAG), Emotional analysis (EMO), Motion and gesture generation (MOV)
- python 3.11.14
sudo apt install python3.11
- pip
sudo apt install python3-pip
- Clone the repo
git clone https://github.com/Sentience-Robotics/HuRI.git
- Install pip packages
pip install -r requirements.txt
serve run [config_file_path]We use ray serve config file, doc here.
You can also launch HuRI without config file:
python -m src.launch_huripython -m src.client --config [client_config_file_path]We have custom yaml file to define modules to use and how they are initialized, template here.
Entrypoints:
HuRI: app.py & launch_huri.py
Client: client.py
HuRI's Core classes:
client & client_senders
events
huri
module
session
Modules implementation:
rag: rag's implementation
speech_to_text: speech to text implementation, including MIC (vad), STT (speech to text) and TAG (text aggregator)
utils: utility modules, like Sender (send event to Clients)
HuRI's complete documentation is available here.