|
|
|
|
@@ -1,3 +1,12 @@
|
|
|
|
|
"""
|
|
|
|
|
An exhaustive overview of configurable options. All of these can be set using environment variables
|
|
|
|
|
by nesting with double underscores (__). Start from the ``Settings`` class.
|
|
|
|
|
|
|
|
|
|
For example, ``settings.ri_host`` becomes ``RI_HOST``, and
|
|
|
|
|
``settings.zmq_settings.ri_communication_address`` becomes
|
|
|
|
|
``ZMQ_SETTINGS__RI_COMMUNICATION_ADDRESS``.
|
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
from pydantic import BaseModel
|
|
|
|
|
from pydantic_settings import BaseSettings, SettingsConfigDict
|
|
|
|
|
|
|
|
|
|
@@ -8,15 +17,16 @@ class ZMQSettings(BaseModel):
|
|
|
|
|
|
|
|
|
|
:ivar internal_pub_address: Address for the internal PUB socket.
|
|
|
|
|
:ivar internal_sub_address: Address for the internal SUB socket.
|
|
|
|
|
:ivar ri_command_address: Address for sending commands to the Robot Interface.
|
|
|
|
|
:ivar ri_communication_address: Address for receiving communication from the Robot Interface.
|
|
|
|
|
:ivar vad_agent_address: Address for the Voice Activity Detection (VAD) agent.
|
|
|
|
|
:ivar ri_communication_address: Address for the endpoint that the Robot Interface connects to.
|
|
|
|
|
:ivar vad_pub_address: Address that the VAD agent binds to and publishes audio segments to.
|
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
# ATTENTION: When adding/removing settings, make sure to update the .env.example file
|
|
|
|
|
|
|
|
|
|
internal_pub_address: str = "tcp://localhost:5560"
|
|
|
|
|
internal_sub_address: str = "tcp://localhost:5561"
|
|
|
|
|
ri_command_address: str = "tcp://localhost:0000"
|
|
|
|
|
ri_communication_address: str = "tcp://*:5555"
|
|
|
|
|
vad_pub_address: str = "inproc://vad_stream"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class AgentSettings(BaseModel):
|
|
|
|
|
@@ -35,6 +45,8 @@ class AgentSettings(BaseModel):
|
|
|
|
|
:ivar robot_speech_name: Name of the Robot Speech Agent.
|
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
# ATTENTION: When adding/removing settings, make sure to update the .env.example file
|
|
|
|
|
|
|
|
|
|
# agent names
|
|
|
|
|
bdi_core_name: str = "bdi_core_agent"
|
|
|
|
|
bdi_belief_collector_name: str = "belief_collector_agent"
|
|
|
|
|
@@ -64,6 +76,8 @@ class BehaviourSettings(BaseModel):
|
|
|
|
|
:ivar transcription_token_buffer: Buffer for transcription tokens.
|
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
# ATTENTION: When adding/removing settings, make sure to update the .env.example file
|
|
|
|
|
|
|
|
|
|
sleep_s: float = 1.0
|
|
|
|
|
comm_setup_max_retries: int = 5
|
|
|
|
|
socket_poller_timeout_ms: int = 100
|
|
|
|
|
@@ -88,6 +102,8 @@ class LLMSettings(BaseModel):
|
|
|
|
|
:ivar local_llm_model: Name of the local LLM model to use.
|
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
# ATTENTION: When adding/removing settings, make sure to update the .env.example file
|
|
|
|
|
|
|
|
|
|
local_llm_url: str = "http://localhost:1234/v1/chat/completions"
|
|
|
|
|
local_llm_model: str = "gpt-oss"
|
|
|
|
|
|
|
|
|
|
@@ -101,6 +117,8 @@ class VADSettings(BaseModel):
|
|
|
|
|
:ivar sample_rate_hz: Sample rate in Hz for the VAD model.
|
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
# ATTENTION: When adding/removing settings, make sure to update the .env.example file
|
|
|
|
|
|
|
|
|
|
repo_or_dir: str = "snakers4/silero-vad"
|
|
|
|
|
model_name: str = "silero_vad"
|
|
|
|
|
sample_rate_hz: int = 16000
|
|
|
|
|
@@ -114,6 +132,8 @@ class SpeechModelSettings(BaseModel):
|
|
|
|
|
:ivar openai_model_name: Model name for OpenAI-based speech recognition.
|
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
# ATTENTION: When adding/removing settings, make sure to update the .env.example file
|
|
|
|
|
|
|
|
|
|
# model identifiers for speech recognition
|
|
|
|
|
mlx_model_name: str = "mlx-community/whisper-small.en-mlx"
|
|
|
|
|
openai_model_name: str = "small.en"
|
|
|
|
|
@@ -125,7 +145,7 @@ class Settings(BaseSettings):
|
|
|
|
|
|
|
|
|
|
:ivar app_title: Title of the application.
|
|
|
|
|
:ivar ui_url: URL of the frontend UI.
|
|
|
|
|
:ivar ui_url: The hostname of the Robot Interface.
|
|
|
|
|
:ivar ri_host: The hostname of the Robot Interface.
|
|
|
|
|
:ivar zmq_settings: ZMQ configuration.
|
|
|
|
|
:ivar agent_settings: Agent name configuration.
|
|
|
|
|
:ivar behaviour_settings: Behavior configuration.
|
|
|
|
|
|