Skip to content

Class: JinjaTemplateChatWrapper

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

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

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

Overrides

ChatWrapper.wrapperName


settings

ts
readonly settings: ChatWrapperSettings;

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

Overrides

ChatWrapper.settings


template

ts
readonly template: string;

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


reasoning

ts
readonly reasoning: boolean | null;

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


modelRoleName

ts
readonly modelRoleName: string;

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


userRoleName

ts
readonly userRoleName: string;

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


systemRoleName

ts
readonly systemRoleName: string;

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


convertUnsupportedSystemMessagesToUserMessages?

ts
readonly optional convertUnsupportedSystemMessagesToUserMessages: JinjaTemplateChatWrapperOptionsConvertMessageFormat;

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


joinAdjacentMessagesOfTheSameType

ts
readonly joinAdjacentMessagesOfTheSameType: boolean;

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


trimLeadingWhitespaceInResponses

ts
readonly trimLeadingWhitespaceInResponses: boolean;

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


keepOnlyLastThought

ts
readonly keepOnlyLastThought: boolean;

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


additionalRenderParameters?

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

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

Accessors

usingJinjaFunctionCallTemplate

Get Signature

ts
get usingJinjaFunctionCallTemplate(): boolean;

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

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

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

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

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

Parameters

ParameterType
functionNamestring
functionParamsany
resultany

Returns

LlamaText

Overrides

ChatWrapper.generateFunctionCallResult