Skip to content

Parallel node function calls trigger multiple LLM completions #243

@omChauhanDev

Description

@omChauhanDev

When the LLM makes multiple parallel calls to the same node function (common with global_functions), each result triggers a separate LLM completion instead of one aggregated response.

Root cause: Node functions explicitly set run_llm=True on each FunctionCallResultProperties, overriding pipecat's built-in default that waits until all parallel calls complete before running the LLM.

Reproduction: Use a global function (e.g., query_knowledge) and ask a multi-intent question like "Is there a pool and what are the gym timings?" The LLM calls the function twice in parallel and produces two separate responses.

Here's the agent code for reproducing:
https://gist.github.com/rohitkhatri/819871bcb6101469d876c263dab6667f

Originally reported in pipecat-ai/pipecat#3925 but the fix belongs here in pipecat-flows.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions