TemplateSection class

A template section that will be rendered as a message.

Extends

Remarks

This section type is used to render a template as a message. The template can contain parameters that will be replaced with values from memory or call functions to generate dynamic content.

Template syntax:

  • {{$memoryKey}} - Renders the value of the specified memory key.
  • {{functionName}} - Calls the specified function and renders the result.
  • {{functionName arg1 arg2 ...}} - Calls the specified function with the provided list of arguments.

Function arguments are optional and separated by spaces. They can be quoted using ', ", or ``` delimiters.

Constructors

TemplateSection(string, string, number, boolean, string, string)

Creates a new 'TemplateSection' instance.

Properties

role
template

Inherited Properties

required

If true the section is mandatory otherwise it can be safely dropped.

separator
textPrefix
tokens

The requested token budget for this section.

  • Values between 0.0 and 1.0 represent a percentage of the total budget and the section will be layed out proportionally to all other sections.
  • Values greater than 1.0 represent the max number of tokens the section should be allowed to consume.

Inherited Methods

getMessageText(Message<string>)

Returns the content of a message as a string.

renderAsText(TurnContext, Memory, PromptFunctions, Tokenizer, number)

Renders the prompt section as a string of text.

Constructor Details

TemplateSection(string, string, number, boolean, string, string)

Creates a new 'TemplateSection' instance.

new TemplateSection(template: string, role: string, tokens?: number, required?: boolean, separator?: string, textPrefix?: string)

Parameters

template

string

Template to use for this section.

role

string

Message role to use for this section.

tokens

number

Optional. Sizing strategy for this section. Defaults to auto.

required

boolean

Optional. Indicates if this section is required. Defaults to true.

separator

string

Optional. Separator to use between sections when rendering as text. Defaults to \n.

textPrefix

string

Optional. Prefix to use for text output. Defaults to undefined.

Property Details

role

role: string

Property Value

string

template

template: string

Property Value

string

Inherited Property Details

required

If true the section is mandatory otherwise it can be safely dropped.

required: boolean

Property Value

boolean

Inherited From PromptSectionBase.required

separator

separator: string

Property Value

string

Inherited From PromptSectionBase.separator

textPrefix

textPrefix: string

Property Value

string

Inherited From PromptSectionBase.textPrefix

tokens

The requested token budget for this section.

  • Values between 0.0 and 1.0 represent a percentage of the total budget and the section will be layed out proportionally to all other sections.
  • Values greater than 1.0 represent the max number of tokens the section should be allowed to consume.
tokens: number

Property Value

number

Inherited From PromptSectionBase.tokens

Inherited Method Details

getMessageText(Message<string>)

Returns the content of a message as a string.

static function getMessageText(message: Message<string>): string

Parameters

message

Message<string>

Message to get the text of.

Returns

string

The message content as a string.

Inherited From PromptSectionBase.getMessageText

renderAsText(TurnContext, Memory, PromptFunctions, Tokenizer, number)

Renders the prompt section as a string of text.

function renderAsText(context: TurnContext, memory: Memory, functions: PromptFunctions, tokenizer: Tokenizer, maxTokens: number): Promise<RenderedPromptSection<string>>

Parameters

context

TurnContext

Context for the current turn of conversation.

memory
Memory

Interface for accessing state variables.

functions
PromptFunctions

Functions for rendering prompts.

tokenizer
Tokenizer

Tokenizer to use for encoding/decoding text.

maxTokens

number

Maximum number of tokens allowed for the rendered prompt.

Returns

Promise<RenderedPromptSection<string>>

The rendered prompt section.

Inherited From PromptSectionBase.renderAsText