Skip to content

Class: JinjaTemplateChatWrapper

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

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

ts
new JinjaTemplateChatWrapper(options: JinjaTemplateChatWrapperOptions): JinjaTemplateChatWrapper;

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

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

Overrides

ChatWrapper.wrapperName


settings

ts
readonly settings: ChatWrapperSettings;

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

Overrides

ChatWrapper.settings


template

ts
readonly template: string;

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


modelRoleName

ts
readonly modelRoleName: string;

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


userRoleName

ts
readonly userRoleName: string;

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


systemRoleName

ts
readonly systemRoleName: string;

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


convertUnsupportedSystemMessagesToUserMessages?

ts
readonly optional convertUnsupportedSystemMessagesToUserMessages: JinjaTemplateChatWrapperOptionsConvertMessageFormat;

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


joinAdjacentMessagesOfTheSameType

ts
readonly joinAdjacentMessagesOfTheSameType: boolean;

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


trimLeadingWhitespaceInResponses

ts
readonly trimLeadingWhitespaceInResponses: boolean;

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


additionalRenderParameters?

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

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

Accessors

usingJinjaFunctionCallTemplate

Get Signature

ts
get usingJinjaFunctionCallTemplate(): boolean;

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

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

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

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

Parameters

ParameterType
__namedParametersChatWrapperGenerateInitialHistoryOptions

Returns

ChatHistoryItem[]

Inherited from

ChatWrapper.generateInitialChatHistory


generateContextState()

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

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

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

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

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

Parameters

ParameterType
functionNamestring
functionParamsany
resultany

Returns

LlamaText

Overrides

ChatWrapper.generateFunctionCallResult