mirror of
https://github.com/oobabooga/text-generation-webui.git
synced 2024-11-22 08:07:56 +01:00
Update docs/Extensions.md
This commit is contained in:
parent
8f85d84e08
commit
687f21f965
@ -1,6 +1,6 @@
|
|||||||
Extensions are defined by files named `script.py` inside subfolders of `text-generation-webui/extensions`. They are invoked with the `--extensions` flag.
|
Extensions are defined by files named `script.py` inside subfolders of `text-generation-webui/extensions`. They are loaded at startup if specified with the `--extensions` flag.
|
||||||
|
|
||||||
For instance, `extensions/silero_tts/script.py` gets invoked with `python server.py --extensions silero_tts`.
|
For instance, `extensions/silero_tts/script.py` gets loaded with `python server.py --extensions silero_tts`.
|
||||||
|
|
||||||
## [text-generation-webui-extensions](https://github.com/oobabooga/text-generation-webui-extensions)
|
## [text-generation-webui-extensions](https://github.com/oobabooga/text-generation-webui-extensions)
|
||||||
|
|
||||||
@ -29,7 +29,11 @@ Most of these have been created by the extremely talented contributors that you
|
|||||||
|
|
||||||
## How to write an extension
|
## How to write an extension
|
||||||
|
|
||||||
`script.py` has access to all variables in the UI through the `modules.shared` module, and it may define the following functions:
|
script.py may define the special functions and variables below.
|
||||||
|
|
||||||
|
#### Predefined functions
|
||||||
|
|
||||||
|
The following functions may be defined in `script.py`:
|
||||||
|
|
||||||
| Function | Description |
|
| Function | Description |
|
||||||
|-------------|-------------|
|
|-------------|-------------|
|
||||||
@ -38,7 +42,7 @@ Most of these have been created by the extremely talented contributors that you
|
|||||||
| `def custom_js()` | Returns custom javascript as a string. |
|
| `def custom_js()` | Returns custom javascript as a string. |
|
||||||
| `def input_modifier(string)` | Modifies the input string before it enters the model. In chat mode, it is applied to the user message. Otherwise, it is applied to the entire prompt. |
|
| `def input_modifier(string)` | Modifies the input string before it enters the model. In chat mode, it is applied to the user message. Otherwise, it is applied to the entire prompt. |
|
||||||
| `def output_modifier(string)` | Modifies the output string before it is presented in the UI. In chat mode, it is applied to the bot's reply. Otherwise, it is applied to the entire output. |
|
| `def output_modifier(string)` | Modifies the output string before it is presented in the UI. In chat mode, it is applied to the bot's reply. Otherwise, it is applied to the entire output. |
|
||||||
| `def state_modifier(state)` | Modifies the dictionary containing the input parameters before it is used by the text generation functions. |
|
| `def state_modifier(state)` | Modifies the dictionary containing the UI input parameters before it is used by the text generation functions. |
|
||||||
| `def bot_prefix_modifier(string)` | Applied in chat mode to the prefix for the bot's reply (more on that below). |
|
| `def bot_prefix_modifier(string)` | Applied in chat mode to the prefix for the bot's reply (more on that below). |
|
||||||
| `def custom_generate_reply(...)` | Overrides the main text generation function. |
|
| `def custom_generate_reply(...)` | Overrides the main text generation function. |
|
||||||
| `def custom_generate_chat_prompt(...)` | Overrides the prompt generator in chat mode. |
|
| `def custom_generate_chat_prompt(...)` | Overrides the prompt generator in chat mode. |
|
||||||
@ -49,8 +53,6 @@ Additionally, the script may define two special global variables:
|
|||||||
|
|
||||||
#### `params` dictionary
|
#### `params` dictionary
|
||||||
|
|
||||||
`script.py` may contain a special dictionary called `params`:
|
|
||||||
|
|
||||||
```python
|
```python
|
||||||
params = {
|
params = {
|
||||||
"display_name": "Google Translate",
|
"display_name": "Google Translate",
|
||||||
@ -58,9 +60,9 @@ params = {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
In this dictionary, `display_name` is used to define the displayed name of the extension inside the UI, and `is_tab` is used to define whether the extension's `ui()` function should be called in a new `gr.Tab()` that will appear in the header bar. By default, the extension appears at the bottom of the "Text generation" tab.
|
`display_name` is used to define the displayed name of the extension in the UI, and `is_tab` is used to define whether the extension should appear in a new tab. By default, extensions appear at the bottom of the "Text generation" tab.
|
||||||
|
|
||||||
Additionally, `params` may contain variables that you want to be customizable through a `settings.json` file. For instance, assuming the extension is in `extensions/google_translate`, the variable `language string` below
|
Additionally, `params` may contain variables that you want to be customizable through a `settings.json` file. For instance, assuming the extension is in `extensions/google_translate`, the variable `language string` below:
|
||||||
|
|
||||||
```python
|
```python
|
||||||
params = {
|
params = {
|
||||||
|
Loading…
Reference in New Issue
Block a user