mirror of
https://github.com/dograh-hq/dograh.git
synced 2026-06-16 08:25:18 +02:00
fix: fix variable extraction during pipeline execution flow
This commit is contained in:
parent
0e70a77f17
commit
6b408e588c
7 changed files with 352 additions and 62 deletions
|
|
@ -182,7 +182,7 @@ class CampaignCallDispatcher:
|
|||
# Get provider first to determine the mode
|
||||
provider = await self.get_telephony_provider(campaign.organization_id)
|
||||
workflow_run_mode = provider.PROVIDER_NAME
|
||||
|
||||
|
||||
logger.info(f"Provider name: {provider.PROVIDER_NAME}")
|
||||
logger.info(f"Queued run context: {queued_run.context_variables}")
|
||||
|
||||
|
|
@ -193,7 +193,7 @@ class CampaignCallDispatcher:
|
|||
"campaign_id": campaign.id,
|
||||
"provider": provider.PROVIDER_NAME,
|
||||
}
|
||||
|
||||
|
||||
logger.info(f"Final initial_context: {initial_context}")
|
||||
|
||||
# Create workflow run with queued_run_id tracking
|
||||
|
|
|
|||
|
|
@ -199,6 +199,13 @@ class PipecatEngine:
|
|||
f"Function: {name} -> transitioning to node: {transition_to_node}"
|
||||
)
|
||||
logger.info(f"Arguments: {function_call_params.arguments}")
|
||||
|
||||
# Perform variable extraction before transitioning to new node
|
||||
await self._perform_variable_extraction_if_needed(self._current_node)
|
||||
|
||||
# Set context for the new node, so that when the function call result
|
||||
# frame is received by LLMContextAggregator and an LLM generation
|
||||
# is done, we have updated context and functions
|
||||
await self.set_node(transition_to_node)
|
||||
try:
|
||||
|
||||
|
|
@ -208,11 +215,6 @@ class PipecatEngine:
|
|||
This way, when we do set_node from within this function, and go for LLM completion with updated
|
||||
system prompts, the context is updated with function call result.
|
||||
"""
|
||||
# Perform variable extraction before transitioning to new node
|
||||
await self._perform_variable_extraction_if_needed(
|
||||
self._current_node
|
||||
)
|
||||
|
||||
# Queue EndFrame if we just transitioned to EndNode
|
||||
if self._current_node.is_end:
|
||||
await self.send_end_task_frame(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue