Add environment variables throughout the code base to support Docker compose integration. ref: N25B-280
49 lines
1.4 KiB
Python
49 lines
1.4 KiB
Python
import os
|
|
|
|
from pydantic import BaseModel
|
|
from pydantic_settings import BaseSettings, SettingsConfigDict
|
|
|
|
|
|
class ZMQSettings(BaseModel):
|
|
internal_pub_address: str = "tcp://localhost:5560"
|
|
internal_sub_address: str = "tcp://localhost:5561"
|
|
|
|
external_host: str = "0.0.0.0"
|
|
|
|
|
|
class AgentSettings(BaseModel):
|
|
host: str = os.environ.get("XMPP_HOST", "localhost")
|
|
bdi_core_agent_name: str = "bdi_core"
|
|
belief_collector_agent_name: str = "belief_collector"
|
|
text_belief_extractor_agent_name: str = "text_belief_extractor"
|
|
vad_agent_name: str = "vad_agent"
|
|
llm_agent_name: str = "llm_agent"
|
|
test_agent_name: str = "test_agent"
|
|
transcription_agent_name: str = "transcription_agent"
|
|
program_manager_agent_name: str = "program_manager"
|
|
|
|
ri_communication_agent_name: str = "ri_communication_agent"
|
|
ri_command_agent_name: str = "ri_command_agent"
|
|
|
|
|
|
class LLMSettings(BaseModel):
|
|
local_llm_url: str = os.environ.get("LLM_URL", "http://localhost:1234/v1/") + "chat/completions"
|
|
local_llm_model: str = os.environ.get("LLM_MODEL", "openai/gpt-oss-20b")
|
|
|
|
|
|
class Settings(BaseSettings):
|
|
app_title: str = "PepperPlus"
|
|
|
|
ui_url: str = "http://localhost:5173"
|
|
|
|
zmq_settings: ZMQSettings = ZMQSettings()
|
|
|
|
agent_settings: AgentSettings = AgentSettings()
|
|
|
|
llm_settings: LLMSettings = LLMSettings()
|
|
|
|
model_config = SettingsConfigDict(env_file=".env")
|
|
|
|
|
|
settings = Settings()
|