- Added
TwoLayerLLMService(pipecat.pipeline.two_layer_llm_service), which makes any LLM service, text or speech-to-speech, the conversational frontend of a two-layer bot, with aBackendLLMWorkeras the backend that does the work it hands off: the splitOpenAILiveLLMServiceuses for client delegation, for any frontend. The service drops into a pipeline's LLM slot, installs thedelegatetool on the frontend and registers a local backend worker itself; a backend given by name may run in another process on a shared bus. ABackendConnectorsets how delegation works from aBackendRequestStrategy, which defines the tool and what it sends (TranscriptBackendRequestStrategy: the conversation since the previous delegation;ExplicitBackendRequestStrategy: a request the model words itself), and aBackendReplyStrategy, which sets what the frontend hears of the backend's progress (StrictSpeechFlagBackendReplyStrategy: spoken as the backend'sprefers_spokenflag says;AdvisorySpeechFlagBackendReplyStrategy: the flag passed on for the frontend to weigh, with a silence marker it can answer with;FinalOnlyBackendReplyStrategy: the answer only). Defaults are picked by frontend kind. Seeexamples/multi-worker/two-layer/.