Skip to content

Class: JinjaTemplateChatWrapper

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

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

Constructor

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

Parameters

ParameterTypeDescription
optionsJinjaTemplateChatWrapperOptions-

Returns

JinjaTemplateChatWrapper

Overrides

ChatWrapper.constructor

Properties

defaultSettings

ts
static defaultSettings: ChatWrapperSettings;

Defined in: ChatWrapper.ts:15

Inherited from

ChatWrapper.defaultSettings


wrapperName

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

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

Overrides

ChatWrapper.wrapperName


settings

ts
readonly settings: ChatWrapperSettings;

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

Overrides

ChatWrapper.settings


template

ts
readonly template: string;

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


reasoning

ts
readonly reasoning: boolean | null;

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


modelRoleName

ts
readonly modelRoleName: string;

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


userRoleName

ts
readonly userRoleName: string;

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


systemRoleName

ts
readonly systemRoleName: string;

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


convertUnsupportedSystemMessagesToUserMessages?

ts
readonly optional convertUnsupportedSystemMessagesToUserMessages: JinjaTemplateChatWrapperOptionsConvertMessageFormat;

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


joinAdjacentMessagesOfTheSameType

ts
readonly joinAdjacentMessagesOfTheSameType: boolean;

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


trimLeadingWhitespaceInResponses

ts
readonly trimLeadingWhitespaceInResponses: boolean;

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


keepOnlyLastThought

ts
readonly keepOnlyLastThought: boolean;

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


additionalRenderParameters?

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

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

Accessors

usingJinjaFunctionCallTemplate

Get Signature

ts
get usingJinjaFunctionCallTemplate(): boolean;

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

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:63

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:158

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:243

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:290

Parameters

ParameterType
__namedParametersChatWrapperGenerateInitialHistoryOptions

Returns

ChatHistoryItem[]

Inherited from

ChatWrapper.generateInitialChatHistory


generateContextState()

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

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

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:460

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:471

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:491

Parameters

ParameterType
functionNamestring
functionParamsany
resultany

Returns

LlamaText

Overrides

ChatWrapper.generateFunctionCallResult