mirror of
https://github.com/SillyTavern/SillyTavern.git
synced 2025-06-05 21:59:27 +02:00
better p-b cookie guide & SD last-message prompt
This commit is contained in:
@ -50,11 +50,11 @@ This is because every AI model has a limit to the amount of context it can proce
|
||||
|
||||
This is the information that gets sent to the AI each time you ask it to generate a response:
|
||||
|
||||
* Character definitions
|
||||
* Chat history
|
||||
* Author's Notes
|
||||
* Special Format strings
|
||||
* [bracket commands]
|
||||
* Character definitions
|
||||
* Chat history
|
||||
* Author's Notes
|
||||
* Special Format strings
|
||||
* [bracket commands]
|
||||
|
||||
SillyTavern automatically calculates the best way to allocate the available context tokens before sending the information to the AI model.
|
||||
|
||||
@ -62,23 +62,23 @@ SillyTavern automatically calculates the best way to allocate the available cont
|
||||
|
||||
These will always be sent to the AI with every generation request:
|
||||
|
||||
* Character Name (keep the name short! Sent at the start of EVERY Character message)
|
||||
* Character Description Box
|
||||
* Character Personality Box
|
||||
* Scenario Box
|
||||
* Character Name (keep the name short! Sent at the start of EVERY Character message)
|
||||
* Character Description Box
|
||||
* Character Personality Box
|
||||
* Scenario Box
|
||||
|
||||
### What parts of a Character's Definitions are NOT permanent?
|
||||
|
||||
* The first message box - only sent once at the start of the chat.
|
||||
* Example messages box - only kept until chat history fills up the context (optionally these can be forced to be kept in context)
|
||||
* The first message box - only sent once at the start of the chat.
|
||||
* Example messages box - only kept until chat history fills up the context (optionally these can be forced to be kept in context)
|
||||
|
||||
### Popular AI Model Context Token Limits
|
||||
|
||||
* Older models below 6B parameters - 1024
|
||||
* Pygmalion 6B - 2048
|
||||
* Poe.com (Claude-instant or ChatGPT) - 2048
|
||||
* OpenAI ChatGPT - 4000-ish?
|
||||
* OpenAI GPT-4 - 8000?
|
||||
* Older models below 6B parameters - 1024
|
||||
* Pygmalion 6B - 2048
|
||||
* Poe.com (Claude-instant or ChatGPT) - 2048
|
||||
* OpenAI ChatGPT - 4000-ish?
|
||||
* OpenAI GPT-4 - 8000?
|
||||
|
||||
### Personality summary
|
||||
|
||||
@ -106,7 +106,6 @@ For example:
|
||||
|
||||
`*I noticed you came inside, I walked up and stood right in front of you* Welcome. I'm glad to see you here. *I said with toothy smug sunny smile looking you straight in the eye* What brings you...`
|
||||
|
||||
|
||||
### Examples of dialogue
|
||||
|
||||
Describes how the character speaks. Before each example, you need to add the <START> tag.
|
||||
@ -217,7 +216,7 @@ Entries inserted by direct mentioning of their keys have higher priority than th
|
||||
|
||||
**Entries can activate other entries by mentioning their keywords in the content text.**
|
||||
|
||||
For example, if your World Info contains two entries:
|
||||
For example, if your World Info contains two entries:
|
||||
|
||||
```
|
||||
Entry #1
|
||||
@ -366,7 +365,7 @@ The range of influence of Repetition penalty in tokens.
|
||||
|
||||
If your subscription tier is Paper, Tablet or Scroll use only Euterpe model otherwise you can not get an answer from NovelAI API.
|
||||
|
||||
## OpenAI
|
||||
## OpenAI
|
||||
|
||||
### API key
|
||||
|
||||
@ -385,11 +384,14 @@ _Lost API keys can't be restored! Make sure to keep it safe!_
|
||||
|
||||
**How to get your access token / cookie:**
|
||||
|
||||
1. Login to [poe.com](https://poe.com)
|
||||
2. Open browser DevTools (F12) and navigate to "Application" tab
|
||||
3. Find a _p-b_ cookie for poe.com domain and copy its value
|
||||
4. Paste cookie value to the box below and click "Connect"
|
||||
5. Select a character and start chatting
|
||||
1. Login to [poe.com](https://poe.com)
|
||||
2. Open browser DevTools (F12) and navigate to "Application" tab.
|
||||
3. Type any message into the poe.com chat, and get a response from the AI.
|
||||
4. Find the 'Cookie' section on the left side of Dev Tools 'Application' tab, expand it
|
||||
5. Click "<http://poe.com/>" listing inside the Cookies section.
|
||||
6. Look to the right for the listing of _p-b_ and copy its Value.
|
||||
7. Paste the cookie value into the Poe API connection URL box, and click "Connect".
|
||||
8. Select a character and start chatting
|
||||
|
||||
## Anchors
|
||||
|
||||
@ -419,7 +421,7 @@ Write one reply in internet RP style for {{char}}. Be verbose and creative.
|
||||
|
||||
Provides ready-made presets with prompts and sequences for some well-known instruct models.
|
||||
|
||||
*Changing a preset resets your system prompt to default!*
|
||||
_Changing a preset resets your system prompt to default!_
|
||||
|
||||
#### Input Sequence
|
||||
|
||||
@ -441,7 +443,7 @@ Text that denotes the end of the reply. Will be trimmed from the output text.
|
||||
|
||||
If enabled, prepend character and user names to chat history logs after inserting the sequences.
|
||||
|
||||
*Always enabled for group chats!*
|
||||
_Always enabled for group chats!_
|
||||
|
||||
#### Wrap Sequences with Newline
|
||||
|
||||
@ -457,7 +459,7 @@ To import Character.AI chats, use this tool: [https://github.com/0x000011b/chara
|
||||
|
||||
**Important: This section doesn't apply to OpenAI API. SillyTavern will always use a matching tokenizer for OpenAI models.**
|
||||
|
||||
A tokenizer is a tool that breaks down a piece of text into smaller units called tokens. These tokens can be individual words or even parts of words, such as prefixes, suffixes, or punctuation. A rule of thumb is that one token generally corresponds to 3~4 characters of text.
|
||||
A tokenizer is a tool that breaks down a piece of text into smaller units called tokens. These tokens can be individual words or even parts of words, such as prefixes, suffixes, or punctuation. A rule of thumb is that one token generally corresponds to 3~4 characters of text.
|
||||
|
||||
SillyTavern can use the following tokenizers while forming a request to the AI backend:
|
||||
|
||||
@ -470,7 +472,7 @@ SillyTavern can use the following tokenizers while forming a request to the AI b
|
||||
|
||||
**Important: This section doesn't apply to OpenAI API. SillyTavern will always use a matching tokenizer for OpenAI models.**
|
||||
|
||||
SillyTavern cannot use a proper tokenizer provided by the model running on a remote instance of KoboldAI or Oobabooga's TextGen, so all token counts assumed during prompt generation are estimated based on the selected [tokenizer](#Tokenizer) type.
|
||||
SillyTavern cannot use a proper tokenizer provided by the model running on a remote instance of KoboldAI or Oobabooga's TextGen, so all token counts assumed during prompt generation are estimated based on the selected [tokenizer](#tokenizer) type.
|
||||
|
||||
Since the results of tokenization can be inaccurate on context sizes close to the model-defined maximum, some parts of the prompt may be trimmed or dropped, which may negatively affect the coherence of character definitions.
|
||||
|
||||
@ -490,15 +492,15 @@ Overrides the default separators controlled by "Disable example chats formatting
|
||||
|
||||
#### Disable description formatting
|
||||
|
||||
`**NAME's Persona:** `won't be prepended to the content of your character's Description box.
|
||||
`**NAME's Persona:**`won't be prepended to the content of your character's Description box.
|
||||
|
||||
#### Disable scenario formatting
|
||||
|
||||
`**Scenario:** `won't be prepended to the content of your character's Scenario box.
|
||||
`**Scenario:**`won't be prepended to the content of your character's Scenario box.
|
||||
|
||||
#### Disable personality formatting
|
||||
|
||||
`**Personality:** `won't be prepended to the content of your character's Personality box.
|
||||
`**Personality:**`won't be prepended to the content of your character's Personality box.
|
||||
|
||||
#### Disable example chats formatting
|
||||
|
||||
@ -522,11 +524,11 @@ Has no effect.
|
||||
|
||||
#### Disable scenario formatting
|
||||
|
||||
`**Circumstances and context of the dialogue:** `won't be prepended to the content of your character's Scenario box.
|
||||
`**Circumstances and context of the dialogue:**`won't be prepended to the content of your character's Scenario box.
|
||||
|
||||
#### Disable personality formatting
|
||||
|
||||
`**NAME's personality:** `won't be prepended to the content of your character's Personality box.
|
||||
`**NAME's personality:**`won't be prepended to the content of your character's Personality box.
|
||||
|
||||
#### Disable example chats formatting
|
||||
|
||||
@ -577,31 +579,31 @@ Characters are drafted based on the order they are presented in group members li
|
||||
|
||||
## Multigen
|
||||
|
||||
*This feature provides a pseudo-streaming functionality which conflicts with token streaming. When Multigen is enabled and generation API supports streaming, only Multigen streaming will be used.*
|
||||
_This feature provides a pseudo-streaming functionality which conflicts with token streaming. When Multigen is enabled and generation API supports streaming, only Multigen streaming will be used._
|
||||
|
||||
SillyTavern tries to create faster and longer responses by chaining the generation using smaller batches.
|
||||
|
||||
### Default settings:
|
||||
### Default settings
|
||||
|
||||
First batch = 50 tokens
|
||||
|
||||
Next batches = 30 tokens
|
||||
|
||||
### Algorithm:
|
||||
### Algorithm
|
||||
|
||||
1. Generate the first batch (if amount of generation setting is more than batch length).
|
||||
2. Generate next batch of tokens until one of the stopping conditions is reached.
|
||||
3. Append the generated text to the next cycle's prompt.
|
||||
|
||||
### Stopping conditions:
|
||||
### Stopping conditions
|
||||
|
||||
1. Generated enough text.
|
||||
2. Character starts speaking for You.
|
||||
3. <|endoftext|> token reached.
|
||||
4. No text generated.
|
||||
5. Stop sequence generated. (Instruct mode only)
|
||||
5. Stop sequence generated. (Instruct mode only)
|
||||
|
||||
## User Settings
|
||||
## User Settings
|
||||
|
||||
### Message Sound
|
||||
|
||||
@ -620,13 +622,15 @@ Enables math formulas rendering using the [showdown-katex](https://obedm503.gith
|
||||
The following formatting rules are supported:
|
||||
|
||||
#### LaTeX syntax
|
||||
|
||||
```
|
||||
$$ formula goes here $$
|
||||
```
|
||||
|
||||
#### Asciimath syntax
|
||||
|
||||
```
|
||||
$ formula goes here $
|
||||
formula goes here $
|
||||
```
|
||||
|
||||
More information: [KaTeX](https://katex.org/)
|
||||
More information: [KaTeX](https://katex.org/)
|
||||
|
@ -56,7 +56,31 @@ const quietPrompts = {
|
||||
//prompt for only the last message
|
||||
[generationMode.USER]: "[Pause your roleplay and provide a detailed description of {{user}}'s physical appearance from the perspective of {{char}} in the form of a comma-delimited list of keywords and phrases. The list must include all of the following items in this order: name, species and race, gender, age, clothing, occupation, physical features and appearances. Do not include descriptions of non-visual qualities such as personality, movements, scents, mental traits, or anything which could not be seen in a still photograph. Do not write in full sentences. Prefix your description with the phrase 'full body portrait,'. Ignore the rest of the story when crafting this description. Do not roleplay as {{char}} when writing this description, and do not attempt to continue the story.]",
|
||||
[generationMode.SCENARIO]: "[Pause your roleplay and provide a detailed description for all of the following: a brief recap of recent events in the story, {{char}}'s appearance, and {{char}}'s surroundings. Do not roleplay while writing this description.]",
|
||||
[generationMode.NOW]: "[Pause your roleplay and provide a brief description of the last chat message. Focus on visual details, clothing, actions and make them all coherent to the current state of the story. Ignore the non-visible feelings and thoughts of {{char}} and {{user}} as well as any spoken dialog. Do not roleplay as {{char}} while writing this description. Do not continue the roleplay story.]",
|
||||
|
||||
[generationMode.NOW]: `[Pause your roleplay. Your next response must be formatted as a single comma-delimited list of concise keywords. The list will describe of the visual details included in the last chat message.
|
||||
|
||||
Only mention characters by using pronouns ('he','his','she','her','it','its') or neutral nouns ('male', 'the man', 'female', 'the woman').
|
||||
|
||||
Ignore non-visible things such as feelings, personality traits, thoughts, and spoken dialog.
|
||||
|
||||
Add keywords in this precise order:
|
||||
a keyword to describe the location of the scene,
|
||||
a keyword to mention how many characters of each gender or type are present in the scene (minimum of two characters:
|
||||
{{user}} and {{char}}, example: '2 men ' or '1 man 1 woman ', '1 man 3 robots'),
|
||||
|
||||
keywords to describe the relative physical positioning of the characters to each other (if a commonly known term for the positioning is known use it isntead of describing the positioning in detail) + 'POV',
|
||||
|
||||
a single keyword or phrase to describe the primary act taking place in the last chat message,
|
||||
|
||||
keywords to describe {{char}}'s physical appearance and facial expression,
|
||||
keywords to describe {{char}}'s actions,
|
||||
keywords to describe {{user}}'s physical appearance and actions.
|
||||
|
||||
If character actions involve direct physical interaction with another character, mention specifically which body parts interacting and how.
|
||||
|
||||
A correctly formatted example response would be:
|
||||
'(location),(character list by gender),(primary action), (relative character position) POV, (character 1's description and actions), (character 2's description and actions)']`,
|
||||
|
||||
[generationMode.RAW_LAST]: "[Pause your roleplay and provide ONLY the last chat message string back to me verbatim. Do not write anything after the string. Do not roleplay at all in your response. Do not continue the roleplay story.]",
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user