Skip to content

Class: JinjaTemplateChatWrapper

Defined in: chatWrappers/generic/JinjaTemplateChatWrapper.ts:147

A chat wrapper based on a Jinja template. Useful for using the original model's Jinja template as-is without any additional conversion work to chat with a model.

If you want to create a new chat wrapper from scratch, using this chat wrapper is not recommended, and instead you better inherit from the ChatWrapper class and implement a custom chat wrapper of your own in TypeScript.

For a simpler way to create a chat wrapper, see the TemplateChatWrapper class.

Example

ts
import {JinjaTemplateChatWrapper} from "node-llama-cpp";

const chatWrapper = new JinjaTemplateChatWrapper({
    template: "<Jinja template here>",
    // functionCallMessageTemplate: { // optional
    //     call: "[[call: {{functionName}}({{functionParams}})]]",
    //     result: " [[result: {{functionCallResult}}]]"
    // },
    // segments: {
    //     thoughtTemplate: "<think>{{content}}</think>",
    //     reopenThoughtAfterFunctionCalls: true
    // }
});

Extends

Constructors

new JinjaTemplateChatWrapper()

ts
new JinjaTemplateChatWrapper(options: JinjaTemplateChatWrapperOptions): JinjaTemplateChatWrapper

Defined in: chatWrappers/generic/JinjaTemplateChatWrapper.ts:170

Parameters

ParameterTypeDescription
optionsJinjaTemplateChatWrapperOptions

Returns

JinjaTemplateChatWrapper

Overrides

ChatWrapper.constructor

Properties

defaultSettings

ts
static defaultSettings: ChatWrapperSettings;

Defined in: ChatWrapper.ts:14

Inherited from

ChatWrapper.defaultSettings


wrapperName

ts
readonly wrapperName: "JinjaTemplate" = "JinjaTemplate";

Defined in: chatWrappers/generic/JinjaTemplateChatWrapper.ts:148

Overrides

ChatWrapper.wrapperName


settings

ts
readonly settings: ChatWrapperSettings;

Defined in: chatWrappers/generic/JinjaTemplateChatWrapper.ts:149

Overrides

ChatWrapper.settings


template

ts
readonly template: string;

Defined in: chatWrappers/generic/JinjaTemplateChatWrapper.ts:151


modelRoleName

ts
readonly modelRoleName: string;

Defined in: chatWrappers/generic/JinjaTemplateChatWrapper.ts:152


userRoleName

ts
readonly userRoleName: string;

Defined in: chatWrappers/generic/JinjaTemplateChatWrapper.ts:153


systemRoleName

ts
readonly systemRoleName: string;

Defined in: chatWrappers/generic/JinjaTemplateChatWrapper.ts:154


convertUnsupportedSystemMessagesToUserMessages?

ts
readonly optional convertUnsupportedSystemMessagesToUserMessages: JinjaTemplateChatWrapperOptionsConvertMessageFormat;

Defined in: chatWrappers/generic/JinjaTemplateChatWrapper.ts:155


joinAdjacentMessagesOfTheSameType

ts
readonly joinAdjacentMessagesOfTheSameType: boolean;

Defined in: chatWrappers/generic/JinjaTemplateChatWrapper.ts:156


trimLeadingWhitespaceInResponses

ts
readonly trimLeadingWhitespaceInResponses: boolean;

Defined in: chatWrappers/generic/JinjaTemplateChatWrapper.ts:157


additionalRenderParameters?

ts
readonly optional additionalRenderParameters: Record<string, any>;

Defined in: chatWrappers/generic/JinjaTemplateChatWrapper.ts:158

Accessors

usingJinjaFunctionCallTemplate

Get Signature

ts
get usingJinjaFunctionCallTemplate(): boolean

Defined in: chatWrappers/generic/JinjaTemplateChatWrapper.ts:364

Whether the function call syntax settings were extracted from the given Jinja template.

The function call syntax settings can be accessed using the .settings.functions property.

Returns

boolean

Methods

generateFunctionCallsAndResults()

ts
generateFunctionCallsAndResults(functionCalls: ChatModelFunctionCall[], useRawCall: boolean): LlamaText

Defined in: ChatWrapper.ts:60

Parameters

ParameterTypeDefault value
functionCallsChatModelFunctionCall[]undefined
useRawCallbooleantrue

Returns

LlamaText

Inherited from

ChatWrapper.generateFunctionCallsAndResults


generateModelResponseText()

ts
generateModelResponseText(modelResponse: (
  | string
  | ChatModelFunctionCall
  | ChatModelSegment)[], useRawValues: boolean): LlamaText

Defined in: ChatWrapper.ts:148

Parameters

ParameterTypeDefault value
modelResponse( | string | ChatModelFunctionCall | ChatModelSegment)[]undefined
useRawValuesbooleantrue

Returns

LlamaText

Inherited from

ChatWrapper.generateModelResponseText


generateAvailableFunctionsSystemText()

ts
generateAvailableFunctionsSystemText(availableFunctions: ChatModelFunctions, __namedParameters: {
  documentParams: boolean;
 }): LlamaText

Defined in: ChatWrapper.ts:231

Parameters

ParameterType
availableFunctionsChatModelFunctions
__namedParameters{ documentParams: boolean; }
__namedParameters.documentParams?boolean

Returns

LlamaText

Inherited from

ChatWrapper.generateAvailableFunctionsSystemText


generateInitialChatHistory()

ts
generateInitialChatHistory(__namedParameters: ChatWrapperGenerateInitialHistoryOptions): ChatHistoryItem[]

Defined in: ChatWrapper.ts:278

Parameters

ParameterType
__namedParametersChatWrapperGenerateInitialHistoryOptions

Returns

ChatHistoryItem[]

Inherited from

ChatWrapper.generateInitialChatHistory


generateContextState()

ts
generateContextState(__namedParameters: ChatWrapperGenerateContextStateOptions): ChatWrapperGeneratedContextState & {
  transformedSystemMessagesToUserMessages: boolean;
}

Defined in: chatWrappers/generic/JinjaTemplateChatWrapper.ts:368

Parameters

ParameterType
__namedParametersChatWrapperGenerateContextStateOptions

Returns

ChatWrapperGeneratedContextState & { transformedSystemMessagesToUserMessages: boolean; }

Overrides

ChatWrapper.generateContextState


addAvailableFunctionsSystemMessageToHistory()

ts
addAvailableFunctionsSystemMessageToHistory(
   history: readonly ChatHistoryItem[], 
   availableFunctions?: ChatModelFunctions, 
   options?: {
  documentParams: boolean;
 }): readonly ChatHistoryItem[]

Defined in: chatWrappers/generic/JinjaTemplateChatWrapper.ts:383

Parameters

ParameterType
historyreadonly ChatHistoryItem[]
availableFunctions?ChatModelFunctions
options?{ documentParams: boolean; }
options.documentParams?boolean

Returns

readonly ChatHistoryItem[]

Overrides

ChatWrapper.addAvailableFunctionsSystemMessageToHistory


generateFunctionCall()

ts
generateFunctionCall(name: string, params: any): LlamaText

Defined in: chatWrappers/generic/JinjaTemplateChatWrapper.ts:394

Parameters

ParameterType
namestring
paramsany

Returns

LlamaText

Overrides

ChatWrapper.generateFunctionCall


generateFunctionCallResult()

ts
generateFunctionCallResult(
   functionName: string, 
   functionParams: any, 
   result: any): LlamaText

Defined in: chatWrappers/generic/JinjaTemplateChatWrapper.ts:414

Parameters

ParameterType
functionNamestring
functionParamsany
resultany

Returns

LlamaText

Overrides

ChatWrapper.generateFunctionCallResult