Skip to content

Latest commit

 

History

History
1 lines (1 loc) · 1.22 KB

File metadata and controls

1 lines (1 loc) · 1.22 KB
  • 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 a BackendLLMWorker as the backend that does the work it hands off: the split OpenAILiveLLMService uses for client delegation, for any frontend. The service drops into a pipeline's LLM slot, installs the delegate tool on the frontend and registers a local backend worker itself; a backend given by name may run in another process on a shared bus. A BackendConnector sets how delegation works from a BackendRequestStrategy, which defines the tool and what it sends (TranscriptBackendRequestStrategy: the conversation since the previous delegation; ExplicitBackendRequestStrategy: a request the model words itself), and a BackendReplyStrategy, which sets what the frontend hears of the backend's progress (StrictSpeechFlagBackendReplyStrategy: spoken as the backend's prefers_spoken flag 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. See examples/multi-worker/two-layer/.