Skip to content

Class: JinjaTemplateChatWrapper ​

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

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

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

Overrides ​

ChatWrapper.wrapperName


settings ​

ts
readonly settings: ChatWrapperSettings;

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

Overrides ​

ChatWrapper.settings


template ​

ts
readonly template: string;

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


reasoning ​

ts
readonly reasoning: boolean | null;

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


modelRoleName ​

ts
readonly modelRoleName: string;

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


userRoleName ​

ts
readonly userRoleName: string;

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


systemRoleName ​

ts
readonly systemRoleName: string;

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


convertUnsupportedSystemMessagesToUserMessages? ​

ts
readonly optional convertUnsupportedSystemMessagesToUserMessages: JinjaTemplateChatWrapperOptionsConvertMessageFormat;

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


joinAdjacentMessagesOfTheSameType ​

ts
readonly joinAdjacentMessagesOfTheSameType: boolean;

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


trimLeadingWhitespaceInResponses ​

ts
readonly trimLeadingWhitespaceInResponses: boolean;

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


keepOnlyLastThought ​

ts
readonly keepOnlyLastThought: boolean;

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


additionalRenderParameters? ​

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

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

Accessors ​

usingJinjaFunctionCallTemplate ​

Get Signature ​

ts
get usingJinjaFunctionCallTemplate(): boolean;

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

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

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

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

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

Parameters ​

ParameterType
functionNamestring
functionParamsany
resultany

Returns ​

LlamaText

Overrides ​

ChatWrapper.generateFunctionCallResult