Merge pull request #3601 from pipecat-ai/mb/add-22-release-evals

Add 22 foundational to release evals
This commit is contained in:
Mark Backman
2026-01-30 15:31:54 -05:00
committed by GitHub
3 changed files with 14 additions and 7 deletions

View File

@@ -49,24 +49,20 @@ from pipecat.turns.user_turn_strategies import UserTurnStrategies
load_dotenv(override=True) load_dotenv(override=True)
# We store functions so objects (e.g. SileroVADAnalyzer) don't get # We use lambdas to defer transport parameter creation until the transport
# instantiated. The function will be called when the desired transport gets # type is selected at runtime.
# selected.
transport_params = { transport_params = {
"daily": lambda: DailyParams( "daily": lambda: DailyParams(
audio_in_enabled=True, audio_in_enabled=True,
audio_out_enabled=True, audio_out_enabled=True,
vad_analyzer=SileroVADAnalyzer(params=VADParams(stop_secs=0.2)),
), ),
"twilio": lambda: FastAPIWebsocketParams( "twilio": lambda: FastAPIWebsocketParams(
audio_in_enabled=True, audio_in_enabled=True,
audio_out_enabled=True, audio_out_enabled=True,
vad_analyzer=SileroVADAnalyzer(params=VADParams(stop_secs=0.2)),
), ),
"webrtc": lambda: TransportParams( "webrtc": lambda: TransportParams(
audio_in_enabled=True, audio_in_enabled=True,
audio_out_enabled=True, audio_out_enabled=True,
vad_analyzer=SileroVADAnalyzer(params=VADParams(stop_secs=0.2)),
), ),
} }
@@ -97,6 +93,7 @@ async def run_bot(transport: BaseTransport, runner_args: RunnerArguments):
user_turn_strategies=UserTurnStrategies( user_turn_strategies=UserTurnStrategies(
stop=[TurnAnalyzerUserTurnStopStrategy(turn_analyzer=LocalSmartTurnAnalyzerV3())] stop=[TurnAnalyzerUserTurnStopStrategy(turn_analyzer=LocalSmartTurnAnalyzerV3())]
), ),
vad_analyzer=SileroVADAnalyzer(params=VADParams(stop_secs=0.2)),
# Enable turn completion filtering - the LLM will output: # Enable turn completion filtering - the LLM will output:
# ✓ = complete (respond normally) # ✓ = complete (respond normally)
# ○ = incomplete short (wait 5s, then prompt) # ○ = incomplete short (wait 5s, then prompt)

View File

@@ -313,7 +313,7 @@ async def run_eval_pipeline(
context_aggregator = LLMContextAggregatorPair( context_aggregator = LLMContextAggregatorPair(
context, context,
user_params=LLMUserAggregatorParams( user_params=LLMUserAggregatorParams(
vad_analyzer=SileroVADAnalyzer(), vad_analyzer=SileroVADAnalyzer(params=VADParams(stop_secs=2.0)),
), ),
) )

View File

@@ -90,6 +90,11 @@ EVAL_ORDER = EvalConfig(
eval_speaks_first=True, eval_speaks_first=True,
) )
EVAL_COMPLETE_TURN = EvalConfig(
prompt="I would go to Japan because I love the culture and want to try authentic ramen.",
eval="The user provides a relevant response about Japan or travel, showing the conversation continues normally.",
)
TESTS_07 = [ TESTS_07 = [
# 07 series # 07 series
@@ -210,6 +215,10 @@ TESTS_21 = [
("21a-tavus-video-service.py", EVAL_SIMPLE_MATH), ("21a-tavus-video-service.py", EVAL_SIMPLE_MATH),
] ]
TESTS_22 = [
("22-filter-incomplete-turns.py", EVAL_COMPLETE_TURN),
]
TESTS_26 = [ TESTS_26 = [
("26-gemini-live.py", EVAL_SIMPLE_MATH), ("26-gemini-live.py", EVAL_SIMPLE_MATH),
("26a-gemini-live-transcription.py", EVAL_SIMPLE_MATH), ("26a-gemini-live-transcription.py", EVAL_SIMPLE_MATH),
@@ -266,6 +275,7 @@ TESTS = [
*TESTS_15, *TESTS_15,
*TESTS_19, *TESTS_19,
*TESTS_21, *TESTS_21,
*TESTS_22,
*TESTS_26, *TESTS_26,
*TESTS_27, *TESTS_27,
*TESTS_40, *TESTS_40,