PipelinePromptTemplate constructor

PipelinePromptTemplate({
  1. required BasePromptTemplate finalPrompt,
  2. required List<(String, BasePromptTemplate)> pipelinePrompts,
})

A prompt template for composing multiple prompts together.

This can be useful when you want to reuse parts of prompts. A PipelinePromptTemplate consists of two main parts:

Example:

final promptA = PromptTemplate.fromTemplate('{foo}');
final promptB = PromptTemplate.fromTemplate('{bar}');
final pipelinePromptTemplate = PipelinePromptTemplate(
  finalPrompt: promptB,
  pipelinePrompts: [('bar', promptA)],
);
final prompt = pipelinePromptTemplate.formatPrompt({'foo': 'jim'});
final res = await llm.invoke(prompt);

Implementation

PipelinePromptTemplate({
  required this.finalPrompt,
  required this.pipelinePrompts,
}) : super(
        inputVariables: _computeInputValues(finalPrompt, pipelinePrompts),
      );