feat: beaver first commit
This commit is contained in:
@ -686,18 +686,16 @@ async def entrypoint(ctx: JobContext) -> None:
|
||||
stt_stream = stt.StreamAdapter(stt=blackbox_stt, vad=ctx.proc.userdata["vad"])
|
||||
|
||||
if LLM_PROVIDER == "beaver":
|
||||
beaver_url = os.getenv("CUSTOM_BEAVER_WS_URL") or os.getenv("BEAVER_WS_URL", "").strip()
|
||||
beaver_url = _first_env("CUSTOM_BEAVER_WS_URL", "BEAVER_WS_URL")
|
||||
if not beaver_url:
|
||||
raise RuntimeError(f"CUSTOM_BEAVER_WS_URL or BEAVER_WS_URL is not set in {CUSTOM_ENV_PATH}")
|
||||
|
||||
beaver_peer_id = (
|
||||
os.getenv("CUSTOM_BEAVER_PEER_ID")
|
||||
or os.getenv("BEAVER_PEER_ID")
|
||||
_first_env("CUSTOM_BEAVER_PEER_ID", "BEAVER_PEER_ID", "TERMINAL_PEER_ID")
|
||||
or f"livekit-{ctx.room.name}"
|
||||
)
|
||||
beaver_device_name = (
|
||||
os.getenv("CUSTOM_BEAVER_DEVICE_NAME")
|
||||
or os.getenv("BEAVER_DEVICE_NAME")
|
||||
_first_env("CUSTOM_BEAVER_DEVICE_NAME", "BEAVER_DEVICE_NAME", "TERMINAL_DEVICE_NAME")
|
||||
or "livekit-custom-agent"
|
||||
)
|
||||
base_llm = BeaverLLM(
|
||||
@ -709,10 +707,11 @@ async def entrypoint(ctx: JobContext) -> None:
|
||||
text_llm = base_llm
|
||||
vision_llm = base_llm
|
||||
logger.info(
|
||||
"Using Beaver gateway url=%s peer_id=%s device_name=%s",
|
||||
"Using Beaver gateway url=%s peer_id=%s device_name=%s room=%s",
|
||||
beaver_url,
|
||||
beaver_peer_id,
|
||||
beaver_device_name,
|
||||
ctx.room.name,
|
||||
)
|
||||
elif LLM_PROVIDER in {"hermes", "hermes_gateway", "openclaw"}:
|
||||
gateway_url = os.getenv("CUSTOM_HERMES_GATEWAY_URL", "").strip()
|
||||
@ -1000,6 +999,14 @@ def _env_bool(name: str, default: bool) -> bool:
|
||||
return default
|
||||
|
||||
|
||||
def _first_env(*names: str) -> str | None:
|
||||
for name in names:
|
||||
value = os.getenv(name)
|
||||
if value and value.strip():
|
||||
return value.strip()
|
||||
return None
|
||||
|
||||
|
||||
def _recording_options_from_env() -> RecordingOptions:
|
||||
return RecordingOptions(
|
||||
audio=_env_bool("CUSTOM_RECORD_AUDIO", False),
|
||||
|
||||
Reference in New Issue
Block a user