Commit Graph

554 Commits

Author SHA1 Message Date
Cohee 23a4705d36 Use common save settings function on WI budget cap 2023-08-13 19:50:12 +03:00
Cohee 3688bd0b04 #930 Fix WI activation via slash command 2023-08-13 19:20:00 +03:00
Cohee 43089ee06f Don't render manager on non-chat completion APIs 2023-08-13 18:47:07 +03:00
Cohee 980c65b6cf Add toastr warning 2023-08-13 18:44:32 +03:00
Cohee c0bc425c8b Debounce manager changes 2023-08-13 18:43:17 +03:00
Cohee 9b8d069e3b Apply CFG extension for Novel 2023-08-13 15:38:07 +03:00
Cohee bd3933bcbf
Merge pull request #905 from bdashore3/cfg-window
Add CFG side panel
2023-08-13 14:55:03 +03:00
Cohee 9615495878
Merge pull request #768 from SillyTavern/prompt-manager-cherrypicked
Feature: Prompt manager (cherrypicked onto stage)
2023-08-13 14:44:28 +03:00
Cohee 478bb9c59b Enable nsfw prompt by default 2023-08-13 14:41:29 +03:00
kingbri 43e91b150a CFG: Add groupchat support
Groupchats have their CFG defined a little differently. Chat and
global CFGs are publicly accessible within the window. As a compromise,
individual character CFGs can be injected as part of each character's
prompt. However, these CFG settings need to be adjusted in the character's
individual chats which will carry over to the group.

In addition, make this character logic gated under a checkbox to
always prefer chat unless explicitly specified. Negative cascading
is still open, so individual character negatives can be included
at any time.

Signed-off-by: kingbri <bdashore3@proton.me>
2023-08-12 22:52:34 -04:00
Tony Ribeiro e81f67504f
Merge branch 'SillyTavern:staging' into staging 2023-08-13 04:16:00 +02:00
Tony Ribeiro e60f91ce42 Finished unefficient full coqui pipeline, UI generated through request to extras. Need to be pruned 2023-08-13 02:18:46 +02:00
kingbri 4a21ee0337 CFG: Add ability to combine negative prompts
This allows for flexibility with global, character, and chat negative
prompts. Combining prompts is very useful for users who want to maintain
a set of global negatives and then add extra layers on top of that. The
ordering is chat -> character -> global tags due to the specificity of
each.

The guidance scale follows the cascade of chat -> character -> global
due to being one number that is set when CFG is fired. If the guidance
scale is 1, nothing happens.

Signed-off-by: kingbri <bdashore3@proton.me>
2023-08-12 16:25:35 -04:00
Cohee dd21091807 Selectable NovelAI module 2023-08-12 21:26:51 +03:00
maver 0f897158b9 Create a deep clone of the preset before applying
Prevents non-primitives from causing overlapping references
2023-08-12 19:40:01 +02:00
maver f5aa7f7970 Remove obsolete prompt manager settings object 2023-08-12 18:52:52 +02:00
maver b0860b18b8 Show tokens when inspecting a prompt 2023-08-12 18:40:39 +02:00
maver 03b8bb64fa Prevent new example chat message being added for no reason 2023-08-12 18:40:39 +02:00
maver a9fa42524d Fix prompts object reference being shared
By deepcloning a copy
2023-08-12 18:40:39 +02:00
maver f2c4645207 Use chatcompletion log function for token budget 2023-08-12 18:40:39 +02:00
maver 19e5502555 Remove obsolete assignment 2023-08-12 18:40:39 +02:00
maver b1254fa2ab Copy migrated preset into loaded presets
Since this only is populated once during page load
2023-08-12 18:40:39 +02:00
maver 7fb896ce2a Prevent preset migration from running multiple times. 2023-08-12 18:40:39 +02:00
maver a999d6e171 Fix preset migration 2023-08-12 18:40:39 +02:00
maver 5a92f72703 Add flag to preset saving, allowing to prevent triggering the UI 2023-08-12 18:40:39 +02:00
maver cd736ec682 Add message role to inspect 2023-08-12 18:40:39 +02:00
maver 280397c30b Allow inspection for all prompts
Because, really, why not.
2023-08-12 18:40:39 +02:00
maver 46c7e63fad Remove obsolete debugging output 2023-08-12 18:40:39 +02:00
maver cdfe3a6841 Fix user messages not being added when populating example dialogue 2023-08-12 18:40:39 +02:00
maver 35eb2dfd74 Change icon for global prompts 2023-08-12 18:40:39 +02:00
Cohee 13dc35bc98 Enable JB prompt by default 2023-08-12 18:40:39 +02:00
Cohee 09d7c3350d Minor spelling mistake 2023-08-12 18:40:39 +02:00
maver 5694fb0852 Swap detach and edit icons 2023-08-12 18:40:39 +02:00
maver a8ee723853 Always add impersonate prompt last 2023-08-12 18:40:39 +02:00
Cohee dd89009ecd Use tokenizer-specific token cache 2023-08-12 18:40:39 +02:00
maver 55cc559fd0 Render promptmanager when chatcompletion model or source change 2023-08-12 18:40:39 +02:00
maver 2805a684a8 Emit events on changing chatcompletion source or model 2023-08-12 18:40:39 +02:00
maver 1281417a97 Render prompt manager when chat history is altered
Recounts tokens
2023-08-12 18:40:39 +02:00
maver d82ea66664 Refactor addItem method of MessageCollection 2023-08-12 18:40:39 +02:00
maver 4100ae9e0b Do not insert authors note into main
Since it is already present in the chat history
2023-08-12 18:40:39 +02:00
maver d2ee6e9a12 Append quietPrompt last 2023-08-12 18:40:39 +02:00
Cohee 463f01d2a6 #870 Fix Claude in prompt manager 2023-08-12 18:40:39 +02:00
Cohee 29552ecfcf Sanitize completion names. Only send names in msg texts if names in completion is disabled 2023-08-12 18:40:39 +02:00
maver e7b29babe9 Remove obsolete characterSelected event 2023-08-12 18:40:39 +02:00
maver fd10eaf037 Close and clear popup on preset change 2023-08-12 18:40:39 +02:00
maver 1b7a1cbc4a Add quick edit drawer and fields for main and jailbreak 2023-08-12 18:40:39 +02:00
maver bd3136e114 Improve wording for prompt insertion 2023-08-12 18:40:39 +02:00
maver f5aa891962 Fix prompt manager not being draggable on mobile
Updates jquery ui touch punch with a maintained version, fixes other instances of jquery ui sortable as well (kobold, ...)
2023-08-12 18:40:39 +02:00
maver 38bfcf5324 Remove advanced options toggle 2023-08-12 18:40:39 +02:00
maver af81915ff3 Update existing prompts during migration
Instead of adding new prompts for main, jailbreak and nsfw
2023-08-12 18:40:39 +02:00
maver 222fd3429d Center globe icon 2023-08-12 18:40:39 +02:00
maver f0830e7bb4 Fix in-code documentation typo 2023-08-12 18:40:39 +02:00
maver 59afac08da Add missing in-code documentation 2023-08-12 18:40:39 +02:00
maver 05a080849c Fix edit button being shown for chat history and examples 2023-08-12 18:40:39 +02:00
maver 1e43108e5a Move inspect functionality to prompt name click 2023-08-12 18:40:39 +02:00
maver 405a680059 Add user icon for user prompts
To be consistent with global and marker icons
2023-08-12 18:40:39 +02:00
maver bc4befeb22 Rename prompt lists to prompt order
Includes renaming of configuration, no functional changes
2023-08-12 18:40:39 +02:00
maver 63d224d8af Refactor and simplify setup method for prompt manager. 2023-08-12 18:40:39 +02:00
maver ad6575887a Remove obsolete function getGroupMembers 2023-08-12 18:40:39 +02:00
maver b58ce0370d Refactor token counting after completion. Simplify code. 2023-08-12 18:40:39 +02:00
maver 57fd04b974 Refactor token counting after completion. Simplify code. 2023-08-12 18:40:39 +02:00
maver dfd49813af Refactor naming scheme for default promptmanager defaults 2023-08-12 18:40:39 +02:00
maver 4f734d12ab Use configured prefix for prompt manager classes instead of constant 2023-08-12 18:40:39 +02:00
maver 9d6cf017d2 Move main and jailbreak override from manager into openai script.
Makes the code clearer and easier to understand
2023-08-12 18:40:39 +02:00
maver 075c0c29f0 Refactor prepareOpenAiMessages, move prompt preparation in its own function 2023-08-12 18:40:39 +02:00
maver fc555c1be5 When a prompt is reset, also reset name and role 2023-08-12 18:40:39 +02:00
maver a921a26af5 Do not show reset button for user prompts 2023-08-12 18:40:39 +02:00
maver 7ea6e89b05 Add reset prompt support for enhance definitions 2023-08-12 18:40:39 +02:00
maver b2acc9eb0f Refactor documentation and make code more readable
No functional changes
2023-08-12 18:40:39 +02:00
maver 19ee831d82 Prevent prompt manager initialization more than once 2023-08-12 18:40:39 +02:00
maver 76154fd8ee Fix authors note position not being considered 2023-08-12 18:40:39 +02:00
maver 41aae57f05 Do not send empty scenario and personality prompts 2023-08-12 18:40:39 +02:00
maver 6a52d6febd Fix invalid character name error not being handled 2023-08-12 18:40:39 +02:00
maver 00e9987fb7 Fix character reset not available in basic mode 2023-08-12 18:40:39 +02:00
maver 05c96825ea Add reset button for character prompt list 2023-08-12 18:40:39 +02:00
maver 29a7cb4120 Replace DraggableList with jQuery UI sortable
Similar to Kobold AIs settings. Reducing code that needs maintaining.
2023-08-12 18:40:39 +02:00
maver 4dd94a4a62 Do not generate group responses on dry run 2023-08-12 18:40:39 +02:00
maver a706ecd48c Add charIfNotGroup placeholder to default main prompt 2023-08-12 18:40:39 +02:00
maver fa205ec72e Validate import data before prompt import 2023-08-12 18:40:39 +02:00
maver cf305c0395 Do not attempt a dryrun if no character has been selected 2023-08-12 18:40:39 +02:00
maver 82a11316bc Add continue nudge to editable utility prompts 2023-08-12 18:40:39 +02:00
maver 0e4ce734ad Fix continue functionality not working as expected 2023-08-12 18:40:39 +02:00
maver f4cfa8ba94 Remove obsolete logs and improve documentation 2023-08-12 18:40:39 +02:00
maver f2227ded9a Move utility prompts in its own, independent dropdown
And merge with existing advanced prompt bits
2023-08-12 18:40:38 +02:00
maver 9669199408 Allow user to edit new chat, new group chat and new example chat prompts 2023-08-12 18:40:38 +02:00
maver 2ed1cee82e Fill tokenizer legacy counts where possible. 2023-08-12 18:40:38 +02:00
maver 9784950c54 Add documentation for chat completion
And dependant classes
2023-08-12 18:40:38 +02:00
maver 9332657e20 Do not render prompt export dialogue if not necessary 2023-08-12 18:40:38 +02:00
maver 0f3d5373bf Always allow dropping prompts 2023-08-12 18:40:38 +02:00
maver 81c32852c8 Add icon for global prompts 2023-08-12 18:40:38 +02:00
maver 15d4283cd4 Add info icons to prompt export 2023-08-12 18:40:38 +02:00
maver 023d3fade2 Do not assign openai_max_tokens on input field changes
Fixes prompt manager falsely assigning string value to openai config
2023-08-12 18:40:38 +02:00
maver 4974c81d4c Update prompt manager active character on character edit. 2023-08-12 18:40:38 +02:00
maver 74a7aa513b Reintroduce event types after rebase 2023-08-12 18:40:38 +02:00
maver 6ec249bb30 Add confirmation step and allow character prompt order import 2023-08-12 18:40:38 +02:00
maver bfb4e5026d Refine export function 2023-08-12 18:40:38 +02:00
maver 57ea6cb7a5 Add prompt export 2023-08-12 18:40:38 +02:00
maver 3d35caff08 Improve readability and clarity of prompt manager icons 2023-08-12 18:40:38 +02:00
maver d70ecbdcd9 Add support for cycle prompt 2023-08-12 18:40:38 +02:00
maver e93424b2cf Don't use debounce for prompt manager save settings function 2023-08-12 18:40:38 +02:00
maver a53e99b831 Prevent chat history warnings from showing too early 2023-08-12 18:40:38 +02:00
maver ce8a71cf53 Add error handling to openai message counting 2023-08-12 18:40:38 +02:00
maver 011278c533 Re-Render prompt manager on worldinfo settings change 2023-08-12 18:40:38 +02:00
maver 4509df0fd9 Add support for empty prompt replacement 2023-08-12 18:40:38 +02:00
maver 632fa770be Create a deep copy of prompt defaults on char select
Along other minor fixes and optimizations
2023-08-12 18:40:38 +02:00
maver 85c4b6fad3 Improve error messages 2023-08-12 18:40:38 +02:00
maver a0bd67e455 Allow markers to inspected for their content 2023-08-12 18:40:38 +02:00
maver 2452b37e28 Add fallback for empty dialogue example prompts 2023-08-12 18:40:38 +02:00
maver 28217adac6 Add logging for prompt manager position changes 2023-08-12 18:40:38 +02:00
maver 9558483669 Change draggable hover color to be more in tune with the default styling 2023-08-12 18:40:38 +02:00
maver 5629bd8984 Fix handleSavePrompt logging throwing error 2023-08-12 18:40:38 +02:00
maver 8abff3c24f Add simple profiling for token counting and rendering 2023-08-12 18:40:38 +02:00
maver ec43295936 Add logging and minor stability enhancements 2023-08-12 18:40:38 +02:00
maver 2fc3577431 Throw a recoverable error on invalid character naming 2023-08-12 18:40:38 +02:00
maver 1b7da6ecbc Remove faulty characters in default configuration 2023-08-12 18:40:38 +02:00
maver d469c80ef5 Apply minor code style and stability improvements 2023-08-12 18:40:38 +02:00
maver 550e635d93 Add migration for legacy prompts 2023-08-12 18:40:38 +02:00
maver e908610b99 Save prompt manager items to perset 2023-08-12 18:40:38 +02:00
maver 2054cbeb83 Simplify token threshold warnings 2023-08-12 18:40:38 +02:00
maver 49cb682499 Raise warning threshold for chatHistory tokens 2023-08-12 18:40:38 +02:00
maver 6cea524f2c Fix prompt-manager being rendered twice. 2023-08-12 18:40:38 +02:00
maver bf0dc07b1f Improve in-code documentation 2023-08-12 18:40:38 +02:00
maver d0aba85692 Add support for persona description positioning 2023-08-12 18:40:38 +02:00
maver 4ed92d69b0 Fix jailbreak prompt not being overwritten by character 2023-08-12 18:40:38 +02:00
maver 221ecbf8d6 Add reset for main,nsfw and jailbreak prompts 2023-08-12 18:40:38 +02:00
maver 9cf41a6a52 Remove doubled initialization of prompt manager 2023-08-12 18:40:38 +02:00
maver 7c1e370abe Allow the user to toggle names in chat history 2023-08-12 18:40:38 +02:00
maver 0660016a10 Only add name to prompts when conforming to oai api standards 2023-08-12 18:40:38 +02:00
maver 670119e143 Fix prompt edit popup not appearing after refactoring 2023-08-12 18:40:38 +02:00
maver 25eef5d100 Pass nsfwAvoidance message instead of prompt
Fixing invalid argument exception being thrown
2023-08-12 18:40:38 +02:00
maver f207e0eab3 Add basic WindowAI support 2023-08-12 18:40:38 +02:00
maver 5c18abadac Pass chat message name to chatcompletion endpoint 2023-08-12 18:40:38 +02:00
maver aaa2c48e7d Add basic claude support 2023-08-12 18:40:38 +02:00
maver c920b6c511 Correct identifier used for jailbreak prompt override 2023-08-12 18:40:38 +02:00
maver 28fa2f5f57 Render prompt manager after swiping with updated tokens
Including world info and extension prompts
2023-08-12 18:40:38 +02:00
maver 2f4424e6c6 Declare prepareOpenAIMessages as synchronous
As there is no need for the function o be async anymore.
2023-08-12 18:40:38 +02:00
maver 6e37db2fb3 Declare prepareOpenAIMessages as synchronous
As there is no need for the function o be async anymore.
2023-08-12 18:40:38 +02:00
maver 6c25211f0a Support original-placeholder 2023-08-12 18:40:38 +02:00
maver 6674a0a974 Visual improvements for mobile 2023-08-12 18:40:38 +02:00
maver 312b02c36e Do not count messages with empty prompts 2023-08-12 18:40:38 +02:00
maver 6617243f1b Add event system to openai script
Lost during rebasing
2023-08-12 18:40:38 +02:00
maver be30fef700 Disable toggling of main prompt 2023-08-12 18:40:38 +02:00
maver 85862d8b2e Filter faulty prompt entries 2023-08-12 18:40:38 +02:00
maver e7198c6303 Fix prepared prompt not being returned 2023-08-12 18:40:38 +02:00
maver b8b3dd4caf Various improvements for stability and token counting. 2023-08-12 18:40:38 +02:00
maver 2c36fbdc1d Apply character specific prompt overrides
Jailbreak and main
2023-08-12 18:40:36 +02:00
maver 5afd60c578 Add dialogue examples first if user decides 2023-08-12 18:40:18 +02:00
maver 474571e17a Handle various error scenarios during token counting 2023-08-12 18:40:18 +02:00
maver 73e3001493 Refactor addMessageToChatCompletion 2023-08-12 18:40:18 +02:00
maver 5270d261aa Add memory and authors note to chat completion 2023-08-12 18:40:18 +02:00
maver bf5404f6ce Add enhanced definitions 2023-08-12 18:40:18 +02:00
maver 21b37950e4 Fix chat completion not recognizing 0-position 2023-08-12 18:40:18 +02:00
maver dd7f326460 Improve in-code documentation 2023-08-12 18:40:18 +02:00
maver 74a5167a0e Add nsfw avoidance prompt, quiet prompt and bias to chat completion 2023-08-12 18:40:18 +02:00
maver 37c7a82aba Respect impersonate option 2023-08-12 18:40:18 +02:00
maver edba17c96e Add dialogue examples to chat completion 2023-08-12 18:40:18 +02:00
maver 8ae2c80358 Introduction of additional helper classes, refactoring 2023-08-12 18:40:18 +02:00
maver 18641ea3d2 Add prototype for prompt manager token management 2023-08-12 18:40:18 +02:00
maver 05f7e5677d Simplify example message handling 2023-08-12 18:40:18 +02:00
maver 77e183f5dd Add support for authors note and summary extensions 2023-08-12 18:40:18 +02:00
maver a66041f503 Fix extension prompt being not parsed correctly 2023-08-12 18:40:18 +02:00
maver 64c04957c2 Enable TokenHandler to return total token count 2023-08-12 18:40:18 +02:00
maver eb315993b4 Let prompt manager handle character and scenario prompts 2023-08-12 18:40:18 +02:00
maver 29bc3c854f Update prompt manager after chat loaded 2023-08-12 18:40:18 +02:00
maver d65a03d75d Streamline token counting
By using TokenHandler instead of custom token handling
2023-08-12 18:40:18 +02:00
maver 4d8d4cd262 Streamline token counting
By using TokenHandler instead of custom token handling
2023-08-12 18:40:18 +02:00
SillyLossy e309e18e97 Reset token counters when switching characters. Put main prompt at the beginning 2023-08-12 18:40:18 +02:00
SillyLossy 14a66ec937 Don't duplicate start chat marker if character has no example dialogues 2023-08-12 18:40:18 +02:00
Cohee 0f412faabe Hotfix 2023-08-12 18:40:18 +02:00
Cohee cb60c31490 Hotfix 2023-08-12 18:40:18 +02:00
Cohee 41366b0e72 Hotfix 2023-08-12 18:40:18 +02:00
SillyLossy f5189df319 Fix sanitation again 2023-08-12 18:40:18 +02:00
Cohee 4027afb737 Fix prompt settings init 2023-08-12 18:40:18 +02:00
maver dce91f8fad Send main prompt with group chat 2023-08-12 18:40:18 +02:00
maver 121bbf19d6 Add i18n attributes to prompt manager elements 2023-08-12 18:40:18 +02:00
maver 637b99b3fe Update default jailbreak message 2023-08-12 18:40:18 +02:00
maver a5e2f11e61 Use EventEmitter instead of native event handling 2023-08-12 18:40:18 +02:00
maver 4476cbdc81 Fire event when selecting a group chat 2023-08-12 18:40:18 +02:00
maver 7411ca1154 Prevent duplicate messages
By removing obsolete example message assignments
2023-08-12 18:40:18 +02:00
maver 9a7bbd4ffb Add prompt manager support for group chats 2023-08-12 18:40:18 +02:00
maver d9d10f3b00 Show character definition in regular mode 2023-08-12 18:40:18 +02:00
maver 989f704605 Improve strength of main and impersonation prompt 2023-08-12 18:40:18 +02:00
maver ff07572fd4 Fix dropspot highlight not appearing on hover 2023-08-12 18:40:18 +02:00
maver 53fe7f1d94 Remove obsolete interface elements and handling
Jailbreak etc.
2023-08-12 18:40:18 +02:00
maver 720c9973ec Fix default prompts not being set correctly 2023-08-12 18:40:18 +02:00
maver 9022d9abd9 Update documentation and code style for prompt manager 2023-08-12 18:40:18 +02:00
maver 5a5ea2f78a Remove prompt list when character gets deleted 2023-08-12 18:40:18 +02:00
maver e2f8c876d9 Refactor render functions of prompt manager
Improve readability and extendability
2023-08-12 18:40:18 +02:00
maver 137b979302 Improve documentation for prompt manager 2023-08-12 18:40:18 +02:00
maver 0e3e57269c Simplify new character handling 2023-08-12 18:40:18 +02:00
maver beedd9952a Add missing export for missing identifier exception 2023-08-12 18:40:18 +02:00
maver 441e5c6cea Remove obsolete description of prompt manager 2023-08-12 18:40:18 +02:00
maver e47f436cf7 Add support for nsfw avoidance prompt 2023-08-12 18:40:17 +02:00
maver 1adad6105a Refactor chat completion 2023-08-12 18:40:17 +02:00
maver fe43b58cb0 Add help note for prompt manager 2023-08-12 18:40:17 +02:00
maver 796e52e537 Disable role select only when advanced mode is off 2023-08-12 18:40:17 +02:00
maver f395c99a5d Remove obsolete default settings in prompt manager constructor 2023-08-12 18:40:17 +02:00
maver a041230a99 Let oai prompt manager handle enhanced definitions 2023-08-12 18:40:17 +02:00
maver 5996697fce Remove obsolete properties on prompts
These are now handled by prompts_list
2023-08-12 18:40:17 +02:00
maver a6c7a935cc Add marker symbol to prompt manager marker list entries 2023-08-12 18:40:17 +02:00