From 3b0d7501aebc4337c807cf674bd28a444c653da8 Mon Sep 17 00:00:00 2001 From: David Date: Thu, 18 Jan 2024 10:36:09 +0100 Subject: [PATCH] feat: system prompt LGTM --- docs/configuration.md | 2 ++ docs/system_prompt.md | 15 +++++++++++ docs/system_prompt/demo.png | Bin 0 -> 77077 bytes docs/system_prompt/settings.png | Bin 0 -> 36063 bytes models.json | 24 +++++++++++++++++- package-lock.json | 6 +++++ .../node-llama-cpp-v2/node-llama-cpp-chat.ts | 7 +++-- .../node-llama-cpp-v2/node-llama-cpp-v2.ts | 5 +++- 8 files changed, 55 insertions(+), 4 deletions(-) create mode 100644 docs/system_prompt.md create mode 100644 docs/system_prompt/demo.png create mode 100644 docs/system_prompt/settings.png create mode 100644 package-lock.json diff --git a/docs/configuration.md b/docs/configuration.md index 3a11d2a..bd7ad14 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -20,6 +20,8 @@ You can config the model by the following steps: [LLamaChatPromptOptions](https://withcatai.github.io/node-llama-cpp/api/type-aliases/LLamaChatPromptOptions) + You can edit the [systemPrompt](system_prompt.md) of the chat too. + 3. Restart the server. ![Restart Button](./configuration/restart-button.png) diff --git a/docs/system_prompt.md b/docs/system_prompt.md new file mode 100644 index 0000000..9bfd2b5 --- /dev/null +++ b/docs/system_prompt.md @@ -0,0 +1,15 @@ +# CatAi system_prompt + +According to https://withcatai.github.io/node-llama-cpp/api/type-aliases/LlamaChatSessionOptions, +it is possible to modify the system_prompt of a chat. + +This can be achieved by adding a systemPrompt key in modelSettings + +![catAi systemPrompt settings](system_prompt/settings.png) + + +Save and restart to apply. + +Then the chat act like a pirate according to the systemPrompt you choose ;-) + +![catAi systemPrompt demo](system_prompt/demo.png) \ No newline at end of file diff --git a/docs/system_prompt/demo.png b/docs/system_prompt/demo.png new file mode 100644 index 0000000000000000000000000000000000000000..90ba3e645ed12a8437a14a8450f9cbd13b19a6e3 GIT binary patch literal 77077 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%0A0`njaBs7V5+vAi!rLPON3#>3L<~v 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 literal 0 HcmV?d00001 diff --git a/docs/system_prompt/settings.png b/docs/system_prompt/settings.png new file mode 100644 index 0000000000000000000000000000000000000000..7e1ccc459593a20097d837eb4a2b7893670ea1a5 GIT binary patch literal 36063 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 z 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 literal 0 HcmV?d00001 diff --git a/models.json b/models.json index 82edacd..123a213 100644 --- a/models.json +++ b/models.json @@ -441,5 +441,27 @@ "contextSize": 4096 }, "version": 1 + }, + "dolphin-2.2.1-mistral-7b-q4_0": { + "download": { + "files": { + "model": "dolphin-2.2.1-mistral-7b.Q4_0.gguf" + }, + "repo": "https://huggingface.co/TheBloke/dolphin-2.2.1-mistral-7B-GGUF", + "commit": "34548d6105f2ffdc35b066364a954d42c24a2d87", + "branch": "main" + }, + "hardwareCompatibility": { + "ramGB": 4.4, + "cpuCors": 2, + "compressions": "q4_0" + }, + "compatibleCatAIVersionRange": [ + "3.0.2" + ], + "settings": { + "bind": "node-llama-cpp-v2" + }, + "version": 1.1 } -} +} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..f71483e --- /dev/null +++ b/package-lock.json @@ -0,0 +1,6 @@ +{ + "name": "catai", + "lockfileVersion": 3, + "requires": true, + "packages": {} +} diff --git a/server/src/manage-models/bind-class/binds/node-llama-cpp/node-llama-cpp-v2/node-llama-cpp-chat.ts b/server/src/manage-models/bind-class/binds/node-llama-cpp/node-llama-cpp-v2/node-llama-cpp-chat.ts index 8d25e8b..7ac9883 100644 --- a/server/src/manage-models/bind-class/binds/node-llama-cpp/node-llama-cpp-v2/node-llama-cpp-chat.ts +++ b/server/src/manage-models/bind-class/binds/node-llama-cpp/node-llama-cpp-v2/node-llama-cpp-chat.ts @@ -1,7 +1,7 @@ +import {ChatContext} from '../../../chat-context.js'; +import createChatWrapper from './chat-wrapper/chat-wrapper.js'; import type NodeLlamaCpp from './node-llama-cpp-v2.js'; import type {LlamaChatSession, LlamaModel} from 'node-llama-cpp'; -import createChatWrapper from './chat-wrapper/chat-wrapper.js'; -import {ChatContext} from '../../../chat-context.js'; export default class NodeLlamaCppChat extends ChatContext { private _session: LlamaChatSession; @@ -11,6 +11,9 @@ export default class NodeLlamaCppChat extends ChatContext { this._session = new _package.LlamaChatSession({ context: new _package.LlamaContext({model}), promptWrapper: createChatWrapper(_package, _parent.modelSettings.settings?.wrapper), + systemPrompt: _parent.modelSettings.settings?.systemPrompt, + printLLamaSystemInfo: _parent.modelSettings.settings?.printLLamaSystemInfo, + conversationHistory: _parent.modelSettings.settings?.conversationHistory }); } diff --git a/server/src/manage-models/bind-class/binds/node-llama-cpp/node-llama-cpp-v2/node-llama-cpp-v2.ts b/server/src/manage-models/bind-class/binds/node-llama-cpp/node-llama-cpp-v2/node-llama-cpp-v2.ts index 065f335..7306d82 100644 --- a/server/src/manage-models/bind-class/binds/node-llama-cpp/node-llama-cpp-v2/node-llama-cpp-v2.ts +++ b/server/src/manage-models/bind-class/binds/node-llama-cpp/node-llama-cpp-v2/node-llama-cpp-v2.ts @@ -1,10 +1,13 @@ -import type {LlamaModel, LlamaModelOptions} from 'node-llama-cpp'; +import type {ConversationInteraction, LlamaModel, LlamaModelOptions} from 'node-llama-cpp'; import NodeLlamaCppChat from './node-llama-cpp-chat.js'; import BaseBindClass from '../../base-bind-class.js'; type NodeLlamaCppOptions = Omit & { wrapper?: string, maxTokens?: number, + printLLamaSystemInfo?: boolean, + systemPrompt?: string, + conversationHistory?: readonly ConversationInteraction[], }; export default class NodeLlamaCppV2 extends BaseBindClass {