From 48a5b8b84fe94aae4be1e281da230cc33c09f305 Mon Sep 17 00:00:00 2001 From: ceruleandeep Date: Thu, 31 Oct 2024 15:50:55 +1100 Subject: [PATCH 1/2] Add some bits about the system prompt --- Usage/Core_Concepts/advancedformatting.md | 6 +- Usage/Core_Concepts/prompts.md | 112 +++++++++++++++++++--- 2 files changed, 101 insertions(+), 17 deletions(-) diff --git a/Usage/Core_Concepts/advancedformatting.md b/Usage/Core_Concepts/advancedformatting.md index 9c6487ae4..47af7eb54 100644 --- a/Usage/Core_Concepts/advancedformatting.md +++ b/Usage/Core_Concepts/advancedformatting.md @@ -23,12 +23,14 @@ Most of the settings in this panel do not apply to Chat Completions APIs as they ## System Prompt !!! Applies to: Text Completion APIs -For equivalent settings in Chat Completion APIs, use [Prompt Manager](prompt-manager.md). +For equivalent settings in Chat Completion APIs, use [Prompt Manager](prompt-manager.md). The **Main Prompt** is the equivalent of the System Prompt in Chat Completion APIs. !!! +The System Prompt defines the general instructions for the model to follow. It sets the tone and context for the conversation. For example, it tells the model to act as an AI assistant, a writing partner, or a fictional character. + The System Prompt is a part of the [Story String](context-template.md#story-string) and usually the first part of the prompt that the model receives. -See the [prompting guide](prompts.md#main-prompt) to learn more about the System Prompt. +See the [prompting guide](prompts.md#main-prompt-system-prompt) to learn more about the System Prompt. ## Context Template diff --git a/Usage/Core_Concepts/prompts.md b/Usage/Core_Concepts/prompts.md index 02033a257..cdd281a70 100644 --- a/Usage/Core_Concepts/prompts.md +++ b/Usage/Core_Concepts/prompts.md @@ -9,7 +9,7 @@ When you send a message to your AI, the text you write is combined with other te The prompt can include a variety of different types of text, including: -* [Main instructions](#main-prompt) to the AI about how to generate a response +* [Main instructions](#main-prompt-system-prompt) to the AI about how to generate a response * Definitions of the [roles that the AI should take on](characterdesign.md) * Definitions of [the role that you are taking on](personas.md) * [Information about the "world"](worldinfo.md) that the AI is interacting with @@ -18,7 +18,7 @@ The prompt can include a variety of different types of text, including: * Results of [web searches](/extensions/WebSearch.md) or other [external data sources](/For_Contributors/Function-Calling.md) * Previous messages in the conversation * **Your message to the AI** -* Final instructions for the AI about how to generate a response +* [Final instructions](#post-history-instructions) for the AI about how to generate a response This can be a lot to manage! To help you understand how to structure and modify the request that's sent to the AI, SillyTavern identifies different elements that you might want to include in your prompt. You can then structure your prompt to include the things that make sense for the way you want to interact with the AI. @@ -48,20 +48,10 @@ Use the [Prompt Manager](prompt-manager.md) to customize prompt construction for +++ -## Common Prompt Elements - -Some prompts are set for every message you send to the AI. These are explained here. - -### Main Prompt +## Main Prompt (System Prompt) The Main Prompt (or System Prompt) defines the general instructions for the model to follow. It sets the tone and context for the conversation. For example, it tells the model to act as an AI assistant, a writing partner, or a fictional character. -Supports substitutions via any of the supported [\{\{macro\}\}](characterdesign.md#macros-replacement-tags) parameters. - -For example: - -> You are a helpful AI assistant. You should provide useful information and help \{\{user\}\} with their questions. - +++ Text Completion APIs The [System Prompt](advancedformatting.md#system-prompt) is a part of the [Story String](context-template.md#story-string) and usually the first part of the prompt that the model receives. @@ -72,9 +62,101 @@ The Main Prompt is one of the default prompts in [Prompt Manager](prompt-manager +++ -### Post-History Instructions -Post-History Instructions are additional instructions that are sent to the AI after the main prompt and the user message. They can be used to provide additional context or instructions to the AI based on the conversation history. +The default Main Prompt is: + +> Write \{\{char\}\}'s next reply in a fictional chat between \{\{char\}\} and \{\{user\}\}. + +The \{\{char\}\} and \{\{user\}\} placeholders are replaced with the names of the character and persona that you've defined in the conversation. + +You can use any of the supported [\{\{macro\}\}](characterdesign.md#macros-replacement-tags) tags in the Main Prompt to include information that might vary between conversations or changes as the conversation progresses. + +### Adjusting the Main Prompt + +The default main prompt helps the model understand what it's expected to do with the character and persona information that follows, how to interpret the past conversation, and what kind of response to generate. It's a flexible general-purpose prompt that works well for many situations, because it establishes that the AI is writing as a character in a conversation with your persona. + +However, you can adjust the main prompt to better suit your needs. Here are some common reasons to adjust the main prompt: + +* **Provide additional instructions**: for example, you want the AI to explain its reasoning, follow specific rules, or avoid certain topics +* **Clarify the role of the AI**: for example, you want the AI to act as a narrator, a storyteller, or a guide +* **Change the context of the conversation**: for example, you want the AI to respond as if it were an AI assistant, text adventure game, or a writing partner + +!!! Try things out and see what works best for you +All the examples in this guide have worked well for other users, but the prompt that works for your needs and the model you're using might be different. Experiment with different instructions and prompting styles to see what works best for you. If you're not sure what to try, you can always ask for help in the [SillyTavern Discord](https://discord.gg/sillytavern). +!!! + +Giving the AI additional instructions in the Main Prompt can help it understand what you want from the conversation. + +> Write one reply only. Write at least one paragraph, up to four. + +> Markdown is enabled. Use it to format your response. Enclose code snippets in triple backticks. + +> Write character dialogue in quotation marks. Write \{\{char\}\}'s thoughts in parentheses. + +> You are an anime roleplay generation model for users aged 13 to 17. You always generate fun, age-appropriate responses. + +> Answer truthfully and write out your thinking step by step to be sure you get the right answer. + +The AI will more easily follow instructions about what it should do than what it should not do. For example, if you want the AI to avoid writing in a certain way, it's better to tell it how you want it to write instead. And while `Do not decide what {{user}} says or does` is commonly included in prompts to prevent the AI from controlling your persona, some users find `Write {{char}}'s responses in a way that respects {{user}}'s autonomy` is more effective. + +There is often a better place than the Main Prompt to include information about the user or characters, modify a character's writing and speaking style, or give other specific instructions. The Main Prompt is best used for general instructions about the conversation as a whole, or about a type of conversation that you want to have. + +### Effect of Message History + +When adjusting the main prompt to improve the AI's responses, consder that the AI picks up a lot from the message history. The history is its memory of past events, character interactions and relationships, and its style guide for word choice and writing style. + +Use this to your advantage by also providing [example messages](characterdesign.md#examples-of-dialogue) showing how you want the AI to respond. Showing what you want is often easier than trying to explain it! + +When your conversation already has history, changing the main prompt has a limited effect on the AI's responses. In terms of events and relationships, the AI assumes that the main prompt occurred in the distant past, and the message history updates it. In terms of writing style and word choice, the AI assumes that all the messages in history were generated according to the rules in the *current* main prompt, and that it should continue to generate messages in the same way. Some suggestions for dealing with this are: + +* insert current instructions close to or after the end of message history, for example by using an [Author's Note](Author's-Note.md) +* test your changes to the main prompt by starting a new conversation +* edit the message history to remove or correct examples of unwanted behaviour +* use the [Post-History Instructions](#post-history-instructions) to provide final instructions to the AI + +!!! Get it right the first time! +Never let the AI "get away" with something you don't want it to do. If you don't like the AI's response, don't continue the conversation as if it was correct. Instead, modify the prompts, regenerate the message, and continue from there. This will help the AI learn what you want. +!!! + +### Removing the "Fictional Chat" Context + +There are situations where "fictional chat" might not be the right context for your conversation. + +You can remove the "fictional" context from the Main Prompt: + +> Write \{\{char\}\}'s next reply in a conversation with \{\{user\}\}. + +You may not want the AI to think of itself as role-playing at all. Instead of removing the idea of a character, you can remove the idea of an AI: + +> You are \{\{char\}\}, a helpful assistant. You provide useful information and help \{\{user\}\} with their questions. + +### AI as Narrator or Storyteller + +What if you want the AI to act as a narrator, describing events from an omniscient perspective, inventing its own characters and settings? + +One approach is to create a named character for the AI to use as a narrator. This character could be called "Narrator" or "AI", suggesting that the AI is a general-purpose storyteller, or it could be named after a specific scenario or setting, giving the AI the task of narrating a story in that setting. The details of the setting can then be defined in the [Character](characterdesign.md) or in [World Info](worldinfo.md). + +You will need to adjust the default main prompt to reflect the AI's role. For a general-purpose narrator, you might use: + +> You are \{\{char\}\}, a skilled and versatile storyteller. Narrate the story. + +or for a specific setting: + +> You are the narrator of a fantasy scenario. Play as the characters that visit \{\{char\}\}. + +It helps to clarify the role of the user in the conversation. Are your messages part of the story, or are they instructions to the narrator about what your character does or says? An example that includes the user in the story: + +> The story should progress by responding to the actions and dialogue of \{\{user\}\}. Narrate the story in third person. + +An example that keeps the user out of the story: + +> Enter Adventure Mode. Narrate the story based on \{\{user\}\}'s dialogue and actions after ">". Describe the surroundings in vivid detail. Be detailed, creative, verbose, and proactive. Move the story forward by introducing fantasy elements and interesting characters. + +Defining the role of the user not only helps the AI understand how to respond to your messages, but also to what extent it is allowed to control your persona. This avoids situations where the AI makes decisions for your persona that you would rather make yourself. + +## Post-History Instructions + +Post-History Instructions are additional instructions sent to the AI after the main prompt and the user message. They can be used to provide additional context or instructions to the AI based on the message history. Since the Post-History Instructions are sent after the user message, they are the final instructions that the AI receives before generating a response. The AI usually gives them a higher priority than the main prompt, and they can override the main prompt's instructions. From 7ec789c3e07c8b30eceecbacf17b80e2f8f00457 Mon Sep 17 00:00:00 2001 From: ceruleandeep Date: Fri, 1 Nov 2024 13:38:40 +1100 Subject: [PATCH 2/2] Alternative arrangement for Usage folder --- Administration/sso.md | 2 +- For_Contributors/st-script.md | 2 +- .../Connection-Profiles.md | 8 +- Usage/API_Connections/index.md | 2 +- Usage/{ => API_Connections}/self-hosted.md | 2 +- .../Author's-Note.md | 1 + Usage/{Core_Concepts => Characters}/Tags.md | 1 + .../characterdesign.md | 2 +- .../chatfilemanagement.md | 3 +- .../data-bank.md | 1 + .../groupchats.md | 1 + Usage/Characters/index.md | 121 ++++++++++++++++ Usage/{ => Chatting}/hotkeys.md | 1 + Usage/Chatting/index.md | 116 ++++++++++++++++ .../slashcommands.md | 1 + Usage/Common-Settings.md | 2 +- Usage/Core_Concepts/index.md | 75 ---------- Usage/{Core_Concepts => Prompts}/CFG.md | 0 .../advancedformatting.md | 0 .../context-template.md | 0 .../instructmode.md | 0 .../prompt-manager.md | 0 Usage/{Core_Concepts => Prompts}/prompts.md | 28 ++-- Usage/{Core_Concepts => Prompts}/tokenizer.md | 0 .../User_Settings.md} | 6 +- .../Visual-Novel.md | 0 .../uicustomization.md | 2 +- Usage/branches.md | 4 +- Usage/faq.md | 6 +- Usage/index.md | 130 ++++++++++++++++++ Usage/index.yml | 3 - Usage/{Core_Concepts => }/personas.md | 4 +- Usage/quick-start.md | 7 +- Usage/{Core_Concepts => }/worldinfo.md | 6 +- _includes/head.html | 4 +- extensions/Chat-vectorization.md | 4 +- readme.md | 16 +-- static/chatbox.png | Bin 0 -> 28488 bytes static/chatmessage.png | Bin 0 -> 96206 bytes 39 files changed, 430 insertions(+), 131 deletions(-) rename Usage/{Core_Concepts => API_Connections}/Connection-Profiles.md (90%) rename Usage/{ => API_Connections}/self-hosted.md (99%) rename Usage/{Core_Concepts => Characters}/Author's-Note.md (98%) rename Usage/{Core_Concepts => Characters}/Tags.md (99%) rename Usage/{Core_Concepts => Characters}/characterdesign.md (99%) rename Usage/{Core_Concepts => Characters}/chatfilemanagement.md (92%) rename Usage/{Core_Concepts => Characters}/data-bank.md (99%) rename Usage/{Core_Concepts => Characters}/groupchats.md (99%) create mode 100644 Usage/Characters/index.md rename Usage/{ => Chatting}/hotkeys.md (97%) create mode 100644 Usage/Chatting/index.md rename Usage/{Core_Concepts => Chatting}/slashcommands.md (94%) delete mode 100644 Usage/Core_Concepts/index.md rename Usage/{Core_Concepts => Prompts}/CFG.md (100%) rename Usage/{Core_Concepts => Prompts}/advancedformatting.md (100%) rename Usage/{Core_Concepts => Prompts}/context-template.md (100%) rename Usage/{Core_Concepts => Prompts}/instructmode.md (100%) rename Usage/{Core_Concepts => Prompts}/prompt-manager.md (100%) rename Usage/{Core_Concepts => Prompts}/prompts.md (86%) rename Usage/{Core_Concepts => Prompts}/tokenizer.md (100%) rename Usage/{Core_Concepts/user-settings.md => User_Settings/User_Settings.md} (98%) rename Usage/{Core_Concepts => User_Settings}/Visual-Novel.md (100%) rename Usage/{Core_Concepts => User_Settings}/uicustomization.md (98%) create mode 100644 Usage/index.md delete mode 100644 Usage/index.yml rename Usage/{Core_Concepts => }/personas.md (98%) rename Usage/{Core_Concepts => }/worldinfo.md (98%) create mode 100644 static/chatbox.png create mode 100644 static/chatmessage.png diff --git a/Administration/sso.md b/Administration/sso.md index 2acf04ab2..52868b334 100644 --- a/Administration/sso.md +++ b/Administration/sso.md @@ -19,7 +19,7 @@ To do this, enable `autheliaAuth` in *config.yaml*. autheliaAuth: true ``` -This augments or replaces the built-in [password management](/Usage/Core_Concepts/user-settings.md#account-management) component of a [multi-user mode](/Administration/multi-user.md) setup. +This augments or replaces the built-in [password management](/Usage/User_Settings/User_Settings.md#account-management) component of a [multi-user mode](/Administration/multi-user.md) setup. ## Replacing HTTP BA diff --git a/For_Contributors/st-script.md b/For_Contributors/st-script.md index fbdc22f73..8dcbbf195 100644 --- a/For_Contributors/st-script.md +++ b/For_Contributors/st-script.md @@ -742,7 +742,7 @@ This will insert a user message at the beginning of the conversation history: ## World Info commands -World Info (also known as Lorebook) is a highly utilitarian tool for dynamically inserting data into the prompt. See the dedicated page for more detailed explanation: [World Info](/Usage/Core_Concepts/worldinfo.md). +World Info (also known as Lorebook) is a highly utilitarian tool for dynamically inserting data into the prompt. See the dedicated page for more detailed explanation: [World Info](/Usage/worldinfo.md). 1. `/getchatbook` – gets a name of the chat-bound World Info file or create a new one if was unbound, and pass it down the pipe. 2. `/findentry file=bookName field=fieldName [text]` – finds a UID of the record from the specified file (or a variable pointing to a file name) using fuzzy matching of a field value with the provided text (default field: `key`) and passes the UID down the pipe, e.g. `/findentry file=chatLore field=key Shadowfang`. diff --git a/Usage/Core_Concepts/Connection-Profiles.md b/Usage/API_Connections/Connection-Profiles.md similarity index 90% rename from Usage/Core_Concepts/Connection-Profiles.md rename to Usage/API_Connections/Connection-Profiles.md index 5b08849a3..56da683fe 100644 --- a/Usage/Core_Concepts/Connection-Profiles.md +++ b/Usage/API_Connections/Connection-Profiles.md @@ -1,5 +1,7 @@ --- icon: paperclip +route: /usage/core-concepts/connection-profiles +order: 100 --- # Connection Profiles @@ -21,10 +23,10 @@ Connection Profiles store the following selections. ### Text Completion APIs -* [System Prompt and its state](/Usage/Core_Concepts/advancedformatting.md#system-prompt) +* [System Prompt and its state](/Usage/Prompts/advancedformatting.md#system-prompt) * [Instruct Mode state and template](//Usage/Core_Concepts/instructmode.md) -* [Context Template](/Usage/Core_Concepts/advancedformatting.md#context-template) -* [Tokenizer](/Usage/Core_Concepts/advancedformatting.md#tokenizer) +* [Context Template](/Usage/Prompts/advancedformatting.md#context-template) +* [Tokenizer](/Usage/Prompts/advancedformatting.md#tokenizer) ### Chat Completion APIs diff --git a/Usage/API_Connections/index.md b/Usage/API_Connections/index.md index e9c84d665..0c62af759 100644 --- a/Usage/API_Connections/index.md +++ b/Usage/API_Connections/index.md @@ -1,5 +1,5 @@ --- -order: -30 +order: 150 icon: repo-forked expanded: false route: /usage/api-connections diff --git a/Usage/self-hosted.md b/Usage/API_Connections/self-hosted.md similarity index 99% rename from Usage/self-hosted.md rename to Usage/API_Connections/self-hosted.md index b0184b858..5baa01cea 100755 --- a/Usage/self-hosted.md +++ b/Usage/API_Connections/self-hosted.md @@ -1,5 +1,5 @@ --- -order: -40 +order: 90 icon: desktop-download route: /usage/how-to-use-a-self-hosted-model/ --- diff --git a/Usage/Core_Concepts/Author's-Note.md b/Usage/Characters/Author's-Note.md similarity index 98% rename from Usage/Core_Concepts/Author's-Note.md rename to Usage/Characters/Author's-Note.md index 8705d1c43..85240e1ad 100644 --- a/Usage/Core_Concepts/Author's-Note.md +++ b/Usage/Characters/Author's-Note.md @@ -1,5 +1,6 @@ --- order: character-40 +route: /usage/core-concepts/authors-note --- # Author's Note diff --git a/Usage/Core_Concepts/Tags.md b/Usage/Characters/Tags.md similarity index 99% rename from Usage/Core_Concepts/Tags.md rename to Usage/Characters/Tags.md index ffd1e5463..bc94b2680 100644 --- a/Usage/Core_Concepts/Tags.md +++ b/Usage/Characters/Tags.md @@ -1,5 +1,6 @@ --- order: character-30 +route: /usage/core-concepts/tags --- # Tags diff --git a/Usage/Core_Concepts/characterdesign.md b/Usage/Characters/characterdesign.md similarity index 99% rename from Usage/Core_Concepts/characterdesign.md rename to Usage/Characters/characterdesign.md index 3a19357a7..f3b99dd8a 100644 --- a/Usage/Core_Concepts/characterdesign.md +++ b/Usage/Characters/characterdesign.md @@ -1,6 +1,6 @@ --- order: character-10 -icon: person-fill +route: /usage/core-concepts/characterdesign --- # Character Design diff --git a/Usage/Core_Concepts/chatfilemanagement.md b/Usage/Characters/chatfilemanagement.md similarity index 92% rename from Usage/Core_Concepts/chatfilemanagement.md rename to Usage/Characters/chatfilemanagement.md index 0768a713f..46b934d50 100644 --- a/Usage/Core_Concepts/chatfilemanagement.md +++ b/Usage/Characters/chatfilemanagement.md @@ -1,5 +1,6 @@ --- order: character-15 +route: /usage/core-concepts/chatfilemanagement --- # Chat File Management @@ -14,7 +15,7 @@ Some of these options are available in the "Manage chat files" dialog that opens The simplest way to use a character card is a Solo chat; just click on their card and start chatting. -Once you have a few character cards, you can also use the "Create New Chat Group" button to create a [group chat](/Usage/Core_Concepts/groupchats.md) including multiple characters which will then interact with each other and you. +Once you have a few character cards, you can also use the "Create New Chat Group" button to create a [group chat](/Usage/Characters/groupchats.md) including multiple characters which will then interact with each other and you. ## Chat import diff --git a/Usage/Core_Concepts/data-bank.md b/Usage/Characters/data-bank.md similarity index 99% rename from Usage/Core_Concepts/data-bank.md rename to Usage/Characters/data-bank.md index ab09b7ca3..1f00cb652 100644 --- a/Usage/Core_Concepts/data-bank.md +++ b/Usage/Characters/data-bank.md @@ -1,5 +1,6 @@ --- order: character-50 +route: /usage/core-concepts/data-bank tags: [ vector storage, diff --git a/Usage/Core_Concepts/groupchats.md b/Usage/Characters/groupchats.md similarity index 99% rename from Usage/Core_Concepts/groupchats.md rename to Usage/Characters/groupchats.md index 1707ddb64..6db32df0d 100644 --- a/Usage/Core_Concepts/groupchats.md +++ b/Usage/Characters/groupchats.md @@ -1,5 +1,6 @@ --- order: character-20 +route: /usage/core-concepts/groupchats --- # Group Chats diff --git a/Usage/Characters/index.md b/Usage/Characters/index.md new file mode 100644 index 000000000..378a96db2 --- /dev/null +++ b/Usage/Characters/index.md @@ -0,0 +1,121 @@ +--- +order: 100 +icon: person-fill +--- + +# Characters + +Characters are the AI identities that you can create and manage to shape the AI's role in the conversation. Each +character has a name, personality, and conversation history. You can create as many characters as you like, and +switch between them at any time. + +Characters can be used in solo chats, or add multiple characters to a group chat to +let them interact with each other. + +## Character Management Panel + +Open the **Characters** panel from the navbar to access the character +list. Click on a character or group to chat with them or edit them, or +choose **Create New Character** to add a new character. + +### Panel Controls + +* **Pin Panel**: Keep panel open while interacting +* **Character List**: Return to character list view +* **HotSwap Bar**: Quick access to favorite characters + +### Character List + +* **Create New Character**: Add a new character +* **Import Character**: Load character from file +* **External Import**: Import from URL +* **Create Group**: Start a new group chat + +#### Search and sort + +* **Search Bar**: Filter characters by name or attributes +* **Sort Dropdown**: Multiple sorting options: + - Alphabetical (A-Z, Z-A) + - Chronological (Newest, Oldest) + - Usage-based (Recent, Most/Least chats) + - Size-based (Most/Least tokens) + - Special (Favorites, Random) + +#### Filter characters by type or tag + +* **Favorites Filter**: Show favorite characters +* **Groups Filter**: Show only group chats +* **Tags as Folders**: Organize by tag hierarchy +* **Manage Tags**: [Tag configuration](/Usage/Characters/Tags.md) +* **Tag List**: View all available tags +* **Clear Filters**: Reset all filters + +### Character Creation/Edit Panel + +* **Avatar Image**: Upload and preview character profile picture +* **Token Count**: [Token usage](characterdesign.md#character-tokens) for the character +* **Stats**: Chat history and usage statistics +* [Tag management](/Usage/Characters/Tags.md) + +#### Quick Actions + +- Favorite toggle +- Advanced definitions +- Character lore +- Chat lore: link the chat to a [World Info](/Usage/worldinfo.md) +- Export character +- Duplicate +- Delete + +#### Extended Options + +* World Info linking +* Card lore import +* Scenario override +* Persona conversion +* Character rename +* Source linking +* Replace/Update +* Tag import +* Gallery view + +#### Content Fields + +* **[Character Description](characterdesign.md#character-description)**: Brief character summary +* **[First Message](characterdesign.md#first-message)**: Initial greeting or prompt when starting a new chat +* **Alternative greetings**: Define multiple first messages that you can swipe between when starting a chat + +### Advanced Definitions Panel + +Click on the **Advanced Definitions** button to access the extended character settings. + +#### Prompt Overrides (Chat Completion/Instruct Mode) + +* **Main Prompt**: Replaces default [main/system prompt](/Usage/Prompts/prompts.md#main-prompt-system-prompt), can use + \{\{original\}\} placeholder to include the original prompt +* **Post-History Instructions**: Overrides + default [post-history instructions](/Usage/Prompts/prompts.md#post-history-instructions) + +#### Creator's Metadata + +Non-prompt information about the character: + +- Creator name/contact +- Character version +- Creator's notes +- Embedded tags list + +#### Character Personality + +* **[Personality Summary](characterdesign.md#personality-summary)**: Brief overview of character's traits +* **[Scenario](characterdesign.md#scenario)**: Context and circumstances of the dialog +* **Character's Note**: Custom message with selectable depth and message role (also + see [Author's Note](/Usage/Characters/Author's-Note.md)) +* **Talkativeness** (Group Chats): Slider for Shy → Normal → Chatty +* **Example Messages**: Examples of character's writing style + +### Group Chat Management + +If this is a group chat, you can manage the group members and settings from this panel. + +See [Group Chats](/Usage/Characters/groupchats.md) for more details. diff --git a/Usage/hotkeys.md b/Usage/Chatting/hotkeys.md similarity index 97% rename from Usage/hotkeys.md rename to Usage/Chatting/hotkeys.md index 4d216f2ab..c80a6c8b3 100644 --- a/Usage/hotkeys.md +++ b/Usage/Chatting/hotkeys.md @@ -1,6 +1,7 @@ --- order: -60 icon: key-asterisk +route: /usage/hotkeys --- # HotKeys diff --git a/Usage/Chatting/index.md b/Usage/Chatting/index.md new file mode 100644 index 000000000..f8a1d187a --- /dev/null +++ b/Usage/Chatting/index.md @@ -0,0 +1,116 @@ +--- +icon: report +order: 170 +expanded: false +--- + +# Chatting + +When you are [connected to an API](/Usage/API_Connections/index.md), send messages to the AI by typing in the chat bar at the bottom of the screen. Then click **Send** or press Enter. +![Chat bar](/static/chatbox.png) + +The AI will respond with a message that continues the conversation. + +![Chat message](/static/chatmessage.png) + +You can now: + +* **Send another message** +* **Swipe the response**: Click the **Swipe** button on the message to generate a different response. +* **Edit the message**: Click the **Edit** button on any message to [edit the message content](#edit-message-content). +* **Message actions**: Click the **Message actions** button on a message for more [message options](#message-actions-panel) like translation, image generation, and story branching. +* **Chat options**: Click the **Options** button next to the chat bar for more [chat options](#chat-options-panel) like author's notes and chat file management. + +!!! Edit and swipe +If you wish you'd said something different, you can edit your message and then swipe the AI's response to get a new one. +!!! + +!!! Keyboard shortcuts +You can also use the **Right** arrow key to swipe, and the **Up** arrow key to edit the last message in the chat. For more hotkeys, use the `/help hotkeys` [slash command](/Usage/Chatting/slashcommands.md) in the chat or check the [HotKeys](/Usage/Chatting/hotkeys.md) page. +!!! + +## Message actions panel + +Manage individual chat messages via the ellipsis (•••) button on the message. + +To display these options for all messages in your chats, enable the [Expand Message Actions](/Usage/User_Settings/uicustomization.md#theme-toggles) setting in your user settings. + +### Core Functions + +* **Translate**: Convert message to different language +* **Generate Image**: [Create an image](/extensions/Stable-Diffusion.md) from message content +* **Narrate**: [Text-to-speech](/extensions/TTS.md) conversion +* **Prompt**: View the generation prompt and token usage + +### Message Visibility + +* **Included**: AI sees this message; click to exclude it +* **Excluded**: AI does not see this message; click to include it + +### Content Management + +* **Embed**: [Attach files or images](/Usage/Characters/data-bank.md#about-documents) +* **Checkpoint**: Create story checkpoint +* **Checkpoint Navigation**: Click to open checkpoint chat, Shift+Click to update + existing checkpoint +* **Branch**: Start alternate story path +* **Copy**: Copy message text +* **Edit**: Edit message content + +## Edit message content + +A compact panel of message manipulation tools that appears when you **Edit** a chat +message. + +### Core Actions + +* **Confirm**: Save message changes +* **Cancel**: Discard message changes + +### Message Operations + +* **Copy**: Duplicate message content +* **Delete**: Remove message + +### Message Position + +* **Move Up**: Shift message higher in chat +* **Move Down**: Shift message lower in chat + +Note: Movement controls may be disabled based on message position in chat history. + +## Chat options panel + +Manage chat settings and operations via the **Options** button at the bottom left of +the chat interface. + +### Display Controls + +* **Close chat**: Exit current chat session +* **Toggle Panels**: Show/hide [interface panels](/Usage/index.md#control-panels) + +### Generation Settings + +* **[Author's Note](/Usage/Characters/Author's-Note.md)**: Custom context instructions +* **[CFG Scale](/Usage/Prompts/CFG.md)**: Adjust response creativity +* **Token Probabilities**: View token generation stats + +### Chat Navigation + +* **Back to parent chat**: Return to main conversation +* **Save checkpoint**: Create story checkpoint +* **Convert to group**: Transform into [group chat](/Usage/Characters/groupchats.md) + +### Chat Management + +* **Start new chat**: Begin fresh conversation +* **Manage chat files**: [Chat file operations](/Usage/Characters/chatfilemanagement.md) such as import, export, and renaming + +### Message Controls + +* **Delete messages**: Select and remove multiple messages +* **Regenerate**: Create new response +* **Impersonate**: AI writes message as user +* **Continue**: Extend last message + +Note: Some options may be hidden depending on context and chat state. diff --git a/Usage/Core_Concepts/slashcommands.md b/Usage/Chatting/slashcommands.md similarity index 94% rename from Usage/Core_Concepts/slashcommands.md rename to Usage/Chatting/slashcommands.md index 58c1d90f1..47fce975e 100644 --- a/Usage/Core_Concepts/slashcommands.md +++ b/Usage/Chatting/slashcommands.md @@ -1,5 +1,6 @@ --- icon: rel-file-path +route: /usage/core-concepts/slashcommands --- # Slash commands diff --git a/Usage/Common-Settings.md b/Usage/Common-Settings.md index 8a58e3d82..bb9262e5d 100644 --- a/Usage/Common-Settings.md +++ b/Usage/Common-Settings.md @@ -1,5 +1,5 @@ --- -order: -50 +order: 160 icon: sliders --- diff --git a/Usage/Core_Concepts/index.md b/Usage/Core_Concepts/index.md deleted file mode 100644 index bddd54369..000000000 --- a/Usage/Core_Concepts/index.md +++ /dev/null @@ -1,75 +0,0 @@ ---- -icon: tasklist -order: -60 -expanded: true -route: /usage/core-concepts ---- - -## Configuration panels - -:::callout -**[Response Configuration](/Usage/Common-Settings.md)** and **[Prompt Manager](/Usage/Core_Concepts/prompt-manager.md)** - -sliders -Control text generation and sampling. Customize prompt construction for Chat Completion APIs. -::: - -:::callout -**[API Connections](/Usage/API_Connections/index.md)** - -API Connections icon -Connect to AI models for generating text, images, and more -::: - -:::callout -**[Advanced Formatting](/Usage/Core_Concepts/advancedformatting.md)** - -Advanced Formatting icon -Customize prompt construction for Text Completion APIs -::: - -:::callout -**[World Info](/Usage/Core_Concepts/worldinfo.md)** - -World Info icon -Manage information and when to insert it into the prompt -::: - -:::callout -**[User Settings](/Usage/Core_Concepts/user-settings.md)** - -User Settings icon -Change the theme, and the look and feel of messages and chats -::: - -:::callout -**Backgrounds** - -Backgrounds icon -Change the background image -::: - -:::callout -**[Extensions](/extensions/index.md)** - -Extensions icon -Add new features and capabilities to the AI or the interface -::: - -:::callout -**[Personas](/Usage/Core_Concepts/personas.md)** - -Personas icon -Create and manage personas to use with the AI -::: - -:::callout -**[Characters](/Usage/Core_Concepts/characterdesign.md)** - -Characters icon -Create and manage characters for the AI to use -::: - - - - diff --git a/Usage/Core_Concepts/CFG.md b/Usage/Prompts/CFG.md similarity index 100% rename from Usage/Core_Concepts/CFG.md rename to Usage/Prompts/CFG.md diff --git a/Usage/Core_Concepts/advancedformatting.md b/Usage/Prompts/advancedformatting.md similarity index 100% rename from Usage/Core_Concepts/advancedformatting.md rename to Usage/Prompts/advancedformatting.md diff --git a/Usage/Core_Concepts/context-template.md b/Usage/Prompts/context-template.md similarity index 100% rename from Usage/Core_Concepts/context-template.md rename to Usage/Prompts/context-template.md diff --git a/Usage/Core_Concepts/instructmode.md b/Usage/Prompts/instructmode.md similarity index 100% rename from Usage/Core_Concepts/instructmode.md rename to Usage/Prompts/instructmode.md diff --git a/Usage/Core_Concepts/prompt-manager.md b/Usage/Prompts/prompt-manager.md similarity index 100% rename from Usage/Core_Concepts/prompt-manager.md rename to Usage/Prompts/prompt-manager.md diff --git a/Usage/Core_Concepts/prompts.md b/Usage/Prompts/prompts.md similarity index 86% rename from Usage/Core_Concepts/prompts.md rename to Usage/Prompts/prompts.md index cdd281a70..87e41214e 100644 --- a/Usage/Core_Concepts/prompts.md +++ b/Usage/Prompts/prompts.md @@ -1,6 +1,6 @@ --- -order: prompts -icon: pencil +order: 140 +icon: typography --- # Prompts @@ -10,10 +10,10 @@ When you send a message to your AI, the text you write is combined with other te The prompt can include a variety of different types of text, including: * [Main instructions](#main-prompt-system-prompt) to the AI about how to generate a response -* Definitions of the [roles that the AI should take on](characterdesign.md) -* Definitions of [the role that you are taking on](personas.md) -* [Information about the "world"](worldinfo.md) that the AI is interacting with -* Relevant documents or information from [Data Bank](data-bank.md) +* Definitions of the [roles that the AI should take on](/Usage/Characters/characterdesign.md) +* Definitions of [the role that you are taking on](/Usage/personas.md) +* [Information about the "world"](/Usage/worldinfo.md) that the AI is interacting with +* Relevant documents or information from [Data Bank](/Usage/Characters/data-bank.md) * [Summaries](/extensions/Summarize.md) of the past conversation * Results of [web searches](/extensions/WebSearch.md) or other [external data sources](/For_Contributors/Function-Calling.md) * Previous messages in the conversation @@ -22,7 +22,7 @@ The prompt can include a variety of different types of text, including: This can be a lot to manage! To help you understand how to structure and modify the request that's sent to the AI, SillyTavern identifies different elements that you might want to include in your prompt. You can then structure your prompt to include the things that make sense for the way you want to interact with the AI. -Many of these elements are explained in the sections where you will change them. For example, to describe the role that you would like the AI to take on, you could use the [Description](characterdesign.md#personality-summary) field in [Character Design](characterdesign.md). +Many of these elements are explained in the sections where you will change them. For example, to describe the role that you would like the AI to take on, you could use the [Description](/Usage/Characters/characterdesign.md#personality-summary) field in [Character Design](/Usage/Characters/characterdesign.md). ## Viewing the Prompt @@ -69,7 +69,7 @@ The default Main Prompt is: The \{\{char\}\} and \{\{user\}\} placeholders are replaced with the names of the character and persona that you've defined in the conversation. -You can use any of the supported [\{\{macro\}\}](characterdesign.md#macros-replacement-tags) tags in the Main Prompt to include information that might vary between conversations or changes as the conversation progresses. +You can use any of the supported [\{\{macro\}\}](/Usage/Characters/characterdesign.md#macros-replacement-tags) tags in the Main Prompt to include information that might vary between conversations or changes as the conversation progresses. ### Adjusting the Main Prompt @@ -105,11 +105,11 @@ There is often a better place than the Main Prompt to include information about When adjusting the main prompt to improve the AI's responses, consder that the AI picks up a lot from the message history. The history is its memory of past events, character interactions and relationships, and its style guide for word choice and writing style. -Use this to your advantage by also providing [example messages](characterdesign.md#examples-of-dialogue) showing how you want the AI to respond. Showing what you want is often easier than trying to explain it! +Use this to your advantage by also providing [example messages](/Usage/Characters/characterdesign.md#examples-of-dialogue) showing how you want the AI to respond. Showing what you want is often easier than trying to explain it! When your conversation already has history, changing the main prompt has a limited effect on the AI's responses. In terms of events and relationships, the AI assumes that the main prompt occurred in the distant past, and the message history updates it. In terms of writing style and word choice, the AI assumes that all the messages in history were generated according to the rules in the *current* main prompt, and that it should continue to generate messages in the same way. Some suggestions for dealing with this are: -* insert current instructions close to or after the end of message history, for example by using an [Author's Note](Author's-Note.md) +* insert current instructions close to or after the end of message history, for example by using an [Author's Note](/Usage/Characters/Author's-Note.md) * test your changes to the main prompt by starting a new conversation * edit the message history to remove or correct examples of unwanted behaviour * use the [Post-History Instructions](#post-history-instructions) to provide final instructions to the AI @@ -134,7 +134,7 @@ You may not want the AI to think of itself as role-playing at all. Instead of re What if you want the AI to act as a narrator, describing events from an omniscient perspective, inventing its own characters and settings? -One approach is to create a named character for the AI to use as a narrator. This character could be called "Narrator" or "AI", suggesting that the AI is a general-purpose storyteller, or it could be named after a specific scenario or setting, giving the AI the task of narrating a story in that setting. The details of the setting can then be defined in the [Character](characterdesign.md) or in [World Info](worldinfo.md). +One approach is to create a named character for the AI to use as a narrator. This character could be called "Narrator" or "AI", suggesting that the AI is a general-purpose storyteller, or it could be named after a specific scenario or setting, giving the AI the task of narrating a story in that setting. The details of the setting can then be defined in the [Character](/Usage/Characters/characterdesign.md) or in [World Info](/Usage/worldinfo.md). You will need to adjust the default main prompt to reflect the AI's role. For a general-purpose narrator, you might use: @@ -162,9 +162,9 @@ Since the Post-History Instructions are sent after the user message, they are th +++ Text Completion APIs -Post-History Instructions cannot be defined globally. You could achieve the same effect with an [Author's Note](Author's-Note.md). +Post-History Instructions cannot be defined globally. You could achieve the same effect with an [Author's Note](/Usage/Characters/Author's-Note.md). -To use per-character Post-History Instructions, add them to the character's [Post-History Instructions](characterdesign.md) and enable **both** [Prefer Char. Instructions](user-settings.md) and [Allow Post-History Instructions](context-template.md#allow-post-history-instructions). +To use per-character Post-History Instructions, add them to the character's [Post-History Instructions](/Usage/Characters/characterdesign.md) and enable **both** [Prefer Char. Instructions](/Usage/User_Settings/User_Settings.md) and [Allow Post-History Instructions](context-template.md#allow-post-history-instructions). The Post-History Instructions is added as an invisible user role injection that precedes the last line of the prompt (usually containing a response message "header"). @@ -176,7 +176,7 @@ Post-History Instructions is one of the default prompts in [Prompt Manager](prom ## Adding to the Prompt (World Info) -You can insert additional information anywhere in the prompt using the [World Info](worldinfo.md) feature. By setting the conditions for when the information should be inserted, you can guide the AI to include specific details, change how it responds, or add new elements to the conversation. +You can insert additional information anywhere in the prompt using the [World Info](/Usage/worldinfo.md) feature. By setting the conditions for when the information should be inserted, you can guide the AI to include specific details, change how it responds, or add new elements to the conversation. Some common uses of World Info include: diff --git a/Usage/Core_Concepts/tokenizer.md b/Usage/Prompts/tokenizer.md similarity index 100% rename from Usage/Core_Concepts/tokenizer.md rename to Usage/Prompts/tokenizer.md diff --git a/Usage/Core_Concepts/user-settings.md b/Usage/User_Settings/User_Settings.md similarity index 98% rename from Usage/Core_Concepts/user-settings.md rename to Usage/User_Settings/User_Settings.md index c2cc26966..918356c8e 100644 --- a/Usage/Core_Concepts/user-settings.md +++ b/Usage/User_Settings/User_Settings.md @@ -1,6 +1,6 @@ --- +order: 120 icon: gear -order: user-settings --- # User Settings @@ -54,7 +54,7 @@ In the Account dialog, you can view and edit your profile information, change yo **Profile Information** * Display name (editable via pencil icon) -* User avatar (can also be changed using [Personas](/Usage/Core_Concepts/personas.md)) +* User avatar (can also be changed using [Personas](/Usage/personas.md)) * Account handle * User role * Account creation date @@ -136,7 +136,7 @@ For more information on the settings in this section of Characters](characterdesign.md) list: +* **Char List Subheader**: Choose what additional information to display under character names in the [ Characters](/Usage/Characters/characterdesign.md) list: - Character Version - Created by * **Import Card Tags**: Controls how tags are handled when importing character cards: diff --git a/Usage/Core_Concepts/Visual-Novel.md b/Usage/User_Settings/Visual-Novel.md similarity index 100% rename from Usage/Core_Concepts/Visual-Novel.md rename to Usage/User_Settings/Visual-Novel.md diff --git a/Usage/Core_Concepts/uicustomization.md b/Usage/User_Settings/uicustomization.md similarity index 98% rename from Usage/Core_Concepts/uicustomization.md rename to Usage/User_Settings/uicustomization.md index 5d989d89b..2287ee27b 100644 --- a/Usage/Core_Concepts/uicustomization.md +++ b/Usage/User_Settings/uicustomization.md @@ -85,7 +85,7 @@ To play your own custom sound on receiving a new message from bot, replace the f Plays at 80% volume. -If the "[Background Sound Only](user-settings.md#miscellaneous)" option is enabled, the sound plays only if SillyTavern window is **unfocused**. +If the "[Background Sound Only](User_Settings.md#miscellaneous)" option is enabled, the sound plays only if SillyTavern window is **unfocused**. ## Formulas Rendering diff --git a/Usage/branches.md b/Usage/branches.md index 67e85202e..344031713 100644 --- a/Usage/branches.md +++ b/Usage/branches.md @@ -1,8 +1,8 @@ --- -redirect: /installation/index.md +redirect: /installation visibility: hidden --- # Branches -This page has been moved to [Installation](/Installation). You will be redirected there shortly. If you are not redirected, click [here](/Installation). +This page has been moved to [Installation](/Installation/index.md). You will be redirected there shortly. If you are not redirected, click [here](/Installation). diff --git a/Usage/faq.md b/Usage/faq.md index 0a332ed51..917cf1236 100755 --- a/Usage/faq.md +++ b/Usage/faq.md @@ -1,5 +1,5 @@ --- -order: -20 +order: 180 icon: question --- @@ -22,7 +22,7 @@ SillyTavern is an app to facilitate these uses: SillyTavern can interact with two types of AI: 1. [Web services](/Usage/API_Connections/openai.md) (Cloud-based, usually paid, proprietary, closed) -2. [Self-hosted](self-hosted.md) (local, free, open-source) +2. [Self-hosted](/Usage/API_Connections/self-hosted.md) (local, free, open-source) ### Paid web service AIs @@ -54,7 +54,7 @@ Cons: * They are not as capable as SOTA models (i.e., they write worse dialog, are less creative, etc). * Running local models requires a GPU with at least 6GB VRAM. -If you are interested in using these, refer to the dedicated guide here: [How To Use A Self-Hosted Model](self-hosted.md). +If you are interested in using these, refer to the dedicated guide here: [How To Use A Self-Hosted Model](/Usage/API_Connections/self-hosted.md). ## Can I use SillyTavern on my phone or tablet? diff --git a/Usage/index.md b/Usage/index.md new file mode 100644 index 000000000..5660dd04b --- /dev/null +++ b/Usage/index.md @@ -0,0 +1,130 @@ +--- +order: 40 +icon: plus +expanded: true +--- + +# Usage + +Interact with AI, your way. Build your world, your work, or your dreams. + +:::callout +## Getting Started + +**[Quick Start](/Usage/quick-start.md)** + +Send your first message to the AI and get a response + +**[Chatting](/Usage/Chatting/index.md)** + +How to chat with the AI and use the chat interface + +**[FAQ](/Usage/Common-Settings.md)** + +Frequently asked questions about SillyTavern, AI models, making characters, getting better responses, and more +::: + + +:::callout +## Fundamentals + +**[API Connections](/Usage/API_Connections/index.md)** + +Connect to AI models for generating text, images, and more + +**[Characters](/Usage/Characters/index.md)** and **[Personas](/Usage/personas.md)** + +Create and use characters to shape the AI's role, and personas to define your identities + +**[Response Configuration](/Usage/Common-Settings.md)** and **[Prompts](/Usage/Prompts/prompts.md)** + +Control the requests that you send to the AI and how it responds +::: + +:::callout +## Building on SillyTavern + +**[World Info](/Usage/worldinfo.md)** + +Manage information and when to insert it into the prompt + +**[Data Bank](/Usage/Characters/data-bank.md)** + +Store and retrieve information for use in the AI's responses + +**[Extensions](/extensions/index.md)** + +Add new features and capabilities to the AI or the interface + +**[Development and Automation](/For_Contributors/index.md)** + +Automate tasks, let your AI interact with the world, and write your own extensions +::: + +--- + +## Control Panels + +What all the buttons do, from the left to the right: + +:::callout + **[Response Configuration](/Usage/Common-Settings.md)** +and **[Prompt Manager](/Usage/Prompts/prompt-manager.md)** + +Control text generation and sampling. Customize prompt construction for Chat Completion APIs. +::: + +:::callout + **[API Connections](/Usage/API_Connections/index.md)** + +Connect to AI models for generating text, images, and more +::: + +:::callout + **[Advanced Formatting](/Usage/Prompts/advancedformatting.md)** + +Customize prompt construction for Text Completion APIs +::: + +:::callout + **[World Info](/Usage/worldinfo.md)** + +Manage information and when to insert it into the prompt +::: + +:::callout + **[User Settings](/Usage/User_Settings/User_Settings.md)** + +Change the theme, and the look and feel of messages and chats +::: + +:::callout + **Backgrounds** + +Change the background image +::: + +:::callout + +**[Extensions](/extensions/index.md)** + +Add new features and capabilities to the AI or the interface +::: + +:::callout + +**[Personas](/Usage/personas.md)** + +Create and manage personas to use with the AI +::: + +:::callout + +**[Characters](/Usage/Characters/index.md)** + +Create and manage characters for the AI to use +::: + + + + diff --git a/Usage/index.yml b/Usage/index.yml deleted file mode 100644 index a47895df8..000000000 --- a/Usage/index.yml +++ /dev/null @@ -1,3 +0,0 @@ -order: 40 -icon: plus -expanded: true diff --git a/Usage/Core_Concepts/personas.md b/Usage/personas.md similarity index 98% rename from Usage/Core_Concepts/personas.md rename to Usage/personas.md index 5b0f1d60f..f9c5a7fee 100644 --- a/Usage/Core_Concepts/personas.md +++ b/Usage/personas.md @@ -1,8 +1,10 @@ --- +order: 110 icon: smiley +route: /usage/core-concepts/personas --- -# Persona Management +# Personas ## What is a persona? diff --git a/Usage/quick-start.md b/Usage/quick-start.md index 807a1b224..1bca6f655 100644 --- a/Usage/quick-start.md +++ b/Usage/quick-start.md @@ -1,9 +1,10 @@ --- -title: Quick Start +order: 190 icon: rocket -order: -10 --- +# Quick Start + !!!light I'm clueless. Just spoonfeed me the easiest and fastest way I can start using SillyTavern. -- *Anonymous* !!! @@ -33,7 +34,7 @@ You can get started with SillyTavern in just a few minutes. Here are two easy wa 6. Close the API Connections window. Enter a message in the chat box at the bottom and press Enter. ![This is an optional caption](/static/quick-start/5_msg.png) -7. Your AI will respond in a few moments. You can continue chatting with it. Success! +7. Your AI will respond in a few moments. You can continue [chatting](/Usage/Chatting/index.md) with it. Success! ![This is an optional caption](/static/quick-start/6_success.png) diff --git a/Usage/Core_Concepts/worldinfo.md b/Usage/worldinfo.md similarity index 98% rename from Usage/Core_Concepts/worldinfo.md rename to Usage/worldinfo.md index 66fbf656e..3f4b54c65 100644 --- a/Usage/Core_Concepts/worldinfo.md +++ b/Usage/worldinfo.md @@ -1,5 +1,5 @@ --- -order: worldinfo +order: 130 icon: globe --- @@ -157,7 +157,7 @@ A single entry can be part of multiple inclusion groups if they are defined as a #### Prioritize Inclusion -To provide more control over which entries are activated via [Inclusion Group](/Usage/Core_Concepts/worldinfo.md#inclusion-group), you can use the 'Prioritize Inclusion' setting. This option allows you to specify deterministically which entry to choose instead of randomly rolling Group Weight chances. +To provide more control over which entries are activated via [Inclusion Group](/Usage/worldinfo.md#inclusion-group), you can use the 'Prioritize Inclusion' setting. This option allows you to specify deterministically which entry to choose instead of randomly rolling Group Weight chances. If multiple entries having the same group label and this setting turned on were activated, the one with the highest 'Order' value will be selected. This is useful for creating fallback sequences via inclusion groups. For example to prioritize low-depth entries with more emphasis, or to choose a specific instruction on setting the scene over another if both are valid. @@ -200,7 +200,7 @@ To enable and use this, the following prerequisites need to be met: 2. The "Enable for World Info" checkbox is ticked in the Vector Storage extension settings. 3. Either the World Info entries that are allowed for keyless matching have the "Vectorized" (🔗) status or the "Enabled for all entries" option is checked in the Vector Storage settings. -The choice of the vectorization model in the extension and the theoretical meaning behind the term "embeddings" won't be covered here. Check out the [Data Bank](/Usage/Core_Concepts/data-bank.md#vector-storage) guide if you require more info on this topic. +The choice of the vectorization model in the extension and the theoretical meaning behind the term "embeddings" won't be covered here. Check out the [Data Bank](/Usage/Characters/data-bank.md#vector-storage) guide if you require more info on this topic. Vector Storage matching adheres to this set of rules: diff --git a/_includes/head.html b/_includes/head.html index bb3694f5a..ac046495b 100644 --- a/_includes/head.html +++ b/_includes/head.html @@ -31,9 +31,7 @@ min-height: 8rem; } - .callout img { - width: 3rem; - float: left; + .callout i.fa-solid { margin-right: 1rem; filter: invert(42%) hue-rotate(183deg) brightness(91%) contrast(83%); } diff --git a/extensions/Chat-vectorization.md b/extensions/Chat-vectorization.md index 612ce3582..c1b4e29f7 100644 --- a/extensions/Chat-vectorization.md +++ b/extensions/Chat-vectorization.md @@ -51,10 +51,10 @@ in our collection that are most similar to the text in the search query. In the To enable Chat vectorization, select "Extensions" > "Vector Storage" > "Enabled for chat messages". Configure a vectorization source and vectorization model. Chat vectorization uses the same vector source as Data Bank, -so you may have set this up already. The settings for the Vectorization Source and Vectorization Model are documented in [Data Bank](/Usage/Core_Concepts/data-bank.md). +so you may have set this up already. The settings for the Vectorization Source and Vectorization Model are documented in [Data Bank](/Usage/Characters/data-bank.md). Chat vectorization uses the same vector storage as Data Bank, but this does not need to be set up or configured. -There is also information about Vector Storage in [Data Bank](/Usage/Core_Concepts/data-bank.md). +There is also information about Vector Storage in [Data Bank](/Usage/Characters/data-bank.md). Chat vectorization does not use Data Bank to store the chat messages. The messages are stored in the chat. diff --git a/readme.md b/readme.md index 8efbc4022..109ba3ce4 100644 --- a/readme.md +++ b/readme.md @@ -44,17 +44,17 @@ To have a quick conversation without selecting a character card or to just test To get a general idea on how to define character cards, see the default character (Seraphina) or download selected community-made cards from the "Download Extensions & Assets" menu. -You can also create your own character cards from scratch. Refer to the [Character Design](/Usage/Core_Concepts/characterdesign.md) guide for more information. +You can also create your own character cards from scratch. Refer to the [Character Design](/Usage/Characters/characterdesign.md) guide for more information. ## Key Features -* Advanced [text generation settings](/Usage/Core_Concepts/advancedformatting.md) with many community-made presets -* [World Info support](Usage/Core_Concepts/worldinfo.md): create rich lore or save tokens on your character card -* [Group chats](/Usage/Core_Concepts/groupchats.md): multi-bot rooms for characters to talk to you and/or each other -* [Rich UI customization options](/Usage/Core_Concepts/uicustomization.md): theme colors, background images, custom CSS, and more -* [User personas](/Usage/Core_Concepts/personas.md): let the AI know a bit about you for greater immersion -* [Built-in RAG support](/Usage/Core_Concepts/data-bank.md): add documents to your chats for the AI to reference -* Extensive [chat commands](/Usage/Core_Concepts/slashcommands.md) subsystem and own [scripting engine](/For_Contributors/st-script.md) +* Advanced [text generation settings](/Usage/Prompts/advancedformatting.md) with many community-made presets +* [World Info support](Usage/worldinfo.md): create rich lore or save tokens on your character card +* [Group chats](/Usage/Characters/groupchats.md): multi-bot rooms for characters to talk to you and/or each other +* [Rich UI customization options](/Usage/User_Settings/uicustomization.md): theme colors, background images, custom CSS, and more +* [User personas](/Usage/personas.md): let the AI know a bit about you for greater immersion +* [Built-in RAG support](/Usage/Characters/data-bank.md): add documents to your chats for the AI to reference +* Extensive [chat commands](/Usage/Chatting/slashcommands.md) subsystem and own [scripting engine](/For_Contributors/st-script.md) ## Extensions diff --git a/static/chatbox.png b/static/chatbox.png new file mode 100644 index 0000000000000000000000000000000000000000..9ed117430459f56f058e131b03350844906c4a4b GIT binary patch literal 28488 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 literal 0 HcmV?d00001 diff --git a/static/chatmessage.png b/static/chatmessage.png new file mode 100644 index 0000000000000000000000000000000000000000..2f855cc69506675f82b236cacca83e182f1f518f GIT binary patch literal 96206 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 z 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 N*oE~)pXtR@Ee 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 literal 0 HcmV?d00001