Add is_local_development utility for a cleaner API to determine if running locally

This commit is contained in:
Mark Backman
2025-07-30 19:50:47 -04:00
parent 0c3e526c19
commit 471311b18f
4 changed files with 29 additions and 16 deletions

View File

@@ -30,6 +30,7 @@ from pipecat.runner.types import (
DailyRunnerArguments,
SmallWebRTCRunnerArguments,
WebSocketRunnerArguments,
is_local_development,
)
from pipecat.services.cartesia.tts import CartesiaTTSService
from pipecat.services.deepgram.stt import DeepgramSTTService
@@ -37,9 +38,6 @@ from pipecat.services.openai.llm import OpenAILLMService
load_dotenv(override=True)
# Check if we're running locally
IS_LOCAL_RUN = os.environ.get("LOCAL_RUN", "0") == "1"
async def run_bot(transport):
"""Main bot logic that works with any transport."""
@@ -111,18 +109,22 @@ async def bot(
if isinstance(session_args, DailyRunnerArguments):
from pipecat.transports.services.daily import DailyParams, DailyTransport
if not IS_LOCAL_RUN:
is_local = is_local_development()
if not is_local:
from pipecat.audio.filters.krisp_filter import KrispFilter
krisp_filter = KrispFilter()
else:
krisp_filter = None
transport = DailyTransport(
session_args.room_url,
session_args.token,
"Pipecat Bot",
params=DailyParams(
audio_in_enabled=True,
audio_in_filter=None
if IS_LOCAL_RUN
else KrispFilter(), # Only use Krisp in production
audio_in_filter=krisp_filter,
audio_out_enabled=True,
vad_analyzer=SileroVADAnalyzer(),
),

View File

@@ -23,6 +23,7 @@ from pipecat.runner.types import (
DailyRunnerArguments,
SmallWebRTCRunnerArguments,
)
from pipecat.runner.utils import is_local_development
from pipecat.services.cartesia.tts import CartesiaTTSService
from pipecat.services.deepgram.stt import DeepgramSTTService
from pipecat.services.openai.llm import OpenAILLMService
@@ -30,10 +31,6 @@ from pipecat.services.openai.llm import OpenAILLMService
load_dotenv(override=True)
# Check if we're running locally
IS_LOCAL_RUN = os.environ.get("LOCAL_RUN", "0") == "1"
async def run_bot(transport):
"""Main bot logic that works with any transport."""
logger.info(f"Starting bot")
@@ -102,18 +99,22 @@ async def bot(session_args: DailyRunnerArguments | SmallWebRTCRunnerArguments):
if isinstance(session_args, DailyRunnerArguments):
from pipecat.transports.services.daily import DailyParams, DailyTransport
if not IS_LOCAL_RUN:
is_local = is_local_development()
if not is_local:
from pipecat.audio.filters.krisp_filter import KrispFilter
krisp_filter = KrispFilter()
else:
krisp_filter = None
transport = DailyTransport(
session_args.room_url,
session_args.token,
"Pipecat Bot",
params=DailyParams(
audio_in_enabled=True,
audio_in_filter=None
if IS_LOCAL_RUN
else KrispFilter(), # Only use Krisp in production
audio_in_filter=krisp_filter,
audio_out_enabled=True,
vad_analyzer=SileroVADAnalyzer(),
),