ConditionalPromptSelector class
Prompt collection that goes through conditionals to select the appropriate prompt template.
You can use this to select a prompt template based on the type of language model (LLM vs. ChatModel) or the specific model used (e.g. GPT-4 vs Gemini Pro).
Example: Selecting a prompt based on the type of language model.
final prompt = PromptTemplate.fromTemplate('''
Use the following pieces of context to answer the question at the end.
{context}
Question: {question}
Helpful Answer:
''');
final chatPrompt = ChatPromptTemplate.fromTemplates([
  (ChatMessageRole.system, 'Use the following pieces of context to answer the users question.\n\n{context}'),
  (ChatMessageRole.human, '{question}'),
]);
final promptSelector = ConditionalPromptSelector(
  defaultPrompt: prompt,
  conditionals: [PromptCondition.isChatModel(chatPrompt)],
);
final prompt = promptSelector.getPrompt(llm);
- Implemented types
Constructors
- 
          ConditionalPromptSelector({required BasePromptTemplate defaultPrompt, List<PromptCondition> conditionals = const []})
- 
          Prompt collection that goes through conditionals to select the appropriate prompt template.
            const
Properties
- 
  conditionals
  → List<PromptCondition> 
- 
  Conditional prompts to use.
  final
- defaultPrompt → BasePromptTemplate
- 
  Default prompt to use if no conditionals match.
  final
- hashCode → int
- 
  The hash code for this object.
  no setterinherited
- runtimeType → Type
- 
  A representation of the runtime type of the object.
  no setterinherited
Methods
- 
  getPrompt(BaseLanguageModel< Object, LanguageModelOptions, LanguageModelResult< llm) → BasePromptTemplateObject> >
- 
  Get default prompt for a language model.
  override
- 
  noSuchMethod(Invocation invocation) → dynamic 
- 
  Invoked when a nonexistent method or property is accessed.
  inherited
- 
  toString() → String 
- 
  A string representation of this object.
  inherited
Operators
- 
  operator ==(Object other) → bool 
- 
  The equality operator.
  inherited