Run On The Host#
Use this path to run kiosk-core and the Gradio UI directly on the host
instead of inside the top-level Compose stack. The microphone is still
captured by the browser and uploaded to kiosk-core.
Clone#
git clone https://github.com/intel-retail/voice-enabled-interactions.git
cd voice-enabled-interactions/smart-kiosk-assistant
Start Downstream Services#
Before starting kiosk-core and the UI on the host, make sure these downstream services are available:
audio-analyzerathttp://127.0.0.1:8010/v1/audio/transcriptionstext-to-speechathttp://127.0.0.1:8011/v1/audio/speechrag-serviceathttp://127.0.0.1:8020/api/v1/query
The simplest way is to pull the prebuilt images for audio-analyzer
and text-to-speech from Docker Hub, build rag-service locally, and
run kiosk-core plus the UI on the host. The kiosk compose file in
smart-kiosk-assistant/ already wires these three services together;
start only those three:
docker compose pull audio-analyzer text-to-speech
docker compose up -d audio-analyzer text-to-speech rag-service
rag-service builds locally because it ships in this repository under
../rag-service/.
The other two are pulled from intel/audio-analyzer and intel/text-to-speech on Docker Hub.
Python Setup#
From the smart-kiosk-assistant/ directory:
sudo apt-get install -y --no-install-recommends libportaudio2
python -m venv .venv
source .venv/bin/activate
pip install --upgrade pip
pip install -r requirements.txt
Start kiosk-core#
Run the API on the host:
source .venv/bin/activate
uvicorn main:app --host 0.0.0.0 --port 8012
Default URLs used by kiosk-core in this host-run mode:
KIOSK_CORE_ANALYZER_URL=http://127.0.0.1:8010/v1/audio/transcriptionsKIOSK_CORE_RAG_URL=http://127.0.0.1:8020/api/v1/queryKIOSK_CORE_TTS_URL=http://127.0.0.1:8011/v1/audio/speech
Start The Gradio UI#
In a second terminal, from the same smart-kiosk-assistant/ directory:
source .venv/bin/activate
python gradio_app.py
Default UI URL:
http://127.0.0.1:7860
Open that address in a browser, allow microphone access, and use the same browser-based voice flow as the Compose deployment.
Verify#
curl --noproxy '*' http://127.0.0.1:8012/health # {"status":"ok"}
Notes#
TTS audio clips are written under
generated_audio/in the project directory.For endpoint details, see API Reference.