MessagePlaceholder class final

Prompt template that accepts one ChatMessage or an ordered message list (ChatMessageType.messagePlaceholder).

This is useful when the value can be either a single runtime-selected message or a group of messages that must stay at the same prompt position.

Example:

ChatPromptTemplate.fromPromptMessages([
  ChatMessagePromptTemplate.system('You are a helpful AI assistant'),
  ChatMessagePromptTemplate.messagesPlaceholder('history'),
  ChatMessagePromptTemplate.messagePlaceholder('input'),
]);

Alternatively, you can use ChatPromptTemplate.fromTemplates to achieve the same result.

final promptTemplate = ChatPromptTemplate.fromTemplates([
  (ChatMessageType.system, 'You are a helpful AI assistant'),
  (ChatMessageType.messagesPlaceholder, 'history'),
  (ChatMessageType.messagePlaceholder, 'input'),
]);
Inheritance
Annotations
  • @immutable

Constructors

MessagePlaceholder({required String variableName})
Prompt template that accepts one ChatMessage or an ordered message list (ChatMessageType.messagePlaceholder).
const

Properties

defaultOptions BaseLangChainOptions
The default options to use when invoking the Runnable.
finalinherited
hashCode int
The hash code for this object.
no setterinherited
inputVariables Set<String>
Input variables of all the messages in the prompt template.
no setteroverride
partialVariables PartialValues?
Partial variables.
no setteroverride
prompt BasePromptTemplate
The prompt template for the message.
finalinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
variableName String
The name of the placeholder variable.
final

Methods

batch(List<InputValues> inputs, {List<BaseLangChainOptions>? options}) Future<List<List<ChatMessage>>>
Batches the invocation of the Runnable on the given inputs.
inherited
bind(BaseLangChainOptions options) RunnableBinding<InputValues, BaseLangChainOptions, List<ChatMessage>>
Binds the Runnable to the given options.
inherited
close() → void
Cleans up any resources associated with it the Runnable.
inherited
copyWith({BasePromptTemplate? prompt, String? variableName}) ChatMessagePromptTemplate
Return a new ChatMessagePromptTemplate instance with the given values.
override
formatMessages([Map<String, dynamic> values = const {}]) List<ChatMessage>
Format the prompt with the inputs returning a list of messages.
override
getCompatibleOptions(RunnableOptions? options) BaseLangChainOptions?
Returns the given options if they are compatible with the Runnable, otherwise returns null.
inherited
invoke(InputValues input, {BaseLangChainOptions? options}) Future<List<ChatMessage>>
Format the prompt with the inputs returning a list of messages.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
pipe<NewRunOutput extends Object?, NewCallOptions extends RunnableOptions>(Runnable<List<ChatMessage>, NewCallOptions, NewRunOutput> next) RunnableSequence<InputValues, NewRunOutput>
Pipes the output of this Runnable into another Runnable using a RunnableSequence.
inherited
stream(InputValues input, {BaseLangChainOptions? options}) Stream<List<ChatMessage>>
Streams the output of invoking the Runnable on the given input.
inherited
streamFromInputStream(Stream<InputValues> inputStream, {BaseLangChainOptions? options}) Stream<List<ChatMessage>>
Streams the output of invoking the Runnable on the given inputStream.
inherited
toString() String
A string representation of this object.
override
withFallbacks(List<Runnable<InputValues, RunnableOptions, List<ChatMessage>>> fallbacks) RunnableWithFallback<InputValues, List<ChatMessage>>
Adds fallback runnables to be invoked if the primary runnable fails.
inherited
withRetry({int maxRetries = 3, FutureOr<bool> retryIf(Object e)?, List<Duration?>? delayDurations, bool addJitter = false}) RunnableRetry<InputValues, List<ChatMessage>>
Adds retry logic to an existing runnable.
inherited

Operators

operator ==(covariant ChatMessagePromptTemplate other) bool
The equality operator.
inherited