mirror of
https://github.com/SillyTavern/SillyTavern.git
synced 2025-06-05 21:59:27 +02:00
Compare commits
598 Commits
img-swipe-
...
ThonkProbs
Author | SHA1 | Date | |
---|---|---|---|
|
99e3c22311 | ||
|
09f2b2f731 | ||
|
fc1020a8e4 | ||
|
9305c29780 | ||
|
2aa5addb1d | ||
|
e6530cb22d | ||
|
44b7a09cb6 | ||
|
4c56f3068a | ||
|
cc75768668 | ||
|
c7963d683f | ||
|
b2ed69aac2 | ||
|
aef005007f | ||
|
8a4da487dd | ||
|
c6a64d8526 | ||
|
104d4ccebc | ||
|
596353389b | ||
|
c1c77a6a60 | ||
|
da7f97b663 | ||
|
b71b94d410 | ||
|
fa8ea7c60d | ||
|
7a4d6ecfde | ||
|
5c027634ff | ||
|
3be991591f | ||
|
5e31a21d8d | ||
|
0f1bb766f6 | ||
|
4a5d0df92f | ||
|
edb9702055 | ||
|
bf8b3b5013 | ||
|
bf66a39579 | ||
|
6625e4036e | ||
|
c626700226 | ||
|
835c731bcd | ||
|
78b42905f4 | ||
|
7b777fb803 | ||
|
fc43ae3891 | ||
|
df07fa8c94 | ||
|
573ada296e | ||
|
636ecef28a | ||
|
3db2db1c65 | ||
|
f0fbd7e3d4 | ||
|
99f47de88b | ||
|
ca29de4704 | ||
|
bb9fe64652 | ||
|
4e0685f998 | ||
|
bf9ef8fa0f | ||
|
3165537ce8 | ||
|
5f79c0c262 | ||
|
27f2fac916 | ||
|
1e57342639 | ||
|
b25322b844 | ||
|
a122109e0c | ||
|
b9383ace1e | ||
|
e27fca6628 | ||
|
1822c4f91b | ||
|
ec2876aefe | ||
|
5fa64361c2 | ||
|
07a6017443 | ||
|
b8f7675d8c | ||
|
becaee8f35 | ||
|
c677f0324a | ||
|
a089727591 | ||
|
62b02bec3f | ||
|
60232c73cc | ||
|
2301b5324a | ||
|
db2971c82d | ||
|
d3bb625efe | ||
|
7431b0e8aa | ||
|
2c0dcdc449 | ||
|
63b48b9211 | ||
|
ef59afcec1 | ||
|
9cff3861b4 | ||
|
757b7d5371 | ||
|
b3a3b9d347 | ||
|
999a43b2e5 | ||
|
048ea943bc | ||
|
511ae39b0b | ||
|
63e7139a81 | ||
|
8dc7aa0c20 | ||
|
8c42de7565 | ||
|
7deef1aa12 | ||
|
98e96b8c07 | ||
|
a5d63b064a | ||
|
6aeced98a6 | ||
|
6cb1eb3fe6 | ||
|
e4d389a5b6 | ||
|
7eb23a2fcc | ||
|
db67633af6 | ||
|
0cd0ce2374 | ||
|
5ddc8f17a0 | ||
|
1c40ea10f4 | ||
|
729830c2fc | ||
|
71e92af09d | ||
|
3340009a29 | ||
|
310b0f30cd | ||
|
0ca4cc08bb | ||
|
666d5712c7 | ||
|
c453e94486 | ||
|
f0d01d35a6 | ||
|
11908f7363 | ||
|
d5002863e0 | ||
|
775ae0f557 | ||
|
97e1f482c1 | ||
|
05daddb60c | ||
|
ed895b7c3e | ||
|
6fb664fe24 | ||
|
0f8b610454 | ||
|
d8bc38c0b0 | ||
|
54e880ef32 | ||
|
28ca8176f8 | ||
|
0aad86c0b6 | ||
|
12badb3d67 | ||
|
31cc05ae46 | ||
|
3e0697b7c7 | ||
|
7c54a74ffa | ||
|
15daf19a08 | ||
|
61c7f53d22 | ||
|
10f51b703b | ||
|
dd1c506694 | ||
|
9c9ed1593a | ||
|
acc05e633d | ||
|
4599797baf | ||
|
340be02777 | ||
|
3e11a90b3c | ||
|
fc09be75a6 | ||
|
af64ac001a | ||
|
c6a047651b | ||
|
023976444f | ||
|
05e60ff00b | ||
|
a764e5ce54 | ||
|
01d52f140a | ||
|
28d42e5200 | ||
|
37c97db969 | ||
|
84f339cdd6 | ||
|
a927ab557a | ||
|
6848b38bb7 | ||
|
e621f0d967 | ||
|
76aa17e08f | ||
|
321efa354a | ||
|
82c86c9ce6 | ||
|
dafc4e8098 | ||
|
005a495e96 | ||
|
6eb89bd21c | ||
|
05c010223b | ||
|
a667e14c8b | ||
|
cb32fb354c | ||
|
470a0964f7 | ||
|
776d220374 | ||
|
93ea8b6a22 | ||
|
ea7ff5b1c2 | ||
|
bd1d393e5d | ||
|
421c924c22 | ||
|
5c4794812f | ||
|
b3e51c8b1c | ||
|
74f441d0ba | ||
|
cf7edd99a7 | ||
|
2151ae7aaa | ||
|
81fec97f54 | ||
|
4ce7e97ab3 | ||
|
abb6706601 | ||
|
2d366117dd | ||
|
b233cc2480 | ||
|
bb9f765ce3 | ||
|
a3d7b540c7 | ||
|
a4442899f6 | ||
|
b5280bbfc7 | ||
|
9248bf1f63 | ||
|
6ddd395211 | ||
|
178391e450 | ||
|
f8b9c1f9f5 | ||
|
994f51c18e | ||
|
5504021374 | ||
|
4d483e7814 | ||
|
7b1baed0d7 | ||
|
d7780ee4bb | ||
|
be591b2494 | ||
|
3fd12b28dc | ||
|
903839c9c5 | ||
|
c16be2ec0e | ||
|
5b031ed5b4 | ||
|
5241b22a73 | ||
|
01c6544e22 | ||
|
d97aa0a270 | ||
|
cfc41163e2 | ||
|
50cdaadba0 | ||
|
cf44ac8c1f | ||
|
3e8f9e2680 | ||
|
5509b088e2 | ||
|
24f6b11cb9 | ||
|
bdf4241d18 | ||
|
d6c4b6f419 | ||
|
44c5ce9a30 | ||
|
65aec223a3 | ||
|
6878c79fc8 | ||
|
26a520af10 | ||
|
f81bbbea08 | ||
|
f61d600c05 | ||
|
e43023fde7 | ||
|
266fa5cbf8 | ||
|
5c8b8f4b98 | ||
|
bee3cee740 | ||
|
0520f3ccf4 | ||
|
fe4f0c2ea6 | ||
|
870abe0776 | ||
|
b39b7998ce | ||
|
59ebf2e5b8 | ||
|
ee11f021eb | ||
|
ceeaeea123 | ||
|
6d0318eb36 | ||
|
485d07b91f | ||
|
4bcfe6c2be | ||
|
b9a6361662 | ||
|
a95056db40 | ||
|
361b557509 | ||
|
6ace6a07d7 | ||
|
689637b36c | ||
|
d726aa5563 | ||
|
98b12e2bba | ||
|
320b188d47 | ||
|
2fa1c69f3e | ||
|
4db07402c4 | ||
|
b38673a5cd | ||
|
14582e67a0 | ||
|
2683549be8 | ||
|
b3e012bea3 | ||
|
dd3d3226eb | ||
|
c63ef20919 | ||
|
f1b6a329c9 | ||
|
a261e87d4c | ||
|
50379f6b6e | ||
|
d2ffefd24c | ||
|
aa75fe2877 | ||
|
b685c4f5bf | ||
|
7748c315d7 | ||
|
349d46d74a | ||
|
8deaefc3a6 | ||
|
297cfe3098 | ||
|
750e8c89a7 | ||
|
5bed367a32 | ||
|
7be1b039ac | ||
|
fc892b4514 | ||
|
afe29c61cc | ||
|
c28d0dec79 | ||
|
7f22def794 | ||
|
13099c43a9 | ||
|
1a1464800f | ||
|
21f98f11e5 | ||
|
dc6407ee8f | ||
|
586ce36167 | ||
|
3ba7291c35 | ||
|
75d0cf828a | ||
|
9d8283e4c7 | ||
|
352a8c3c97 | ||
|
e3f5949cc1 | ||
|
41e6161b1d | ||
|
7ef9ba4f03 | ||
|
e0b7c9ef4c | ||
|
53dd3aed4e | ||
|
c89c1beffd | ||
|
41c2dd16f2 | ||
|
d7cc70256a | ||
|
8f63edfd30 | ||
|
dfd78077ec | ||
|
d511875db9 | ||
|
7b2f1f7c7a | ||
|
ead05934a0 | ||
|
722b0698e9 | ||
|
8aa6350c31 | ||
|
c3717ff06a | ||
|
3be02b7217 | ||
|
8e829c900b | ||
|
07fb92b37d | ||
|
f8bccb472f | ||
|
bfe50403af | ||
|
5cf3198da1 | ||
|
bf97686dfc | ||
|
5510e6da31 | ||
|
36e3627705 | ||
|
0895bc6c1d | ||
|
78bda9954d | ||
|
57d30dae59 | ||
|
897632b583 | ||
|
6f05c087b9 | ||
|
fc9b2173c0 | ||
|
61ca7775d2 | ||
|
f95077ac9f | ||
|
22f1aee70b | ||
|
35395fcb39 | ||
|
4dfc33b2a0 | ||
|
5eeba8894e | ||
|
91fc50b82d | ||
|
2982d7af52 | ||
|
93acbcaa76 | ||
|
1f27a39f29 | ||
|
70d65f2d05 | ||
|
173207ec54 | ||
|
0c4c86ef06 | ||
|
c1544fb60c | ||
|
6adce75933 | ||
|
30a9fa2b9d | ||
|
fc5e0563ba | ||
|
17cdc78a91 | ||
|
4736f533a5 | ||
|
1d2122b867 | ||
|
2040c43371 | ||
|
2d77fb3e30 | ||
|
0c4b0cfb03 | ||
|
c0228861e5 | ||
|
797de862cf | ||
|
e062a33f56 | ||
|
f238e58731 | ||
|
c5ebe4b4b1 | ||
|
43caa0c6d4 | ||
|
1c52099ed6 | ||
|
c3b1573c91 | ||
|
820f4439ad | ||
|
491752599c | ||
|
471004b828 | ||
|
e9178e52eb | ||
|
2fa6a11650 | ||
|
f302c67b95 | ||
|
c522baf4f7 | ||
|
ceceb8f3f0 | ||
|
b5f430de6f | ||
|
47652d7fe9 | ||
|
55ed5b325c | ||
|
6895892d5a | ||
|
d3ab02df5a | ||
|
ba397fa70a | ||
|
5929d5c0e4 | ||
|
965c2ee29a | ||
|
6c8714c016 | ||
|
3d79885ddd | ||
|
b8057b3c4f | ||
|
44f27a1cb7 | ||
|
d2f2fee989 | ||
|
df7c2226f6 | ||
|
ec02547b0e | ||
|
18cc17142f | ||
|
e753e432be | ||
|
571356ffd9 | ||
|
6f543e860f | ||
|
7987f02dee | ||
|
c7ce0fe66a | ||
|
d05373cdd2 | ||
|
d50698861a | ||
|
b26369ca86 | ||
|
76c59cbc52 | ||
|
ee26581df1 | ||
|
0a521d7a35 | ||
|
943e14f797 | ||
|
b31a53ab99 | ||
|
058fef1146 | ||
|
70fe5b6e01 | ||
|
80e821d12d | ||
|
9c4404cae9 | ||
|
3458f58c63 | ||
|
f0338cc325 | ||
|
864859dd6b | ||
|
50b2eeb61f | ||
|
fef36bfc39 | ||
|
26d0f01d69 | ||
|
469c731ff4 | ||
|
65a6e428d1 | ||
|
60603a008c | ||
|
2271d7a220 | ||
|
819ce198a8 | ||
|
c673ebcc22 | ||
|
572b60d0c1 | ||
|
c85e55bcca | ||
|
1323ac1d13 | ||
|
157046ff46 | ||
|
bdcf9b088e | ||
|
deb13e9c97 | ||
|
c05b6b0ae8 | ||
|
97040a98a0 | ||
|
d95524032e | ||
|
6dc33e9637 | ||
|
533aeffa36 | ||
|
0a85178846 | ||
|
d93aba5706 | ||
|
68c572f2eb | ||
|
74efb598f1 | ||
|
62395f409f | ||
|
561bed9cc2 | ||
|
5f00f2beb0 | ||
|
496f86e16e | ||
|
3ce715c52f | ||
|
f4d467048b | ||
|
280608f061 | ||
|
e9c8b8c24e | ||
|
ae050be2d1 | ||
|
02df7d78e2 | ||
|
216c698610 | ||
|
01c793eae2 | ||
|
a8558ba6fb | ||
|
a2e3519218 | ||
|
1639289b18 | ||
|
e5d5f953ec | ||
|
de091daa40 | ||
|
f1479de5bd | ||
|
0d111652b5 | ||
|
2a31f6af2d | ||
|
dac5f6910c | ||
|
1dcd837eb1 | ||
|
f1a053c3b8 | ||
|
976d4f39e6 | ||
|
f33b31dc19 | ||
|
8970c8274c | ||
|
bc08d42d0e | ||
|
f14c73bfcc | ||
|
4e207c2cf0 | ||
|
972b1e5fa7 | ||
|
a7d48b1aed | ||
|
c5f251c6e3 | ||
|
8d06582b58 | ||
|
251d242a0d | ||
|
72f91a4994 | ||
|
f4eb32c71c | ||
|
abb908e62c | ||
|
9d88c1578b | ||
|
ebf3920f9f | ||
|
b96bed7240 | ||
|
cbfc1f7a0e | ||
|
2588646b0f | ||
|
75be96e1f7 | ||
|
b6e5df1983 | ||
|
264d77414a | ||
|
d70c346b12 | ||
|
4ced7abaa3 | ||
|
c2e6593343 | ||
|
be7750d6fd | ||
|
c69623278f | ||
|
d4b8983d47 | ||
|
921850a62b | ||
|
4048a0a09a | ||
|
b9c5703568 | ||
|
a070d13723 | ||
|
6d7943d2a0 | ||
|
2af33a9e18 | ||
|
9717259776 | ||
|
66832fc98a | ||
|
e44b123330 | ||
|
235a1372e8 | ||
|
0e76530f43 | ||
|
a8f1bf7a17 | ||
|
6bb91dd0df | ||
|
80e1226d28 | ||
|
36adb6992e | ||
|
900575ee1a | ||
|
9a3e3433c7 | ||
|
841f814137 | ||
|
ce2fd8800d | ||
|
74addf1241 | ||
|
5969bf3992 | ||
|
834c9751f8 | ||
|
50334890a6 | ||
|
0b937237c3 | ||
|
a20c8978f9 | ||
|
4f52c369fa | ||
|
5472ddc8e6 | ||
|
50340103de | ||
|
b625319f0c | ||
|
8e66ab4d51 | ||
|
1f9472e7b2 | ||
|
82b885e5ef | ||
|
7df6a78f33 | ||
|
17e0058763 | ||
|
7619396053 | ||
|
f713948a1b | ||
|
c4175697ef | ||
|
ec474f5571 | ||
|
3ca6e0e8fc | ||
|
ff21ee24d1 | ||
|
39ebffa282 | ||
|
ef56eda2c2 | ||
|
e3c465258e | ||
|
4490c3edd5 | ||
|
3355c682ca | ||
|
40f2eae3f3 | ||
|
df4700914c | ||
|
60e4993a89 | ||
|
587c528f6d | ||
|
9c7d3d7400 | ||
|
0e2290dacf | ||
|
1a2c54ce39 | ||
|
694df8ca55 | ||
|
c5d4bdcd0b | ||
|
fb2f8dce10 | ||
|
8eee1d09a8 | ||
|
297a767746 | ||
|
c047e1acd9 | ||
|
ec98746ac6 | ||
|
af0939038b | ||
|
df5b79a1a4 | ||
|
a183c8f69a | ||
|
d7dbe736f8 | ||
|
0af4a3ebd7 | ||
|
73520b923f | ||
|
b88f9fb1ff | ||
|
39a385ab04 | ||
|
6872ad9489 | ||
|
5a2311b806 | ||
|
cc54158f09 | ||
|
20cdcc37fc | ||
|
8a4a338455 | ||
|
a7a3badb8e | ||
|
9b76b6dd3c | ||
|
190f2f9085 | ||
|
d3e62fe56c | ||
|
a3c57fb05f | ||
|
0e746f0368 | ||
|
6bfa54e9b4 | ||
|
f5ecd1fa5f | ||
|
bbdd98a155 | ||
|
0607ac98db | ||
|
d48ebdb0d4 | ||
|
2e936e804a | ||
|
42730bbe92 | ||
|
d5d3516e18 | ||
|
7784b71c55 | ||
|
35fa634f1d | ||
|
a8899f7d81 | ||
|
5a6058d319 | ||
|
8366b7de60 | ||
|
0be952b9a0 | ||
|
33a72d10a0 | ||
|
ab2ff7ee34 | ||
|
fcaea46a54 | ||
|
7d034cba11 | ||
|
c1697dc3b3 | ||
|
46d5f79fd9 | ||
|
6a4b8c3870 | ||
|
283edd94b9 | ||
|
909c7f1037 | ||
|
5bda6eac13 | ||
|
8d37f9f38c | ||
|
68965d0791 | ||
|
8309c30a3e | ||
|
4df98b0341 | ||
|
490aa991d2 | ||
|
819d698938 | ||
|
b6c1c9a40d | ||
|
c716494622 | ||
|
6e4bd00ef8 | ||
|
1122c675e5 | ||
|
e2eec77a19 | ||
|
3c61074d78 | ||
|
1943325653 | ||
|
8d279dd94d | ||
|
e2f9489684 | ||
|
eb52872b13 | ||
|
3412d1ce1f | ||
|
c92ca8dbfb | ||
|
03d590415b | ||
|
4965ada785 | ||
|
785cacbcb6 | ||
|
cbb69adf53 | ||
|
b3406f8abf | ||
|
594a3720ad | ||
|
b1346910a4 | ||
|
271c93a504 | ||
|
6ff06ff04b | ||
|
5585220d0a | ||
|
49949f2f8e | ||
|
058bddfe81 | ||
|
ca53323a08 | ||
|
e7c9960a45 | ||
|
3f95f30a2b | ||
|
1dade2970b | ||
|
86de927ab9 | ||
|
fba2d809d0 | ||
|
b01e2824be | ||
|
40c3674da1 | ||
|
df48428d1d | ||
|
f245c48b17 | ||
|
c022858e5b | ||
|
0bdb131c22 | ||
|
8dc66bd21b | ||
|
111fa0dee5 | ||
|
d887eb2258 | ||
|
1593951281 | ||
|
cf2671c6d7 | ||
|
a8716d7c69 | ||
|
ecfad12b59 | ||
|
aacbc5b6db | ||
|
0e41db615e | ||
|
d314752547 | ||
|
fa641e9946 | ||
|
8bd17de2f3 | ||
|
5145e30be3 | ||
|
5fca39fae7 | ||
|
5ab284f1f5 | ||
|
8ec83fd5d9 | ||
|
62342b35e2 | ||
|
400d29e97e | ||
|
684ee98168 | ||
|
b8f8be8cf9 | ||
|
3c65b2dcf3 |
@@ -13,3 +13,4 @@ access.log
|
||||
/cache
|
||||
.DS_Store
|
||||
/public/scripts/extensions/third-party
|
||||
/colab
|
||||
|
@@ -3,6 +3,9 @@ module.exports = {
|
||||
extends: [
|
||||
'eslint:recommended',
|
||||
],
|
||||
plugins: [
|
||||
'jsdoc',
|
||||
],
|
||||
env: {
|
||||
es6: true,
|
||||
},
|
||||
@@ -78,6 +81,7 @@ module.exports = {
|
||||
'public/scripts/extensions/tts/lib/**',
|
||||
],
|
||||
rules: {
|
||||
'jsdoc/no-undefined-types': ['warn', { disableReporting: true, markVariablesAsUsed: true }],
|
||||
'no-unused-vars': ['error', { args: 'none' }],
|
||||
'no-control-regex': 'off',
|
||||
'no-constant-condition': ['error', { checkLoops: false }],
|
||||
|
4
.github/issues-auto-labels.yml
vendored
4
.github/issues-auto-labels.yml
vendored
@@ -14,7 +14,7 @@
|
||||
- '(🐧 Linux)'
|
||||
|
||||
🦊 Firefox:
|
||||
- '(firefox|mozilla)'
|
||||
- '\b(firefox|mozilla)\b'
|
||||
|
||||
📱 Mobile:
|
||||
- '(iphone|ios|android|📱 Termux)'
|
||||
- '\b(iphone|ios|android|📱 Termux)\b'
|
||||
|
6
.github/pr-auto-labels-by-branch.yml
vendored
6
.github/pr-auto-labels-by-branch.yml
vendored
@@ -34,6 +34,9 @@
|
||||
🦊 Firefox:
|
||||
- head-branch: ['\bfirefox\b']
|
||||
|
||||
🧑🤝🧑 Group Chat:
|
||||
- head-branch: ['\bgroups?\b']
|
||||
|
||||
🖼️ Image Gen:
|
||||
- head-branch: ['\bimage-gen\b']
|
||||
|
||||
@@ -58,6 +61,9 @@
|
||||
📜 Prompt:
|
||||
- head-branch: ['\bprompt\b']
|
||||
|
||||
🧠 Reasoning:
|
||||
- head-branch: ['\breasoning\b', '\breason\b', '\bthinking\b']
|
||||
|
||||
🚚 Refactor:
|
||||
- head-branch: ['\brefactor(s|ed)?\b']
|
||||
|
||||
|
38
.github/readme.md
vendored
38
.github/readme.md
vendored
@@ -192,28 +192,43 @@ You will need two mandatory directory mappings and a port mapping to allow Silly
|
||||
|
||||
##### Volume Mappings
|
||||
|
||||
* [config] - The directory where SillyTavern configuration files will be stored on your host machine
|
||||
* [data] - The directory where SillyTavern user data (including characters) will be stored on your host machine
|
||||
* [plugins] - (optional) The directory where SillyTavern server plugins will be stored on your host machine
|
||||
* [extensions] - (optional) The directory where global UI extensions will be stored on your host machine
|
||||
* `CONFIG_PATH` - The directory where SillyTavern configuration files will be stored on your host machine
|
||||
* `DATA_PATH` - The directory where SillyTavern user data (including characters) will be stored on your host machine
|
||||
* `PLUGINS_PATH` - (optional) The directory where SillyTavern server plugins will be stored on your host machine
|
||||
* `EXTENSIONS_PATH` - (optional) The directory where global UI extensions will be stored on your host machine
|
||||
|
||||
##### Port Mappings
|
||||
|
||||
* [PublicPort] - The port to expose the traffic on. This is mandatory, as you will be accessing the instance from outside of its virtual machine container. DO NOT expose this to the internet without implementing a separate service for security.
|
||||
* `PUBLIC_PORT` - The port to expose the traffic on. This is mandatory, as you will be accessing the instance from outside of its virtual machine container. DO NOT expose this to the internet without implementing a separate service for security.
|
||||
|
||||
##### Additional Settings
|
||||
|
||||
* [DockerNet] - The docker network that the container should be created with a connection to. If you don't know what it is, see the [official Docker documentation](https://docs.docker.com/reference/cli/docker/network/).
|
||||
* [version] - On the right-hand side of this GitHub page, you'll see "Packages". Select the "sillytavern" package and you'll see the image versions. The image tag "latest" will keep you up-to-date with the current release. You can also utilize "staging" and "release" tags that point to the nightly images of the respective branches, but this may not be appropriate, if you are utilizing extensions that could be broken, and may need time to update.
|
||||
* `SILLYTAVERN_VERSION` - On the right-hand side of this GitHub page, you'll see "Packages". Select the "sillytavern" package and you'll see the image versions. The image tag "latest" will keep you up-to-date with the current release. You can also utilize "staging" that points to the nightly image of the respective branch.
|
||||
|
||||
#### Install command
|
||||
#### Running the container
|
||||
|
||||
1. Open your Command Line
|
||||
2. Run the following command
|
||||
2. Run the following command in a folder where you want to store the configuration and data files:
|
||||
|
||||
`docker run --name='sillytavern' --net='[DockerNet]' -p '8000:8000/tcp' -v '[plugins]':'/home/node/app/plugins':'rw' -v '[config]':'/home/node/app/config':'rw' -v '[data]':'/home/node/app/data':'rw' -v '[extensions]':'/home/node/app/public/scripts/extensions/third-party':'rw' 'ghcr.io/sillytavern/sillytavern:[version]'`
|
||||
```bash
|
||||
SILLYTAVERN_VERSION="latest"
|
||||
PUBLIC_PORT="8000"
|
||||
CONFIG_PATH="./config"
|
||||
DATA_PATH="./data"
|
||||
PLUGINS_PATH="./plugins"
|
||||
EXTENSIONS_PATH="./extensions"
|
||||
|
||||
> Note that 8000 is a default listening port. Don't forget to use an appropriate port if you change it in the config.
|
||||
docker run \
|
||||
--name="sillytavern" \
|
||||
-p "$PUBLIC_PORT:8000/tcp" \
|
||||
-v "$CONFIG_PATH:/home/node/app/config:rw" \
|
||||
-v "$DATA_PATH:/home/node/app/data:rw" \
|
||||
-v "$EXTENSIONS_PATH:/home/node/app/public/scripts/extensions/third-party:rw" \
|
||||
-v "$PLUGINS_PATH:/home/node/app/plugins:rw" \
|
||||
ghcr.io/sillytavern/sillytavern:"$SILLYTAVERN_VERSION"
|
||||
```
|
||||
|
||||
> By default the container will run in the foreground. If you want to run it in the background, add the `-d` flag to the `docker run` command.
|
||||
|
||||
### Building the image yourself
|
||||
|
||||
@@ -335,6 +350,7 @@ Start.bat --port 8000 --listen false
|
||||
| Option | Description | Type |
|
||||
|-------------------------|----------------------------------------------------------------------|----------|
|
||||
| `--version` | Show version number | boolean |
|
||||
| `--configPath` | Override the path to the config.yaml file | string |
|
||||
| `--dataRoot` | Root directory for data storage | string |
|
||||
| `--port` | Sets the port under which SillyTavern will run | number |
|
||||
| `--listen` | SillyTavern will listen on all network interfaces | boolean |
|
||||
|
14
.github/workflows/issues-auto-manager.yml
vendored
14
.github/workflows/issues-auto-manager.yml
vendored
@@ -32,7 +32,7 @@ jobs:
|
||||
with:
|
||||
configuration-path: .github/issues-auto-labels.yml
|
||||
enable-versioned-regex: 0
|
||||
repo-token: ${{ secrets.BOT_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
label-on-labels:
|
||||
name: 🏷️ Label Issues by Labels
|
||||
@@ -46,7 +46,7 @@ jobs:
|
||||
uses: actions-cool/issues-helper@v3.6.0
|
||||
with:
|
||||
actions: 'add-labels'
|
||||
token: ${{ secrets.BOT_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
labels: '👍 Approved'
|
||||
|
||||
- name: ❌ Remove progress labels when issue is marked done or stale
|
||||
@@ -56,7 +56,7 @@ jobs:
|
||||
uses: actions-cool/issues-helper@v3.6.0
|
||||
with:
|
||||
actions: 'remove-labels'
|
||||
token: ${{ secrets.BOT_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
labels: '🧑💻 In Progress,🤔 Unsure,🤔 Under Consideration'
|
||||
|
||||
- name: ❌ Remove temporary labels when confirmed labels are added
|
||||
@@ -66,7 +66,7 @@ jobs:
|
||||
uses: actions-cool/issues-helper@v3.6.0
|
||||
with:
|
||||
actions: 'remove-labels'
|
||||
token: ${{ secrets.BOT_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
labels: '🤔 Unsure,🤔 Under Consideration'
|
||||
|
||||
- name: ❌ Remove no bug labels when "🪲 Confirmed" is added
|
||||
@@ -76,7 +76,7 @@ jobs:
|
||||
uses: actions-cool/issues-helper@v3.6.0
|
||||
with:
|
||||
actions: 'remove-labels'
|
||||
token: ${{ secrets.BOT_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
labels: '✖️ Not Reproducible,✖️ Not A Bug'
|
||||
|
||||
remove-stale-label:
|
||||
@@ -92,7 +92,7 @@ jobs:
|
||||
uses: actions-cool/issues-helper@v3.6.0
|
||||
with:
|
||||
actions: 'remove-labels'
|
||||
token: ${{ secrets.BOT_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
issue-number: ${{ github.event.issue.number }}
|
||||
labels: '⚰️ Stale,🕸️ Inactive,🚏 Awaiting User Response,🛑 No Response'
|
||||
|
||||
@@ -113,4 +113,4 @@ jobs:
|
||||
uses: peaceiris/actions-label-commenter@v1.10.0
|
||||
with:
|
||||
config_file: .github/issues-auto-comments.yml
|
||||
github_token: ${{ secrets.BOT_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
@@ -31,15 +31,15 @@ jobs:
|
||||
- name: Label Linked Issues
|
||||
id: label_linked_issues
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.BOT_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
|
||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: |
|
||||
for ISSUE in $(echo $issues | jq -r '.[]'); do
|
||||
if [ "${{ github.ref }}" == "refs/heads/staging" ]; then
|
||||
LABEL="✅ Done (staging)"
|
||||
gh issue edit $ISSUE -R ${{ github.repository }} --add-label "$LABEL"
|
||||
gh issue edit $ISSUE -R ${{ github.repository }} --add-label "$LABEL" --remove-label "🧑💻 In Progress"
|
||||
elif [ "${{ github.ref }}" == "refs/heads/release" ]; then
|
||||
LABEL="✅ Done"
|
||||
gh issue edit $ISSUE -R ${{ github.repository }} --add-label "$LABEL"
|
||||
gh issue edit $ISSUE -R ${{ github.repository }} --add-label "$LABEL" --remove-label "🧑💻 In Progress"
|
||||
fi
|
||||
echo "Added label '$LABEL' to issue #$ISSUE"
|
||||
echo "Added label '$LABEL' (and removed '🧑💻 In Progress' if present) in issue #$ISSUE"
|
||||
done
|
||||
|
6
.github/workflows/job-close-stale.yml
vendored
6
.github/workflows/job-close-stale.yml
vendored
@@ -22,7 +22,7 @@ jobs:
|
||||
# https://github.com/marketplace/actions/close-stale-issues
|
||||
uses: actions/stale@v9.1.0
|
||||
with:
|
||||
repo-token: ${{ secrets.BOT_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
days-before-stale: 183
|
||||
days-before-close: 7
|
||||
operations-per-run: 30
|
||||
@@ -56,7 +56,7 @@ jobs:
|
||||
# https://github.com/marketplace/actions/close-stale-issues
|
||||
uses: actions/stale@v9.1.0
|
||||
with:
|
||||
repo-token: ${{ secrets.BOT_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
days-before-stale: 7
|
||||
days-before-close: 7
|
||||
operations-per-run: 30
|
||||
@@ -83,7 +83,7 @@ jobs:
|
||||
# https://github.com/marketplace/actions/close-stale-issues
|
||||
uses: actions/stale@v9.1.0
|
||||
with:
|
||||
repo-token: ${{ secrets.BOT_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
days-before-stale: 7
|
||||
days-before-close: 7
|
||||
operations-per-run: 30
|
||||
|
2
.github/workflows/on-close-handler.yml
vendored
2
.github/workflows/on-close-handler.yml
vendored
@@ -23,6 +23,6 @@ jobs:
|
||||
uses: actions-cool/issues-helper@v3.6.0
|
||||
with:
|
||||
actions: remove-labels
|
||||
token: ${{ secrets.BOT_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
issue-number: ${{ github.event.issue.number || github.event.pull_request.number }}
|
||||
labels: '🚏 Awaiting User Response,🧑💻 In Progress,📌 Keep Open,🚫 Merge Conflicts,🔬 Needs Testing,🔨 Needs Work,⚰️ Stale,⛔ Waiting For External/Upstream'
|
||||
|
2
.github/workflows/on-open-handler.yml
vendored
2
.github/workflows/on-open-handler.yml
vendored
@@ -24,6 +24,6 @@ jobs:
|
||||
uses: actions-cool/issues-helper@v3.6.0
|
||||
with:
|
||||
actions: 'add-labels'
|
||||
token: ${{ secrets.BOT_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
issue-number: ${{ github.event.issue.number || github.event.pull_request.number }}
|
||||
labels: '👷 Maintainer'
|
||||
|
96
.github/workflows/pr-auto-manager.yml
vendored
96
.github/workflows/pr-auto-manager.yml
vendored
@@ -1,6 +1,7 @@
|
||||
name: 🔀 Pull Request Manager
|
||||
|
||||
on:
|
||||
workflow_dispatch: # Allow to manually call this workflow
|
||||
pull_request_target:
|
||||
types: [opened, synchronize, reopened, edited, labeled, unlabeled, closed]
|
||||
pull_request_review_comment:
|
||||
@@ -11,9 +12,63 @@ permissions:
|
||||
pull-requests: write
|
||||
|
||||
jobs:
|
||||
run-eslint:
|
||||
name: ✅ Check ESLint on PR
|
||||
runs-on: ubuntu-latest
|
||||
# Only needs to run when code is changed
|
||||
if: github.event.action == 'opened' || github.event.action == 'synchronize'
|
||||
|
||||
# Override permissions, linter likely needs write access to issues
|
||||
permissions:
|
||||
contents: read
|
||||
issues: write
|
||||
pull-requests: write
|
||||
|
||||
steps:
|
||||
- name: Checkout Repository
|
||||
# Checkout
|
||||
# https://github.com/marketplace/actions/checkout
|
||||
uses: actions/checkout@v4.2.2
|
||||
with:
|
||||
ref: ${{ github.event.pull_request.head.sha }}
|
||||
repository: ${{ github.event.pull_request.head.repo.full_name }}
|
||||
|
||||
- name: Setup Node.js
|
||||
# Setup Node.js environment
|
||||
# https://github.com/marketplace/actions/setup-node-js-environment
|
||||
uses: actions/setup-node@v4.3.0
|
||||
with:
|
||||
node-version: 20
|
||||
|
||||
- name: Run npm install
|
||||
run: npm ci
|
||||
|
||||
- name: Run ESLint
|
||||
# Action ESLint
|
||||
# https://github.com/marketplace/actions/action-eslint
|
||||
uses: sibiraj-s/action-eslint@v3.0.1
|
||||
with:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
eslint-args: '--ignore-path=.gitignore --quiet'
|
||||
extensions: 'js'
|
||||
annotations: true
|
||||
ignore-patterns: |
|
||||
dist/
|
||||
lib/
|
||||
|
||||
label-by-size:
|
||||
name: 🏷️ Label PR by Size
|
||||
# This job should run after all others, to prevent possible concurrency issues
|
||||
needs: [label-by-branches, label-by-files, remove-stale-label, check-merge-blocking-labels, write-auto-comments]
|
||||
runs-on: ubuntu-latest
|
||||
# Only needs to run when code is changed
|
||||
if: always() && (github.event.action == 'opened' || github.event.action == 'synchronize')
|
||||
|
||||
# Override permissions, the labeler needs issues write access
|
||||
permissions:
|
||||
contents: read
|
||||
issues: write
|
||||
pull-requests: write
|
||||
|
||||
steps:
|
||||
- name: Label PR Size
|
||||
@@ -21,7 +76,7 @@ jobs:
|
||||
# https://github.com/marketplace/actions/pull-request-size-labeler
|
||||
uses: codelytv/pr-size-labeler@v1.10.2
|
||||
with:
|
||||
GITHUB_TOKEN: ${{ secrets.BOT_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
xs_label: '🟩 ⬤○○○○'
|
||||
xs_max_size: '20'
|
||||
s_label: '🟩 ⬤⬤○○○'
|
||||
@@ -32,7 +87,6 @@ jobs:
|
||||
l_max_size: '1000'
|
||||
xl_label: '🟥 ⬤⬤⬤⬤⬤'
|
||||
fail_if_xl: 'false'
|
||||
github_api_url: 'https://api.github.com'
|
||||
files_to_ignore: |
|
||||
"package-lock.json"
|
||||
"public/lib/*"
|
||||
@@ -40,8 +94,8 @@ jobs:
|
||||
label-by-branches:
|
||||
name: 🏷️ Label PR by Branches
|
||||
runs-on: ubuntu-latest
|
||||
# Only label once when PR is created or branches are changed, to allow manual label removal
|
||||
if: github.event.action == 'opened' || (github.event.action == 'synchronize' && (github.event.changes.base || github.event.changes.head))
|
||||
# Only label once when PR is created or when base branch is changed, to allow manual label removal
|
||||
if: github.event.action == 'opened' || (github.event.action == 'synchronize' && github.event.changes.base)
|
||||
|
||||
steps:
|
||||
- name: Checkout Repository
|
||||
@@ -55,11 +109,13 @@ jobs:
|
||||
uses: actions/labeler@v5.0.0
|
||||
with:
|
||||
configuration-path: .github/pr-auto-labels-by-branch.yml
|
||||
repo-token: ${{ secrets.BOT_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
label-by-files:
|
||||
name: 🏷️ Label PR by Files
|
||||
runs-on: ubuntu-latest
|
||||
# Only needs to run when code is changed
|
||||
if: github.event.action == 'opened' || github.event.action == 'synchronize'
|
||||
|
||||
steps:
|
||||
- name: Checkout Repository
|
||||
@@ -73,14 +129,20 @@ jobs:
|
||||
uses: actions/labeler@v5.0.0
|
||||
with:
|
||||
configuration-path: .github/pr-auto-labels-by-files.yml
|
||||
repo-token: ${{ secrets.BOT_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
remove-stale-label:
|
||||
name: 🗑️ Remove Stale Label on Comment
|
||||
runs-on: ubuntu-latest
|
||||
# Only runs when this is not done by the github actions bot
|
||||
# Only runs on comments not done by the github actions bot
|
||||
if: github.event_name == 'pull_request_review_comment' && github.actor != 'github-actions[bot]'
|
||||
|
||||
# Override permissions, issue labeler needs issues write access
|
||||
permissions:
|
||||
contents: read
|
||||
issues: write
|
||||
pull-requests: write
|
||||
|
||||
steps:
|
||||
- name: Remove Stale Label
|
||||
# 🤖 Issues Helper
|
||||
@@ -88,7 +150,7 @@ jobs:
|
||||
uses: actions-cool/issues-helper@v3.6.0
|
||||
with:
|
||||
actions: 'remove-labels'
|
||||
token: ${{ secrets.BOT_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
issue-number: ${{ github.event.pull_request.number }}
|
||||
labels: '⚰️ Stale'
|
||||
|
||||
@@ -144,7 +206,7 @@ jobs:
|
||||
|
||||
write-auto-comments:
|
||||
name: 💬 Post PR Comments Based on Labels
|
||||
needs: [label-by-size, label-by-branches, label-by-files]
|
||||
needs: [label-by-branches, label-by-files]
|
||||
runs-on: ubuntu-latest
|
||||
# Run, even if the previous jobs were skipped/failed
|
||||
if: always()
|
||||
@@ -161,7 +223,7 @@ jobs:
|
||||
uses: peaceiris/actions-label-commenter@v1.10.0
|
||||
with:
|
||||
config_file: .github/pr-auto-comments.yml
|
||||
github_token: ${{ secrets.BOT_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
# This runs on merged PRs to staging, reading the PR body and directly linked issues. Check `issues-updates-on-merge.yml`:`update-linked-issues` for commit-based updates.
|
||||
update-linked-issues:
|
||||
@@ -169,6 +231,12 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
if: github.event.pull_request.merged == true && github.event.pull_request.base.ref == 'staging'
|
||||
|
||||
# Override permissions, We need to be able to write to issues
|
||||
permissions:
|
||||
contents: read
|
||||
issues: write
|
||||
pull-requests: write
|
||||
|
||||
steps:
|
||||
- name: Extract Linked Issues From PR Description
|
||||
id: extract_issues
|
||||
@@ -182,7 +250,7 @@ jobs:
|
||||
PR_NUMBER=${{ github.event.pull_request.number }}
|
||||
REPO=${{ github.repository }}
|
||||
API_URL="https://api.github.com/repos/$REPO/pulls/$PR_NUMBER/issues"
|
||||
ISSUES=$(curl -s -H "Authorization: token ${{ secrets.BOT_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}" "$API_URL" | jq -r '.[].number' | jq -R -s -c 'split("\n")[:-1]')
|
||||
ISSUES=$(curl -s -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" "$API_URL" | jq -r '.[].number' | jq -R -s -c 'split("\n")[:-1]')
|
||||
echo "linked_issues=$ISSUES" >> $GITHUB_ENV
|
||||
|
||||
- name: Merge Issue Lists
|
||||
@@ -194,9 +262,9 @@ jobs:
|
||||
- name: Label Linked Issues
|
||||
id: label_linked_issues
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.BOT_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
|
||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: |
|
||||
for ISSUE in $(echo $final_issues | jq -r '.[]'); do
|
||||
gh issue edit $ISSUE -R ${{ github.repository }} --add-label "✅ Done (staging)"
|
||||
echo "Added label '✅ Done (staging)' to issue #$ISSUE"
|
||||
gh issue edit $ISSUE -R ${{ github.repository }} --add-label "✅ Done (staging)" --remove-label "🧑💻 In Progress"
|
||||
echo "Added label '✅ Done (staging)' (and removed '🧑💻 In Progress' if present) in issue #$ISSUE"
|
||||
done
|
||||
|
@@ -23,6 +23,6 @@ jobs:
|
||||
uses: eps1lon/actions-label-merge-conflict@v3.0.3
|
||||
with:
|
||||
dirtyLabel: '🚫 Merge Conflicts'
|
||||
repoToken: ${{ secrets.BOT_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
|
||||
repoToken: ${{ secrets.GITHUB_TOKEN }}
|
||||
commentOnDirty: >
|
||||
⚠️ This PR has conflicts that need to be resolved before it can be merged.
|
||||
|
@@ -12,3 +12,4 @@ access.log
|
||||
.vscode
|
||||
.git
|
||||
/public/scripts/extensions/third-party
|
||||
/colab
|
||||
|
@@ -12,15 +12,13 @@ WORKDIR ${APP_HOME}
|
||||
# Set NODE_ENV to production
|
||||
ENV NODE_ENV=production
|
||||
|
||||
# Install app dependencies
|
||||
COPY package*.json post-install.js ./
|
||||
# Bundle app source
|
||||
COPY . ./
|
||||
|
||||
RUN \
|
||||
echo "*** Install npm packages ***" && \
|
||||
npm i --no-audit --no-fund --loglevel=error --no-progress --omit=dev && npm cache clean --force
|
||||
|
||||
# Bundle app source
|
||||
COPY . ./
|
||||
|
||||
# Copy default chats, characters and user avatars to <folder>.default folder
|
||||
RUN \
|
||||
rm -f "config.yaml" || true && \
|
||||
|
@@ -114,6 +114,8 @@ backups:
|
||||
chat:
|
||||
# Enable automatic chat backups
|
||||
enabled: true
|
||||
# Verify integrity of chat files before saving
|
||||
checkIntegrity: true
|
||||
# Maximum number of chat backups to keep per user (starting from the most recent). Set to -1 to keep all backups.
|
||||
maxTotalBackups: -1
|
||||
# Interval in milliseconds to throttle chat backups per user
|
||||
@@ -140,6 +142,8 @@ performance:
|
||||
lazyLoadCharacters: false
|
||||
# The maximum amount of memory that parsed character cards can use. Set to 0 to disable memory caching.
|
||||
memoryCacheCapacity: '100mb'
|
||||
# Enables disk caching for character cards. Improves performances with large card libraries.
|
||||
useDiskCache: true
|
||||
|
||||
# Allow secret keys exposure via API
|
||||
allowKeysExposure: false
|
||||
@@ -151,6 +155,7 @@ whitelistImportDomains:
|
||||
- cdn.discordapp.com
|
||||
- files.catbox.moe
|
||||
- raw.githubusercontent.com
|
||||
- char-archive.evulid.cc
|
||||
# API request overrides (for KoboldAI and Text Completion APIs)
|
||||
## Note: host includes the port number if it's not the default (80 or 443)
|
||||
## Format is an array of objects:
|
||||
@@ -229,6 +234,10 @@ claude:
|
||||
# should be ideal for most use cases.
|
||||
# Any value other than a non-negative integer will be ignored and caching at depth will not be enabled.
|
||||
cachingAtDepth: -1
|
||||
# -- GOOGLE GEMINI API CONFIGURATION --
|
||||
gemini:
|
||||
# API endpoint version ("v1beta" or "v1alpha")
|
||||
apiVersion: 'v1beta'
|
||||
# -- SERVER PLUGIN CONFIGURATION --
|
||||
enableServerPlugins: false
|
||||
# Attempt to automatically update server plugins on startup
|
||||
|
@@ -540,7 +540,7 @@
|
||||
"type": "context"
|
||||
},
|
||||
{
|
||||
"filename": "presets/context/Pygmalion.json",
|
||||
"filename": "presets/context/Metharme.json",
|
||||
"type": "context"
|
||||
},
|
||||
{
|
||||
@@ -563,6 +563,10 @@
|
||||
"filename": "presets/context/Llama 3 Instruct.json",
|
||||
"type": "context"
|
||||
},
|
||||
{
|
||||
"filename": "presets/context/Llama 4 Instruct.json",
|
||||
"type": "context"
|
||||
},
|
||||
{
|
||||
"filename": "presets/context/Phi.json",
|
||||
"type": "context"
|
||||
@@ -615,10 +619,6 @@
|
||||
"filename": "presets/instruct/OpenOrca-OpenChat.json",
|
||||
"type": "instruct"
|
||||
},
|
||||
{
|
||||
"filename": "presets/instruct/Pygmalion.json",
|
||||
"type": "instruct"
|
||||
},
|
||||
{
|
||||
"filename": "presets/instruct/Story.json",
|
||||
"type": "instruct"
|
||||
@@ -663,6 +663,10 @@
|
||||
"filename": "presets/instruct/Llama 3 Instruct.json",
|
||||
"type": "instruct"
|
||||
},
|
||||
{
|
||||
"filename": "presets/instruct/Llama 4 Instruct.json",
|
||||
"type": "instruct"
|
||||
},
|
||||
{
|
||||
"filename": "presets/instruct/Phi.json",
|
||||
"type": "instruct"
|
||||
@@ -747,6 +751,10 @@
|
||||
"filename": "presets/sysprompt/Neutral - Chat.json",
|
||||
"type": "sysprompt"
|
||||
},
|
||||
{
|
||||
"filename": "presets/sysprompt/Lightning 1.1.json",
|
||||
"type": "sysprompt"
|
||||
},
|
||||
{
|
||||
"filename": "presets/instruct/Mistral V1.json",
|
||||
"type": "instruct"
|
||||
@@ -786,5 +794,21 @@
|
||||
{
|
||||
"filename": "presets/context/DeepSeek-V2.5.json",
|
||||
"type": "context"
|
||||
},
|
||||
{
|
||||
"filename": "presets/instruct/GLM-4.json",
|
||||
"type": "instruct"
|
||||
},
|
||||
{
|
||||
"filename": "presets/context/GLM-4.json",
|
||||
"type": "context"
|
||||
},
|
||||
{
|
||||
"filename": "presets/reasoning/DeepSeek.json",
|
||||
"type": "reasoning"
|
||||
},
|
||||
{
|
||||
"filename": "presets/reasoning/Blank.json",
|
||||
"type": "reasoning"
|
||||
}
|
||||
]
|
||||
|
@@ -3,7 +3,6 @@
|
||||
"example_separator": "",
|
||||
"chat_start": "",
|
||||
"use_stop_strings": false,
|
||||
"allow_jailbreak": false,
|
||||
"always_force_name2": false,
|
||||
"trim_sentences": false,
|
||||
"single_line": true,
|
||||
|
@@ -3,7 +3,6 @@
|
||||
"example_separator": "",
|
||||
"chat_start": "",
|
||||
"use_stop_strings": false,
|
||||
"allow_jailbreak": false,
|
||||
"always_force_name2": false,
|
||||
"trim_sentences": false,
|
||||
"single_line": false,
|
||||
|
@@ -3,7 +3,6 @@
|
||||
"example_separator": "",
|
||||
"chat_start": "",
|
||||
"use_stop_strings": false,
|
||||
"allow_jailbreak": false,
|
||||
"always_force_name2": true,
|
||||
"trim_sentences": false,
|
||||
"single_line": false,
|
||||
|
@@ -3,7 +3,6 @@
|
||||
"example_separator": "",
|
||||
"chat_start": "",
|
||||
"use_stop_strings": false,
|
||||
"allow_jailbreak": false,
|
||||
"always_force_name2": true,
|
||||
"trim_sentences": false,
|
||||
"single_line": false,
|
||||
|
@@ -3,7 +3,6 @@
|
||||
"example_separator": "",
|
||||
"chat_start": "",
|
||||
"use_stop_strings": false,
|
||||
"allow_jailbreak": false,
|
||||
"always_force_name2": true,
|
||||
"trim_sentences": false,
|
||||
"single_line": false,
|
||||
|
@@ -3,7 +3,6 @@
|
||||
"example_separator": "",
|
||||
"chat_start": "<|START_OF_TURN_TOKEN|><|SYSTEM_TOKEN|>New Roleplay:<|END_OF_TURN_TOKEN|>",
|
||||
"use_stop_strings": false,
|
||||
"allow_jailbreak": false,
|
||||
"always_force_name2": true,
|
||||
"trim_sentences": false,
|
||||
"single_line": false,
|
||||
|
@@ -3,7 +3,6 @@
|
||||
"example_separator": "",
|
||||
"chat_start": "",
|
||||
"use_stop_strings": false,
|
||||
"allow_jailbreak": false,
|
||||
"always_force_name2": true,
|
||||
"trim_sentences": false,
|
||||
"single_line": false,
|
||||
|
@@ -3,7 +3,6 @@
|
||||
"example_separator": "***",
|
||||
"chat_start": "***",
|
||||
"use_stop_strings": false,
|
||||
"allow_jailbreak": false,
|
||||
"always_force_name2": true,
|
||||
"trim_sentences": false,
|
||||
"single_line": false,
|
||||
|
@@ -3,7 +3,6 @@
|
||||
"example_separator": "",
|
||||
"chat_start": "",
|
||||
"use_stop_strings": false,
|
||||
"allow_jailbreak": false,
|
||||
"always_force_name2": false,
|
||||
"trim_sentences": true,
|
||||
"single_line": false,
|
||||
|
@@ -3,7 +3,6 @@
|
||||
"example_separator": "<|eot_id|>\n<|start_header_id|>user<|end_header_id|>\n\nWrite an example narrative / conversation that is not part of the main story.",
|
||||
"chat_start": "<|eot_id|>\n<|start_header_id|>user<|end_header_id|>\n\nStart the role-play between {{char}} and {{user}}.",
|
||||
"use_stop_strings": false,
|
||||
"allow_jailbreak": false,
|
||||
"always_force_name2": false,
|
||||
"trim_sentences": true,
|
||||
"single_line": false,
|
||||
|
10
default/content/presets/context/GLM-4.json
Normal file
10
default/content/presets/context/GLM-4.json
Normal file
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"story_string": "[gMASK]<sop>{{#if system}}{{system}}\n{{/if}}{{#if wiBefore}}{{wiBefore}}\n{{/if}}{{#if description}}{{description}}\n{{/if}}{{#if personality}}{{char}}'s personality: {{personality}}\n{{/if}}{{#if scenario}}Scenario: {{scenario}}\n{{/if}}{{#if wiAfter}}{{wiAfter}}\n{{/if}}{{#if persona}}{{persona}}\n{{/if}}{{trim}}\n",
|
||||
"example_separator": "",
|
||||
"chat_start": "",
|
||||
"use_stop_strings": false,
|
||||
"always_force_name2": true,
|
||||
"trim_sentences": false,
|
||||
"single_line": false,
|
||||
"name": "GLM-4"
|
||||
}
|
@@ -3,7 +3,6 @@
|
||||
"example_separator": "",
|
||||
"chat_start": "",
|
||||
"use_stop_strings": false,
|
||||
"allow_jailbreak": false,
|
||||
"always_force_name2": true,
|
||||
"trim_sentences": false,
|
||||
"single_line": false,
|
||||
|
@@ -3,7 +3,6 @@
|
||||
"example_separator": "### Example:",
|
||||
"chat_start": "### START ROLEPLAY:",
|
||||
"use_stop_strings": false,
|
||||
"allow_jailbreak": false,
|
||||
"always_force_name2": true,
|
||||
"trim_sentences": false,
|
||||
"single_line": false,
|
||||
|
@@ -1,9 +1,8 @@
|
||||
{
|
||||
"story_string": "{{system}}\n{{#if wiBefore}}{{wiBefore}}\n{{/if}}{{#if description}}{{char}}'s description:{{description}}\n{{/if}}{{#if personality}}{{char}}'s personality:{{personality}}\n{{/if}}{{#if scenario}}Scenario: {{scenario}}\n{{/if}}{{#if wiAfter}}{{wiAfter}}\n{{/if}}{{#if persona}}{{user}}'s persona: {{persona}}\n{{/if}}",
|
||||
"example_separator": "Example of an interaction:",
|
||||
"chat_start": "This is the history of the roleplay:",
|
||||
"story_string": "Below is an instruction that describes a task. Write a response that appropriately completes the request.\n\n### Instruction:\n{{system}}\n{{#if wiBefore}}{{wiBefore}}\n{{/if}}{{#if description}}{{char}}'s description:{{description}}\n{{/if}}{{#if personality}}{{char}}'s personality:{{personality}}\n{{/if}}{{#if scenario}}Scenario: {{scenario}}\n{{/if}}{{#if wiAfter}}{{wiAfter}}\n{{/if}}{{#if persona}}{{user}}'s persona: {{persona}}\n{{/if}}\n\n",
|
||||
"example_separator": "Example of an interaction:\n",
|
||||
"chat_start": "This is the history of the roleplay:\n",
|
||||
"use_stop_strings": false,
|
||||
"allow_jailbreak": false,
|
||||
"always_force_name2": true,
|
||||
"trim_sentences": false,
|
||||
"single_line": false,
|
||||
|
@@ -3,7 +3,6 @@
|
||||
"example_separator": "",
|
||||
"chat_start": "",
|
||||
"use_stop_strings": false,
|
||||
"allow_jailbreak": false,
|
||||
"always_force_name2": true,
|
||||
"trim_sentences": false,
|
||||
"single_line": false,
|
||||
|
@@ -3,7 +3,6 @@
|
||||
"example_separator": "",
|
||||
"chat_start": "",
|
||||
"use_stop_strings": false,
|
||||
"allow_jailbreak": false,
|
||||
"always_force_name2": true,
|
||||
"trim_sentences": false,
|
||||
"single_line": false,
|
||||
|
10
default/content/presets/context/Llama 4 Instruct.json
Normal file
10
default/content/presets/context/Llama 4 Instruct.json
Normal file
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"story_string": "<|begin_of_text|><|header_start|>system<|header_end|>\n\n{{#if system}}{{system}}\n{{/if}}{{#if wiBefore}}{{wiBefore}}\n{{/if}}{{#if description}}{{description}}\n{{/if}}{{#if personality}}{{char}}'s personality: {{personality}}\n{{/if}}{{#if scenario}}Scenario: {{scenario}}\n{{/if}}{{#if wiAfter}}{{wiAfter}}\n{{/if}}{{#if persona}}{{persona}}\n{{/if}}{{trim}}<|eot|>",
|
||||
"example_separator": "",
|
||||
"chat_start": "",
|
||||
"use_stop_strings": false,
|
||||
"always_force_name2": true,
|
||||
"trim_sentences": false,
|
||||
"single_line": false,
|
||||
"name": "Llama 4 Instruct"
|
||||
}
|
@@ -3,7 +3,6 @@
|
||||
"example_separator": "",
|
||||
"chat_start": "",
|
||||
"use_stop_strings": false,
|
||||
"allow_jailbreak": false,
|
||||
"always_force_name2": true,
|
||||
"trim_sentences": false,
|
||||
"single_line": false,
|
||||
|
@@ -3,9 +3,8 @@
|
||||
"example_separator": "",
|
||||
"chat_start": "",
|
||||
"use_stop_strings": false,
|
||||
"allow_jailbreak": false,
|
||||
"always_force_name2": true,
|
||||
"trim_sentences": false,
|
||||
"single_line": false,
|
||||
"name": "Pygmalion"
|
||||
"name": "Metharme"
|
||||
}
|
@@ -3,7 +3,6 @@
|
||||
"example_separator": "",
|
||||
"chat_start": "",
|
||||
"use_stop_strings": false,
|
||||
"allow_jailbreak": false,
|
||||
"always_force_name2": true,
|
||||
"trim_sentences": false,
|
||||
"single_line": false,
|
||||
|
@@ -3,7 +3,6 @@
|
||||
"example_separator": "",
|
||||
"chat_start": "",
|
||||
"use_stop_strings": false,
|
||||
"allow_jailbreak": false,
|
||||
"always_force_name2": true,
|
||||
"trim_sentences": false,
|
||||
"single_line": false,
|
||||
|
@@ -3,7 +3,6 @@
|
||||
"example_separator": "",
|
||||
"chat_start": "",
|
||||
"use_stop_strings": false,
|
||||
"allow_jailbreak": false,
|
||||
"always_force_name2": true,
|
||||
"trim_sentences": false,
|
||||
"single_line": false,
|
||||
|
@@ -3,7 +3,6 @@
|
||||
"example_separator": "",
|
||||
"chat_start": "",
|
||||
"use_stop_strings": false,
|
||||
"allow_jailbreak": false,
|
||||
"always_force_name2": true,
|
||||
"trim_sentences": false,
|
||||
"single_line": false,
|
||||
|
@@ -3,7 +3,6 @@
|
||||
"example_separator": "",
|
||||
"chat_start": "",
|
||||
"use_stop_strings": false,
|
||||
"allow_jailbreak": false,
|
||||
"always_force_name2": true,
|
||||
"trim_sentences": false,
|
||||
"single_line": false,
|
||||
|
@@ -3,7 +3,6 @@
|
||||
"example_separator": "***",
|
||||
"chat_start": "***",
|
||||
"use_stop_strings": false,
|
||||
"allow_jailbreak": false,
|
||||
"always_force_name2": true,
|
||||
"trim_sentences": false,
|
||||
"single_line": false,
|
||||
|
@@ -3,7 +3,6 @@
|
||||
"example_separator": "This is how {{char}} should talk",
|
||||
"chat_start": "\nThen the roleplay chat between {{user}} and {{char}} begins.\n",
|
||||
"use_stop_strings": false,
|
||||
"allow_jailbreak": false,
|
||||
"always_force_name2": true,
|
||||
"trim_sentences": false,
|
||||
"single_line": false,
|
||||
|
@@ -3,7 +3,6 @@
|
||||
"example_separator": "",
|
||||
"chat_start": "",
|
||||
"use_stop_strings": false,
|
||||
"allow_jailbreak": false,
|
||||
"always_force_name2": true,
|
||||
"trim_sentences": false,
|
||||
"single_line": false,
|
||||
|
@@ -3,7 +3,6 @@
|
||||
"example_separator": "",
|
||||
"chat_start": "",
|
||||
"use_stop_strings": false,
|
||||
"allow_jailbreak": false,
|
||||
"always_force_name2": true,
|
||||
"trim_sentences": false,
|
||||
"single_line": false,
|
||||
|
@@ -3,7 +3,6 @@
|
||||
"example_separator": "",
|
||||
"chat_start": "",
|
||||
"use_stop_strings": false,
|
||||
"allow_jailbreak": false,
|
||||
"always_force_name2": true,
|
||||
"trim_sentences": false,
|
||||
"single_line": false,
|
||||
|
@@ -3,7 +3,6 @@
|
||||
"example_separator": "",
|
||||
"chat_start": "",
|
||||
"use_stop_strings": false,
|
||||
"allow_jailbreak": false,
|
||||
"always_force_name2": true,
|
||||
"trim_sentences": false,
|
||||
"single_line": false,
|
||||
|
@@ -3,7 +3,6 @@
|
||||
"example_separator": "### New Roleplay:",
|
||||
"chat_start": "### New Roleplay:",
|
||||
"use_stop_strings": false,
|
||||
"allow_jailbreak": false,
|
||||
"always_force_name2": true,
|
||||
"trim_sentences": false,
|
||||
"single_line": false,
|
||||
|
@@ -6,7 +6,7 @@
|
||||
"stop_sequence": "<|im_end|>",
|
||||
"wrap": true,
|
||||
"macro": true,
|
||||
"names_behavior": "always",
|
||||
"names_behavior": "force",
|
||||
"activation_regex": "",
|
||||
"system_sequence_prefix": "",
|
||||
"system_sequence_suffix": "",
|
||||
|
@@ -8,7 +8,7 @@
|
||||
"stop_sequence": "<|END_OF_TURN_TOKEN|>",
|
||||
"wrap": false,
|
||||
"macro": true,
|
||||
"names_behavior": "always",
|
||||
"names_behavior": "force",
|
||||
"activation_regex": "",
|
||||
"skip_examples": false,
|
||||
"output_suffix": "<|END_OF_TURN_TOKEN|>",
|
||||
|
@@ -1,22 +1,22 @@
|
||||
{
|
||||
"input_sequence": "<|user|>",
|
||||
"output_sequence": "<|model|>",
|
||||
"input_sequence": "<|user|>\n",
|
||||
"output_sequence": "<|assistant|>\n",
|
||||
"first_output_sequence": "",
|
||||
"last_output_sequence": "",
|
||||
"system_sequence": "",
|
||||
"stop_sequence": "<|user|>",
|
||||
"system_sequence_prefix": "<|system|>\n",
|
||||
"system_sequence_suffix": "",
|
||||
"stop_sequence": "",
|
||||
"wrap": false,
|
||||
"macro": true,
|
||||
"names_behavior": "always",
|
||||
"names_behavior": "force",
|
||||
"activation_regex": "",
|
||||
"system_sequence_prefix": "<|system|>",
|
||||
"system_sequence_suffix": "",
|
||||
"first_output_sequence": "",
|
||||
"skip_examples": false,
|
||||
"output_suffix": "",
|
||||
"input_suffix": "",
|
||||
"system_sequence": "",
|
||||
"system_suffix": "",
|
||||
"user_alignment_message": "",
|
||||
"system_same_as_user": true,
|
||||
"last_system_sequence": "",
|
||||
"name": "Pygmalion"
|
||||
"system_same_as_user": true,
|
||||
"name": "GLM-4"
|
||||
}
|
@@ -6,7 +6,7 @@
|
||||
"stop_sequence": "<end_of_turn>",
|
||||
"wrap": true,
|
||||
"macro": true,
|
||||
"names_behavior": "none",
|
||||
"names_behavior": "force",
|
||||
"activation_regex": "",
|
||||
"system_sequence_prefix": "",
|
||||
"system_sequence_suffix": "",
|
||||
|
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"input_sequence": "### Instruction:",
|
||||
"output_sequence": "### Response: (length = unlimited)",
|
||||
"last_output_sequence": "",
|
||||
"output_sequence": "### Response:",
|
||||
"last_output_sequence": "### Response: (length = unlimited)",
|
||||
"system_sequence": "",
|
||||
"stop_sequence": "",
|
||||
"wrap": true,
|
||||
@@ -12,8 +12,8 @@
|
||||
"system_sequence_suffix": "",
|
||||
"first_output_sequence": "",
|
||||
"skip_examples": false,
|
||||
"output_suffix": "",
|
||||
"input_suffix": "",
|
||||
"output_suffix": "\n\n",
|
||||
"input_suffix": "\n\n",
|
||||
"system_suffix": "",
|
||||
"user_alignment_message": "",
|
||||
"system_same_as_user": true,
|
||||
|
@@ -6,7 +6,7 @@
|
||||
"stop_sequence": "<|eot_id|>",
|
||||
"wrap": false,
|
||||
"macro": true,
|
||||
"names_behavior": "always",
|
||||
"names_behavior": "force",
|
||||
"activation_regex": "",
|
||||
"system_sequence_prefix": "",
|
||||
"system_sequence_suffix": "",
|
||||
@@ -16,7 +16,7 @@
|
||||
"input_suffix": "<|eot_id|>",
|
||||
"system_suffix": "<|eot_id|>",
|
||||
"user_alignment_message": "",
|
||||
"system_same_as_user": true,
|
||||
"system_same_as_user": false,
|
||||
"last_system_sequence": "",
|
||||
"name": "Llama 3 Instruct"
|
||||
}
|
||||
|
22
default/content/presets/instruct/Llama 4 Instruct.json
Normal file
22
default/content/presets/instruct/Llama 4 Instruct.json
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"input_sequence": "<|header_start|>user<|header_end|>\n\n",
|
||||
"output_sequence": "<|header_start|>assistant<|header_end|>\n\n",
|
||||
"last_output_sequence": "",
|
||||
"system_sequence": "<|header_start|>system<|header_end|>\n\n",
|
||||
"stop_sequence": "<|eot|>",
|
||||
"wrap": false,
|
||||
"macro": true,
|
||||
"names_behavior": "force",
|
||||
"activation_regex": "",
|
||||
"system_sequence_prefix": "",
|
||||
"system_sequence_suffix": "",
|
||||
"first_output_sequence": "",
|
||||
"skip_examples": false,
|
||||
"output_suffix": "<|eot|>",
|
||||
"input_suffix": "<|eot|>",
|
||||
"system_suffix": "<|eot|>",
|
||||
"user_alignment_message": "",
|
||||
"system_same_as_user": false,
|
||||
"last_system_sequence": "",
|
||||
"name": "Llama 4 Instruct"
|
||||
}
|
@@ -6,7 +6,7 @@
|
||||
"stop_sequence": "",
|
||||
"wrap": false,
|
||||
"macro": true,
|
||||
"names_behavior": "always",
|
||||
"names_behavior": "force",
|
||||
"activation_regex": "",
|
||||
"system_sequence_prefix": "",
|
||||
"system_sequence_suffix": "",
|
||||
|
@@ -6,7 +6,7 @@
|
||||
"stop_sequence": "",
|
||||
"wrap": false,
|
||||
"macro": true,
|
||||
"names_behavior": "always",
|
||||
"names_behavior": "force",
|
||||
"activation_regex": "",
|
||||
"system_sequence_prefix": "",
|
||||
"system_sequence_suffix": "",
|
||||
|
@@ -6,7 +6,7 @@
|
||||
"stop_sequence": "",
|
||||
"wrap": false,
|
||||
"macro": true,
|
||||
"names_behavior": "always",
|
||||
"names_behavior": "force",
|
||||
"activation_regex": "",
|
||||
"system_sequence_prefix": "",
|
||||
"system_sequence_suffix": "",
|
||||
|
@@ -6,7 +6,7 @@
|
||||
"stop_sequence": "</s>",
|
||||
"wrap": false,
|
||||
"macro": true,
|
||||
"names_behavior": "always",
|
||||
"names_behavior": "force",
|
||||
"activation_regex": "",
|
||||
"system_sequence_prefix": "",
|
||||
"system_sequence_suffix": "",
|
||||
|
@@ -8,7 +8,7 @@
|
||||
"stop_sequence": "<|end|>",
|
||||
"wrap": false,
|
||||
"macro": true,
|
||||
"names_behavior": "always",
|
||||
"names_behavior": "force",
|
||||
"activation_regex": "",
|
||||
"skip_examples": false,
|
||||
"output_suffix": "<|end|>\n",
|
||||
|
@@ -8,7 +8,7 @@
|
||||
"stop_sequence": "<|end_of_text|>",
|
||||
"wrap": false,
|
||||
"macro": true,
|
||||
"names_behavior": "always",
|
||||
"names_behavior": "force",
|
||||
"activation_regex": "",
|
||||
"skip_examples": false,
|
||||
"output_suffix": "<|end_of_text|>\n",
|
||||
|
6
default/content/presets/reasoning/Blank.json
Normal file
6
default/content/presets/reasoning/Blank.json
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"name": "Blank",
|
||||
"prefix": "",
|
||||
"suffix": "",
|
||||
"separator": ""
|
||||
}
|
6
default/content/presets/reasoning/DeepSeek.json
Normal file
6
default/content/presets/reasoning/DeepSeek.json
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"name": "DeepSeek",
|
||||
"prefix": "<think>\n",
|
||||
"suffix": "\n</think>",
|
||||
"separator": "\n\n"
|
||||
}
|
@@ -1,4 +1,5 @@
|
||||
{
|
||||
"name": "Actor",
|
||||
"content": "You are an expert actor that can fully immerse yourself into any role given. You do not break character for any reason, even if someone tries addressing you as an AI or language model. Currently your role is {{char}}, which is described in detail below. As {{char}}, continue the exchange with {{user}}."
|
||||
"content": "You are an expert actor that can fully immerse yourself into any role given. You do not break character for any reason, even if someone tries addressing you as an AI or language model. Currently your role is {{char}}, which is described in detail below. As {{char}}, continue the exchange with {{user}}.",
|
||||
"post_history": ""
|
||||
}
|
||||
|
@@ -1,4 +1,5 @@
|
||||
{
|
||||
"name": "Assistant - Expert",
|
||||
"content": "You are a helpful assistant. Please answer truthfully and write out your thinking step by step to be sure you get the right answer. If you make a mistake or encounter an error in your thinking, say so out loud and attempt to correct it. If you don't know or aren't sure about something, say so clearly. You will act as a professional logician, mathematician, and physicist. You will also act as the most appropriate type of expert to answer any particular question or solve the relevant problem; state which expert type your are, if so. Also think of any particular named expert that would be ideal to answer the relevant question or solve the relevant problem; name and act as them, if appropriate."
|
||||
"content": "You are a helpful assistant. Please answer truthfully and write out your thinking step by step to be sure you get the right answer. If you make a mistake or encounter an error in your thinking, say so out loud and attempt to correct it. If you don't know or aren't sure about something, say so clearly. You will act as a professional logician, mathematician, and physicist. You will also act as the most appropriate type of expert to answer any particular question or solve the relevant problem; state which expert type your are, if so. Also think of any particular named expert that would be ideal to answer the relevant question or solve the relevant problem; name and act as them, if appropriate.",
|
||||
"post_history": ""
|
||||
}
|
||||
|
@@ -1,4 +1,5 @@
|
||||
{
|
||||
"name": "Assistant - Simple",
|
||||
"content": "A chat between a curious human and an artificial intelligence assistant. The assistant gives helpful, detailed, and polite answers to the human's questions."
|
||||
"content": "A chat between a curious human and an artificial intelligence assistant. The assistant gives helpful, detailed, and polite answers to the human's questions.",
|
||||
"post_history": ""
|
||||
}
|
||||
|
@@ -1,4 +1,5 @@
|
||||
{
|
||||
"name": "Blank",
|
||||
"content": ""
|
||||
"content": "",
|
||||
"post_history": ""
|
||||
}
|
||||
|
@@ -1,4 +1,5 @@
|
||||
{
|
||||
"name": "Chain of Thought",
|
||||
"content": "Elaborate on the topic using a Tree of Thoughts and backtrack when necessary to construct a clear, cohesive Chain of Thought reasoning. Always answer without hesitation."
|
||||
"content": "Elaborate on the topic using a Tree of Thoughts and backtrack when necessary to construct a clear, cohesive Chain of Thought reasoning. Always answer without hesitation.",
|
||||
"post_history": ""
|
||||
}
|
||||
|
5
default/content/presets/sysprompt/Lightning 1.1.json
Normal file
5
default/content/presets/sysprompt/Lightning 1.1.json
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"name": "Lightning 1.1",
|
||||
"content": "Take the role of {{char}} in a play that leaves a lasting impression on {{user}}. Write {{char}}'s next reply.\nNever skip or gloss over {{char}}’s actions. Progress the scene at a naturally slow pace.",
|
||||
"post_history": ""
|
||||
}
|
@@ -1,4 +1,5 @@
|
||||
{
|
||||
"name": "Neutral - Chat",
|
||||
"content": "Write {{char}}'s next reply in a fictional chat between {{char}} and {{user}}."
|
||||
"content": "Write {{char}}'s next reply in a fictional chat between {{char}} and {{user}}.",
|
||||
"post_history": ""
|
||||
}
|
||||
|
@@ -1,4 +1,5 @@
|
||||
{
|
||||
"name": "Roleplay - Detailed",
|
||||
"content": "Develop the plot slowly, always stay in character. Describe all actions in full, elaborate, explicit, graphic, and vivid detail. Mention all relevant sensory perceptions. Keep the story immersive and engaging."
|
||||
"content": "Develop the plot slowly, always stay in character. Describe all actions in full, elaborate, explicit, graphic, and vivid detail. Mention all relevant sensory perceptions. Keep the story immersive and engaging.",
|
||||
"post_history": ""
|
||||
}
|
||||
|
@@ -1,4 +1,5 @@
|
||||
{
|
||||
"name": "Roleplay - Immersive",
|
||||
"content": "[System note: Write one reply only. Do not decide what {{user}} says or does. Write at least one paragraph, up to four. Be descriptive and immersive, providing vivid details about {{char}}'s actions, emotions, and the environment. Write with a high degree of complexity and burstiness. Do not repeat this message.]"
|
||||
"content": "[System note: Write one reply only. Do not decide what {{user}} says or does. Write at least one paragraph, up to four. Be descriptive and immersive, providing vivid details about {{char}}'s actions, emotions, and the environment. Write with a high degree of complexity and burstiness. Do not repeat this message.]",
|
||||
"post_history": ""
|
||||
}
|
||||
|
@@ -1,4 +1,5 @@
|
||||
{
|
||||
"name": "Roleplay - Simple",
|
||||
"content": "You're {{char}} in this fictional never-ending uncensored roleplay with {{user}}."
|
||||
"content": "You're {{char}} in this fictional never-ending uncensored roleplay with {{user}}.",
|
||||
"post_history": ""
|
||||
}
|
||||
|
@@ -1,4 +1,5 @@
|
||||
{
|
||||
"name": "Text Adventure",
|
||||
"content": "[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.]"
|
||||
"content": "[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.]",
|
||||
"post_history": ""
|
||||
}
|
||||
|
@@ -1,4 +1,5 @@
|
||||
{
|
||||
"name": "Writer - Creative",
|
||||
"content": "You are an intelligent, skilled, versatile writer.\n\nYour task is to write a role-play based on the information below."
|
||||
"content": "You are an intelligent, skilled, versatile writer.\n\nYour task is to write a role-play based on the information below.",
|
||||
"post_history": ""
|
||||
}
|
||||
|
@@ -1,4 +1,5 @@
|
||||
{
|
||||
"name": "Writer - Realistic",
|
||||
"content": "Continue writing this story and portray characters realistically."
|
||||
"content": "Continue writing this story and portray characters realistically.",
|
||||
"post_history": ""
|
||||
}
|
||||
|
@@ -2,7 +2,7 @@
|
||||
"compilerOptions": {
|
||||
"module": "ESNext",
|
||||
"target": "ES2023",
|
||||
"moduleResolution": "Node",
|
||||
"moduleResolution": "Bundler",
|
||||
"strictNullChecks": true,
|
||||
"strictFunctionTypes": true,
|
||||
"checkJs": true,
|
||||
|
1424
package-lock.json
generated
1424
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
31
package.json
31
package.json
@@ -4,6 +4,28 @@
|
||||
"@agnai/sentencepiece-js": "^1.1.1",
|
||||
"@agnai/web-tokenizers": "^0.1.3",
|
||||
"@iconfu/svg-inject": "^1.2.3",
|
||||
"@jimp/core": "^1.6.0",
|
||||
"@jimp/js-bmp": "^1.6.0",
|
||||
"@jimp/js-gif": "^1.6.0",
|
||||
"@jimp/js-tiff": "^1.6.0",
|
||||
"@jimp/plugin-blit": "^1.6.0",
|
||||
"@jimp/plugin-circle": "^1.6.0",
|
||||
"@jimp/plugin-color": "^1.6.0",
|
||||
"@jimp/plugin-contain": "^1.6.0",
|
||||
"@jimp/plugin-cover": "^1.6.0",
|
||||
"@jimp/plugin-crop": "^1.6.0",
|
||||
"@jimp/plugin-displace": "^1.6.0",
|
||||
"@jimp/plugin-fisheye": "^1.6.0",
|
||||
"@jimp/plugin-flip": "^1.6.0",
|
||||
"@jimp/plugin-mask": "^1.6.0",
|
||||
"@jimp/plugin-quantize": "^1.6.0",
|
||||
"@jimp/plugin-resize": "^1.6.0",
|
||||
"@jimp/plugin-rotate": "^1.6.0",
|
||||
"@jimp/plugin-threshold": "^1.6.0",
|
||||
"@jimp/wasm-avif": "^1.6.0",
|
||||
"@jimp/wasm-jpeg": "^1.6.0",
|
||||
"@jimp/wasm-png": "^1.6.0",
|
||||
"@jimp/wasm-webp": "^1.6.0",
|
||||
"@mozilla/readability": "^0.6.0",
|
||||
"@popperjs/core": "^2.11.8",
|
||||
"@zeldafan0225/ai_horde": "^5.2.0",
|
||||
@@ -18,6 +40,7 @@
|
||||
"cookie-parser": "^1.4.6",
|
||||
"cookie-session": "^2.1.0",
|
||||
"cors": "^2.8.5",
|
||||
"crc": "^4.3.2",
|
||||
"csrf-sync": "^4.0.3",
|
||||
"diff-match-patch": "^1.0.5",
|
||||
"dompurify": "^3.2.4",
|
||||
@@ -36,7 +59,6 @@
|
||||
"ip-regex": "^5.0.0",
|
||||
"ipaddr.js": "^2.2.0",
|
||||
"is-docker": "^3.0.0",
|
||||
"jimp": "^0.22.10",
|
||||
"localforage": "^1.10.0",
|
||||
"lodash": "^4.17.21",
|
||||
"mime-types": "^2.1.35",
|
||||
@@ -47,7 +69,6 @@
|
||||
"node-persist": "^4.0.4",
|
||||
"open": "^8.4.2",
|
||||
"png-chunk-text": "^1.0.0",
|
||||
"png-chunks-encode": "^1.0.0",
|
||||
"png-chunks-extract": "^1.0.0",
|
||||
"proxy-agent": "^6.5.0",
|
||||
"rate-limiter-flexible": "^5.0.5",
|
||||
@@ -90,7 +111,7 @@
|
||||
"type": "git",
|
||||
"url": "https://github.com/SillyTavern/SillyTavern.git"
|
||||
},
|
||||
"version": "1.12.13",
|
||||
"version": "1.12.14",
|
||||
"scripts": {
|
||||
"start": "node server.js",
|
||||
"debug": "node --inspect server.js",
|
||||
@@ -132,7 +153,6 @@
|
||||
"@types/node": "^18.19.80",
|
||||
"@types/node-persist": "^3.1.8",
|
||||
"@types/png-chunk-text": "^1.0.3",
|
||||
"@types/png-chunks-encode": "^1.0.2",
|
||||
"@types/png-chunks-extract": "^1.0.2",
|
||||
"@types/response-time": "^2.3.8",
|
||||
"@types/select2": "^4.0.63",
|
||||
@@ -140,6 +160,7 @@
|
||||
"@types/write-file-atomic": "^4.0.3",
|
||||
"@types/yargs": "^17.0.33",
|
||||
"@types/yauzl": "^2.10.3",
|
||||
"eslint": "^8.57.1"
|
||||
"eslint": "^8.57.1",
|
||||
"eslint-plugin-jsdoc": "^48.10.0"
|
||||
}
|
||||
}
|
||||
|
232
post-install.js
232
post-install.js
@@ -3,133 +3,17 @@
|
||||
*/
|
||||
import fs from 'node:fs';
|
||||
import path from 'node:path';
|
||||
import crypto from 'node:crypto';
|
||||
import process from 'node:process';
|
||||
import yaml from 'yaml';
|
||||
import _ from 'lodash';
|
||||
import chalk from 'chalk';
|
||||
import { createRequire } from 'node:module';
|
||||
import { addMissingConfigValues } from './src/config-init.js';
|
||||
|
||||
/**
|
||||
* Colorizes console output.
|
||||
*/
|
||||
const color = chalk;
|
||||
|
||||
const keyMigrationMap = [
|
||||
{
|
||||
oldKey: 'disableThumbnails',
|
||||
newKey: 'thumbnails.enabled',
|
||||
migrate: (value) => !value,
|
||||
},
|
||||
{
|
||||
oldKey: 'thumbnailsQuality',
|
||||
newKey: 'thumbnails.quality',
|
||||
migrate: (value) => value,
|
||||
},
|
||||
{
|
||||
oldKey: 'avatarThumbnailsPng',
|
||||
newKey: 'thumbnails.format',
|
||||
migrate: (value) => (value ? 'png' : 'jpg'),
|
||||
},
|
||||
{
|
||||
oldKey: 'disableChatBackup',
|
||||
newKey: 'backups.chat.enabled',
|
||||
migrate: (value) => !value,
|
||||
},
|
||||
{
|
||||
oldKey: 'numberOfBackups',
|
||||
newKey: 'backups.common.numberOfBackups',
|
||||
migrate: (value) => value,
|
||||
},
|
||||
{
|
||||
oldKey: 'maxTotalChatBackups',
|
||||
newKey: 'backups.chat.maxTotalBackups',
|
||||
migrate: (value) => value,
|
||||
},
|
||||
{
|
||||
oldKey: 'chatBackupThrottleInterval',
|
||||
newKey: 'backups.chat.throttleInterval',
|
||||
migrate: (value) => value,
|
||||
},
|
||||
{
|
||||
oldKey: 'enableExtensions',
|
||||
newKey: 'extensions.enabled',
|
||||
migrate: (value) => value,
|
||||
},
|
||||
{
|
||||
oldKey: 'enableExtensionsAutoUpdate',
|
||||
newKey: 'extensions.autoUpdate',
|
||||
migrate: (value) => value,
|
||||
},
|
||||
{
|
||||
oldKey: 'extras.disableAutoDownload',
|
||||
newKey: 'extensions.models.autoDownload',
|
||||
migrate: (value) => !value,
|
||||
},
|
||||
{
|
||||
oldKey: 'extras.classificationModel',
|
||||
newKey: 'extensions.models.classification',
|
||||
migrate: (value) => value,
|
||||
},
|
||||
{
|
||||
oldKey: 'extras.captioningModel',
|
||||
newKey: 'extensions.models.captioning',
|
||||
migrate: (value) => value,
|
||||
},
|
||||
{
|
||||
oldKey: 'extras.embeddingModel',
|
||||
newKey: 'extensions.models.embedding',
|
||||
migrate: (value) => value,
|
||||
},
|
||||
{
|
||||
oldKey: 'extras.speechToTextModel',
|
||||
newKey: 'extensions.models.speechToText',
|
||||
migrate: (value) => value,
|
||||
},
|
||||
{
|
||||
oldKey: 'extras.textToSpeechModel',
|
||||
newKey: 'extensions.models.textToSpeech',
|
||||
migrate: (value) => value,
|
||||
},
|
||||
{
|
||||
oldKey: 'minLogLevel',
|
||||
newKey: 'logging.minLogLevel',
|
||||
migrate: (value) => value,
|
||||
},
|
||||
{
|
||||
oldKey: 'cardsCacheCapacity',
|
||||
newKey: 'performance.memoryCacheCapacity',
|
||||
migrate: (value) => `${value}mb`,
|
||||
},
|
||||
{
|
||||
oldKey: 'cookieSecret',
|
||||
newKey: 'cookieSecret',
|
||||
migrate: () => void 0,
|
||||
remove: true,
|
||||
},
|
||||
];
|
||||
|
||||
/**
|
||||
* Gets all keys from an object recursively.
|
||||
* @param {object} obj Object to get all keys from
|
||||
* @param {string} prefix Prefix to prepend to all keys
|
||||
* @returns {string[]} Array of all keys in the object
|
||||
*/
|
||||
function getAllKeys(obj, prefix = '') {
|
||||
if (typeof obj !== 'object' || Array.isArray(obj) || obj === null) {
|
||||
return [];
|
||||
}
|
||||
|
||||
return _.flatMap(Object.keys(obj), key => {
|
||||
const newPrefix = prefix ? `${prefix}.${key}` : key;
|
||||
if (typeof obj[key] === 'object' && !Array.isArray(obj[key])) {
|
||||
return getAllKeys(obj[key], newPrefix);
|
||||
} else {
|
||||
return [newPrefix];
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Converts the old config.conf file to the new config.yaml format.
|
||||
*/
|
||||
@@ -156,71 +40,6 @@ function convertConfig() {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Compares the current config.yaml with the default config.yaml and adds any missing values.
|
||||
*/
|
||||
function addMissingConfigValues() {
|
||||
try {
|
||||
const defaultConfig = yaml.parse(fs.readFileSync(path.join(process.cwd(), './default/config.yaml'), 'utf8'));
|
||||
let config = yaml.parse(fs.readFileSync(path.join(process.cwd(), './config.yaml'), 'utf8'));
|
||||
|
||||
// Migrate old keys to new keys
|
||||
const migratedKeys = [];
|
||||
for (const { oldKey, newKey, migrate, remove } of keyMigrationMap) {
|
||||
if (_.has(config, oldKey)) {
|
||||
if (remove) {
|
||||
_.unset(config, oldKey);
|
||||
migratedKeys.push({
|
||||
oldKey,
|
||||
newValue: void 0,
|
||||
});
|
||||
continue;
|
||||
}
|
||||
|
||||
const oldValue = _.get(config, oldKey);
|
||||
const newValue = migrate(oldValue);
|
||||
_.set(config, newKey, newValue);
|
||||
_.unset(config, oldKey);
|
||||
|
||||
migratedKeys.push({
|
||||
oldKey,
|
||||
newKey,
|
||||
oldValue,
|
||||
newValue,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
// Get all keys from the original config
|
||||
const originalKeys = getAllKeys(config);
|
||||
|
||||
// Use lodash's defaultsDeep function to recursively apply default properties
|
||||
config = _.defaultsDeep(config, defaultConfig);
|
||||
|
||||
// Get all keys from the updated config
|
||||
const updatedKeys = getAllKeys(config);
|
||||
|
||||
// Find the keys that were added
|
||||
const addedKeys = _.difference(updatedKeys, originalKeys);
|
||||
|
||||
if (addedKeys.length === 0 && migratedKeys.length === 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (addedKeys.length > 0) {
|
||||
console.log('Adding missing config values to config.yaml:', addedKeys);
|
||||
}
|
||||
|
||||
if (migratedKeys.length > 0) {
|
||||
console.log('Migrating config values in config.yaml:', migratedKeys);
|
||||
}
|
||||
|
||||
fs.writeFileSync('./config.yaml', yaml.stringify(config));
|
||||
} catch (error) {
|
||||
console.error(color.red('FATAL: Could not add missing config values to config.yaml'), error);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates the default config files if they don't exist yet.
|
||||
*/
|
||||
@@ -283,58 +102,13 @@ function createDefaultFiles() {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the MD5 hash of the given data.
|
||||
* @param {Buffer} data Input data
|
||||
* @returns {string} MD5 hash of the input data
|
||||
*/
|
||||
function getMd5Hash(data) {
|
||||
return crypto
|
||||
.createHash('md5')
|
||||
.update(new Uint8Array(data))
|
||||
.digest('hex');
|
||||
}
|
||||
|
||||
/**
|
||||
* Copies the WASM binaries from the sillytavern-transformers package to the dist folder.
|
||||
*/
|
||||
function copyWasmFiles() {
|
||||
if (!fs.existsSync('./dist')) {
|
||||
fs.mkdirSync('./dist');
|
||||
}
|
||||
|
||||
const listDir = fs.readdirSync('./node_modules/sillytavern-transformers/dist');
|
||||
|
||||
for (const file of listDir) {
|
||||
if (file.endsWith('.wasm')) {
|
||||
const sourcePath = `./node_modules/sillytavern-transformers/dist/${file}`;
|
||||
const targetPath = `./dist/${file}`;
|
||||
|
||||
// Don't copy if the file already exists and is the same checksum
|
||||
if (fs.existsSync(targetPath)) {
|
||||
const sourceChecksum = getMd5Hash(fs.readFileSync(sourcePath));
|
||||
const targetChecksum = getMd5Hash(fs.readFileSync(targetPath));
|
||||
|
||||
if (sourceChecksum === targetChecksum) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
fs.copyFileSync(sourcePath, targetPath);
|
||||
console.log(`${file} successfully copied to ./dist/${file}`);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
// 0. Convert config.conf to config.yaml
|
||||
convertConfig();
|
||||
// 1. Create default config files
|
||||
createDefaultFiles();
|
||||
// 2. Copy transformers WASM binaries from node_modules
|
||||
copyWasmFiles();
|
||||
// 3. Add missing config values
|
||||
addMissingConfigValues();
|
||||
// 2. Add missing config values
|
||||
addMissingConfigValues(path.join(process.cwd(), './config.yaml'));
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
}
|
||||
|
@@ -146,3 +146,15 @@ input.extension_missing[type="checkbox"] {
|
||||
.extensions_info .extension_actions {
|
||||
flex-wrap: nowrap;
|
||||
}
|
||||
|
||||
.extensions_toolbar {
|
||||
top: 0;
|
||||
position: sticky;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
background-color: var(--SmartThemeBlurTintColor);
|
||||
gap: 5px;
|
||||
z-index: 1;
|
||||
margin-bottom: 10px;
|
||||
padding: 5px;
|
||||
}
|
||||
|
@@ -359,10 +359,15 @@
|
||||
content: attr(external_piece_text);
|
||||
display: block;
|
||||
width: 100%;
|
||||
font-weight: 600;
|
||||
font-weight: 500;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.completion_prompt_manager_popup_entry_form_control #completion_prompt_manager_popup_entry_form_prompt:disabled {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
#completion_prompt_manager_popup_entry_source_block {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
|
@@ -87,7 +87,7 @@
|
||||
}
|
||||
|
||||
#rm_group_members:empty::before {
|
||||
content: 'Group is empty';
|
||||
content: attr(group_empty_text);
|
||||
|
||||
font-weight: bolder;
|
||||
width: 100%;
|
||||
@@ -115,7 +115,7 @@
|
||||
}
|
||||
|
||||
#rm_group_add_members:empty::before {
|
||||
content: 'No characters available';
|
||||
content: attr(no_characters_text);
|
||||
|
||||
font-weight: bolder;
|
||||
width: 100%;
|
||||
|
@@ -13,6 +13,7 @@
|
||||
backdrop-filter: blur(calc(var(--SmartThemeBlurStrength)*2));
|
||||
color: var(--SmartThemeBodyColor);
|
||||
z-index: 40000;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.select2-container .select2-selection .select2-selection__clear {
|
||||
|
@@ -124,6 +124,10 @@
|
||||
cursor: initial;
|
||||
}
|
||||
|
||||
.world_entry .inline-drawer-header-pointer {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.world_entry .killSwitch {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
11
public/global.d.ts
vendored
11
public/global.d.ts
vendored
@@ -55,4 +55,15 @@ declare global {
|
||||
* @param provider Translation provider
|
||||
*/
|
||||
async function translate(text: string, lang: string, provider: string = null): Promise<string>;
|
||||
|
||||
interface ConvertVideoArgs {
|
||||
buffer: Uint8Array;
|
||||
name: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* Converts a video file to an animated WebP format using FFmpeg.
|
||||
* @param args - The arguments for the conversion function.
|
||||
*/
|
||||
function convertVideoToAnimatedWebp(args: ConvertVideoArgs): Promise<Uint8Array>;
|
||||
}
|
||||
|
46
public/img/xai.svg
Normal file
46
public/img/xai.svg
Normal file
@@ -0,0 +1,46 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Generator: Adobe Illustrator 27.5.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
|
||||
<svg
|
||||
version="1.1"
|
||||
id="katman_1"
|
||||
x="0px"
|
||||
y="0px"
|
||||
viewBox="0 0 438.67001 481.44999"
|
||||
xml:space="preserve"
|
||||
sodipodi:docname="XAI_Logo.svg"
|
||||
width="438.67001"
|
||||
height="481.45001"
|
||||
inkscape:version="1.3 (0e150ed, 2023-07-21)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"><defs
|
||||
id="defs4" /><sodipodi:namedview
|
||||
id="namedview4"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#000000"
|
||||
borderopacity="0.25"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:zoom="0.39645207"
|
||||
inkscape:cx="219.44645"
|
||||
inkscape:cy="238.36425"
|
||||
inkscape:window-width="1512"
|
||||
inkscape:window-height="856"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="38"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="katman_1" /> <g
|
||||
id="g4"
|
||||
transform="translate(-201.61,-56.91)"> <polygon
|
||||
points="631.96,538.36 640.28,93.18 557.09,211.99 565.4,538.36 "
|
||||
id="polygon1" /> <polygon
|
||||
points="379.35,284.53 430.13,357.05 640.28,56.91 538.72,56.91 "
|
||||
id="polygon2" /> <polygon
|
||||
points="353.96,465.84 303.17,393.31 201.61,538.36 303.17,538.36 "
|
||||
id="polygon3" /> <polygon
|
||||
points="531.69,538.36 303.17,211.99 201.61,211.99 430.13,538.36 "
|
||||
id="polygon4" /> </g> </svg>
|
After Width: | Height: | Size: 1.6 KiB |
@@ -197,6 +197,9 @@
|
||||
<div id="update_oai_preset" class="menu_button menu_button_icon" title="Update current preset" data-i18n="[title]Update current preset">
|
||||
<i class="fa-fw fa-solid fa-save"></i>
|
||||
</div>
|
||||
<div data-preset-manager-rename="openai" class="menu_button menu_button_icon" title="Rename current preset" data-i18n="[title]Rename current preset">
|
||||
<i class="fa-fw fa-solid fa-pencil"></i>
|
||||
</div>
|
||||
<div id="new_oai_preset" class="menu_button menu_button_icon" title="Save preset as" data-i18n="[title]Save preset as">
|
||||
<i class="fa-fw fa-solid fa-file-circle-plus"></i>
|
||||
</div>
|
||||
@@ -643,7 +646,7 @@
|
||||
<input type="number" id="openai_max_tokens" name="openai_max_tokens" class="text_pole" min="1" max="65536">
|
||||
</div>
|
||||
</div>
|
||||
<div class="range-block" data-source="openai,custom">
|
||||
<div class="range-block" data-source="openai,custom,xai">
|
||||
<div class="range-block-title" data-i18n="Multiple swipes per generation">
|
||||
Multiple swipes per generation
|
||||
</div>
|
||||
@@ -682,7 +685,7 @@
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="range-block" data-source="openai,claude,windowai,openrouter,ai21,scale,makersuite,mistralai,custom,cohere,perplexity,groq,01ai,nanogpt,deepseek">
|
||||
<div class="range-block" data-source="openai,claude,windowai,openrouter,ai21,scale,makersuite,mistralai,custom,cohere,perplexity,groq,01ai,nanogpt,deepseek,xai">
|
||||
<div class="range-block-title" data-i18n="Temperature">
|
||||
Temperature
|
||||
</div>
|
||||
@@ -695,7 +698,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="range-block" data-source="openai,openrouter,custom,cohere,perplexity,groq,mistralai,nanogpt,deepseek">
|
||||
<div class="range-block" data-source="openai,openrouter,custom,cohere,perplexity,groq,mistralai,nanogpt,deepseek,xai">
|
||||
<div class="range-block-title" data-i18n="Frequency Penalty">
|
||||
Frequency Penalty
|
||||
</div>
|
||||
@@ -708,7 +711,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="range-block" data-source="openai,openrouter,custom,cohere,perplexity,groq,mistralai,nanogpt,deepseek">
|
||||
<div class="range-block" data-source="openai,openrouter,custom,cohere,perplexity,groq,mistralai,nanogpt,deepseek,xai">
|
||||
<div class="range-block-title" data-i18n="Presence Penalty">
|
||||
Presence Penalty
|
||||
</div>
|
||||
@@ -734,7 +737,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="range-block" data-source="openai,claude,openrouter,ai21,scale,makersuite,mistralai,custom,cohere,perplexity,groq,01ai,nanogpt,deepseek">
|
||||
<div class="range-block" data-source="openai,claude,openrouter,ai21,scale,makersuite,mistralai,custom,cohere,perplexity,groq,01ai,nanogpt,deepseek,xai">
|
||||
<div class="range-block-title" data-i18n="Top P">
|
||||
Top P
|
||||
</div>
|
||||
@@ -971,7 +974,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="range-block" data-source="openai,openrouter,mistralai,custom,cohere,groq,nanogpt">
|
||||
<div class="range-block" data-source="openai,openrouter,mistralai,custom,cohere,groq,nanogpt,xai">
|
||||
<div class="range-block-title justifyLeft" data-i18n="Seed">
|
||||
Seed
|
||||
</div>
|
||||
@@ -1281,7 +1284,7 @@
|
||||
<input class="neo-range-slider" type="range" id="min_p_textgenerationwebui" name="volume" min="0" max="1" step="0.001">
|
||||
<input class="neo-range-input" type="number" min="0" max="1" step="0.001" data-for="min_p_textgenerationwebui" id="min_p_counter_textgenerationwebui">
|
||||
</div>
|
||||
<div data-tg-type-mode="except" data-tg-type="generic" class="alignitemscenter flex-container flexFlowColumn flexBasis30p flexGrow flexShrink gap0">
|
||||
<div data-tg-type-mode="except" data-tg-type="generic,llamacpp" class="alignitemscenter flex-container flexFlowColumn flexBasis30p flexGrow flexShrink gap0">
|
||||
<small>
|
||||
<span data-i18n="Top A">Top A</span>
|
||||
<div class="fa-solid fa-circle-info opacity50p" title="Top A sets a threshold for token selection based on the square of the highest token probability. E.g if the Top-A value is 0.2 and the top token's probability is 50%, tokens with probabilities below 5% (0.2 * 0.5^2) are excluded. Set to 0 to disable." data-i18n="[title]Top_A_desc"></div>
|
||||
@@ -1289,7 +1292,7 @@
|
||||
<input class="neo-range-slider" type="range" id="top_a_textgenerationwebui" name="volume" min="0" max="1" step="0.01">
|
||||
<input class="neo-range-input" type="number" min="0" max="1" step="0.01" data-for="top_a_textgenerationwebui" id="top_a_counter_textgenerationwebui">
|
||||
</div>
|
||||
<div data-tg-type-mode="except" data-tg-type="generic" class="alignitemscenter flex-container flexFlowColumn flexBasis30p flexGrow flexShrink gap0">
|
||||
<div data-tg-type-mode="except" data-tg-type="generic,llamacpp" class="alignitemscenter flex-container flexFlowColumn flexBasis30p flexGrow flexShrink gap0">
|
||||
<small>
|
||||
<span data-i18n="TFS">TFS</span>
|
||||
<div class="fa-solid fa-circle-info opacity50p" data-i18n="[title]Tail_Free_Sampling_desc" title="Tail-Free Sampling (TFS) searches for a tail of low-probability tokens in the distribution, by analyzing the rate of change in token probabilities using derivatives. It retains tokens up to a threshold (e.g., 0.3) based on the normalized second derivative. The closer to 0, the more discarded tokens. Set to 1.0 to disable."></div>
|
||||
@@ -1305,7 +1308,7 @@
|
||||
<input class="neo-range-slider" type="range" id="epsilon_cutoff_textgenerationwebui" name="volume" min="0" max="9" step="0.01">
|
||||
<input class="neo-range-input" type="number" min="0" max="9" step="0.01" data-for="epsilon_cutoff_textgenerationwebui" id="epsilon_cutoff_counter_textgenerationwebui">
|
||||
</div>
|
||||
<div data-tg-type="aphrodite,koboldcpp" class="alignitemscenter flex-container flexFlowColumn flexBasis30p flexGrow flexShrink gap0">
|
||||
<div data-tg-type="aphrodite,koboldcpp,llamacpp" class="alignitemscenter flex-container flexFlowColumn flexBasis30p flexGrow flexShrink gap0">
|
||||
<small>
|
||||
<span data-i18n="Top nsigma">Top nsigma</span>
|
||||
<div class="fa-solid fa-circle-info opacity50p" title="A sampling method that filters logits based on their statistical properties. It keeps tokens within n standard deviations of the maximum logit value, providing a simpler alternative to top-p/top-k sampling while maintaining sampling stability across different temperatures."></div>
|
||||
@@ -1313,6 +1316,14 @@
|
||||
<input class="neo-range-slider" type="range" id="nsigma_textgenerationwebui" name="volume" min="0" max="5" step="0.01">
|
||||
<input class="neo-range-input" type="number" min="0" max="5" step="0.01" data-for="nsigma_textgenerationwebui" id="nsigma_counter_textgenerationwebui">
|
||||
</div>
|
||||
<div data-tg-type="llamacpp" class="alignitemscenter flex-container flexFlowColumn flexBasis30p flexGrow flexShrink gap0">
|
||||
<small>
|
||||
<span data-i18n="Min Keep">Min Keep</span>
|
||||
<div class="fa-solid fa-circle-info opacity50p" title="A sampling modifier that ensures that truncation samplers such as top-p, min-p, typical-p, and xtc return at least this many tokens. Set to 0 to disable."></div>
|
||||
</small>
|
||||
<input class="neo-range-slider" type="range" id="min_keep_textgenerationwebui" name="volume" min="0" max="50" step="1">
|
||||
<input class="neo-range-input" type="number" min="0" max="50" step="1" data-for="min_keep_textgenerationwebui" id="min_keep_counter_textgenerationwebui">
|
||||
</div>
|
||||
<div data-tg-type="ooba,mancer,aphrodite" class="alignitemscenter flex-container flexFlowColumn flexBasis30p flexGrow flexShrink gap0">
|
||||
<small>
|
||||
<span data-i18n="Eta Cutoff">Eta Cutoff</span>
|
||||
@@ -1395,7 +1406,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div data-tg-type="koboldcpp, aphrodite, tabby, ooba, llamacpp" id="xtc_block" class="wide100p">
|
||||
<div data-tg-type="koboldcpp, aphrodite, mancer, tabby, ooba, llamacpp" id="xtc_block" class="wide100p">
|
||||
<h4 class="wide100p textAlignCenter">
|
||||
<label data-i18n="Exclude Top Choices (XTC)">Exclude Top Choices (XTC)</label>
|
||||
<a href="https://github.com/oobabooga/text-generation-webui/pull/6335" target="_blank">
|
||||
@@ -1416,7 +1427,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div data-tg-type="aphrodite, ooba, koboldcpp, tabby, llamacpp" id="dryBlock" class="wide100p">
|
||||
<div data-tg-type="aphrodite, mancer, ooba, koboldcpp, tabby, llamacpp, dreamgen" id="dryBlock" class="wide100p">
|
||||
<h4 class="wide100p textAlignCenter" title="DRY penalizes tokens that would extend the end of the input into a sequence that has previously occurred in the input. Set multiplier to 0 to disable." data-i18n="[title]DRY_Repetition_Penalty_desc">
|
||||
<label data-i18n="DRY Repetition Penalty">DRY Repetition Penalty</label>
|
||||
<a href="https://github.com/oobabooga/text-generation-webui/pull/5677" target="_blank">
|
||||
@@ -1482,7 +1493,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div data-tg-type="ooba,infermaticai,koboldcpp,llamacpp,mancer,ollama,tabby" id="mirostat_block_ooba" class="wide100p">
|
||||
<div data-tg-type="ooba,infermaticai,koboldcpp,llamacpp,ollama,tabby" id="mirostat_block_ooba" class="wide100p">
|
||||
<h4 class="wide100p textAlignCenter">
|
||||
<label data-i18n="Mirostat (mode=1 is only for llama.cpp)">Mirostat</label>
|
||||
<div class=" fa-solid fa-circle-info opacity50p " data-i18n="[title]Mirostat_desc" title="Mirostat is a thermostat for output perplexity. Mirostat matches the output perplexity to that of the input, thus avoiding the repetition trap (where, as the autoregressive inference produces text, the perplexity of the output tends toward zero) and the confusion trap (where the perplexity diverges). For details, see the paper Mirostat: A Neural Text Decoding Algorithm that Directly Controls Perplexity by Basu et al. (2020). Mode chooses the Mirostat version. 0=disable, 1=Mirostat 1.0 (llama.cpp only), 2=Mirostat 2.0."></div>
|
||||
@@ -1571,7 +1582,7 @@
|
||||
<div class="fa-solid fa-circle-info opacity50p " data-i18n="[title]Add the bos_token to the beginning of prompts. Disabling this can make the replies more creative" title="Add the bos_token to the beginning of prompts. Disabling this can make the replies more creative."></div>
|
||||
</label>
|
||||
</label>
|
||||
<label data-tg-type="ooba, llamacpp, tabby, koboldcpp" class="checkbox_label flexGrow flexShrink" for="ban_eos_token_textgenerationwebui">
|
||||
<label data-tg-type="ooba, llamacpp, tabby, koboldcpp, dreamgen" class="checkbox_label flexGrow flexShrink" for="ban_eos_token_textgenerationwebui">
|
||||
<input type="checkbox" id="ban_eos_token_textgenerationwebui" />
|
||||
<label>
|
||||
<small data-i18n="Ban EOS Token">Ban EOS Token</small>
|
||||
@@ -1766,11 +1777,12 @@
|
||||
<div data-name="temperature" draggable="true"><span>Temperature</span><small></small></div>
|
||||
<div data-name="top_k" draggable="true"><span>Top K</span><small></small></div>
|
||||
<div data-name="top_p" draggable="true"><span>Top P</span><small></small></div>
|
||||
<div data-name="typical_p" draggable="true"><span>Typical P</span><small></small></div>
|
||||
<div data-name="tfs_z" draggable="true"><span>Tail Free Sampling</span><small></small></div>
|
||||
<div data-name="typ_p" draggable="true"><span>Typical P</span><small></small></div>
|
||||
<div data-name="min_p" draggable="true"><span>Min P</span><small></small></div>
|
||||
<div data-name="xtc" draggable="true"><span>Exclude Top Choices</span><small></small></div>
|
||||
<div data-name="dry" draggable="true"><span>DRY</span><small></small></div>
|
||||
<div data-name="penalties" draggable="true"><span>Rep/Freq/Pres Penalties</span><small></small></div>
|
||||
<div data-name="top_n_sigma" draggable="true"><span>Top N-Sigma</span><small></small></div>
|
||||
</div>
|
||||
<div id="llamacpp_samplers_default_order" class="menu_button menu_button_icon">
|
||||
<span data-i18n="Load default order">Load default order</span>
|
||||
@@ -1951,18 +1963,21 @@
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="range-block" data-source="makersuite,openrouter">
|
||||
<div class="range-block" data-source="makersuite,openrouter,claude">
|
||||
<label for="openai_enable_web_search" class="checkbox_label flexWrap widthFreeExpand">
|
||||
<input id="openai_enable_web_search" type="checkbox" />
|
||||
<span data-i18n="Enable web search">Enable web search</span>
|
||||
</label>
|
||||
<div class="flexBasis100p toggle-description justifyLeft">
|
||||
<span>
|
||||
<span data-i18n="Use search capabilities provided by the backend.">
|
||||
Use search capabilities provided by the backend.
|
||||
</span>
|
||||
<b data-source="openrouter" data-i18n="openrouter_web_search_fee">
|
||||
Not free, adds a $0.02 fee to each prompt.
|
||||
</b>
|
||||
</div>
|
||||
</div>
|
||||
<div class="range-block" data-source="openai,cohere,mistralai,custom,claude,openrouter,groq,deepseek,makersuite,ai21">
|
||||
<div class="range-block" data-source="openai,cohere,mistralai,custom,claude,openrouter,groq,deepseek,makersuite,ai21,xai">
|
||||
<label for="openai_function_calling" class="checkbox_label flexWrap widthFreeExpand">
|
||||
<input id="openai_function_calling" type="checkbox" />
|
||||
<span data-i18n="Enable function calling">Enable function calling</span>
|
||||
@@ -1972,7 +1987,7 @@
|
||||
<span data-i18n="enable_functions_desc_3">Can be utilized by various extensions to provide additional functionality.</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="range-block" data-source="openai,openrouter,makersuite,claude,custom,01ai">
|
||||
<div class="range-block" data-source="openai,openrouter,mistralai,makersuite,claude,custom,01ai,xai">
|
||||
<label for="openai_image_inlining" class="checkbox_label flexWrap widthFreeExpand">
|
||||
<input id="openai_image_inlining" type="checkbox" />
|
||||
<span data-i18n="Send inline images">Send inline images</span>
|
||||
@@ -1984,7 +1999,7 @@
|
||||
<code><i class="fa-solid fa-wand-magic-sparkles"></i></code>
|
||||
<span data-i18n="image_inlining_hint_3">menu to attach an image file to the chat.</span>
|
||||
</div>
|
||||
<div class="flex-container flexFlowColumn wide100p textAlignCenter marginTop10" data-source="openai,custom">
|
||||
<div class="flex-container flexFlowColumn wide100p textAlignCenter marginTop10" data-source="openai,custom,xai">
|
||||
<div class="flex-container oneline-dropdown">
|
||||
<label for="openai_inline_image_quality" data-i18n="Inline Image Quality">
|
||||
Inline Image Quality
|
||||
@@ -2019,7 +2034,7 @@
|
||||
<input id="use_makersuite_sysprompt" type="checkbox" />
|
||||
<span>
|
||||
<span data-i18n="Use system prompt">Use system prompt</span>
|
||||
<i class="opacity50p fa-solid fa-circle-info" title="Gemini 1.5/2.0 Pro/Flash"></i>
|
||||
<i class="opacity50p fa-solid fa-circle-info" title="Gemini 1.5+, LearnLM"></i>
|
||||
</span>
|
||||
</label>
|
||||
<div class="toggle-description justifyLeft marginBot5">
|
||||
@@ -2028,7 +2043,7 @@
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="range-block" data-source="deepseek,openrouter,custom,claude">
|
||||
<div class="range-block" data-source="deepseek,openrouter,custom,claude,xai">
|
||||
<label for="openai_show_thoughts" class="checkbox_label widthFreeExpand">
|
||||
<input id="openai_show_thoughts" type="checkbox" />
|
||||
<span>
|
||||
@@ -2042,16 +2057,20 @@
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex-container flexFlowColumn wide100p textAlignCenter marginTop10" data-source="openai,custom,claude">
|
||||
<div class="flex-container oneline-dropdown" title="Constrains effort on reasoning for reasoning models. Currently supported values are low, medium, and high. Reducing reasoning effort can result in faster responses and fewer tokens used on reasoning in a response." data-i18n="[title]Constrains effort on reasoning for reasoning models.">
|
||||
<div class="flex-container flexFlowColumn wide100p textAlignCenter marginTop10" data-source="openai,custom,claude,xai,makersuite,openrouter">
|
||||
<div class="flex-container oneline-dropdown" title="Constrains effort on reasoning for reasoning models. Reducing reasoning effort can result in faster responses and fewer tokens used on reasoning in a response." data-i18n="[title]Constrains effort on reasoning for reasoning models.">
|
||||
<label for="openai_reasoning_effort">
|
||||
<span data-i18n="Reasoning Effort">Reasoning Effort</span>
|
||||
<i data-source="claude" class="opacity50p fa-solid fa-circle-info" title="Allocates a portion of the response length for thinking (low: 10%, medium: 25%, high: 50%), but minimum 1024 tokens."></i>
|
||||
<i data-source="openai,custom,xai,openrouter" class="opacity50p fa-solid fa-circle-info" title="OpenAI-style options: low, medium, high. Minimum and maximum are aliased to low and high. Auto does not send an effort level." data-i18n="[title]OpenAI-style options: low, medium, high. Minimum and maximum are aliased to low and high. Auto does not send an effort level."></i>
|
||||
<i data-source="claude,makersuite" class="opacity50p fa-solid fa-circle-info" title="Allocates a portion of the response length for thinking (low: 10%, medium: 25%, high: 50%). Other options are model-dependent." data-i18n="[title]Allocates a portion of the response length for thinking (low: 10%, medium: 25%, high: 50%). Other options are model-dependent."></i>
|
||||
</label>
|
||||
<select id="openai_reasoning_effort">
|
||||
<option data-i18n="openai_reasoning_effort_auto" value="auto">Auto</option>
|
||||
<option data-i18n="openai_reasoning_effort_minimum" value="min">Mininum</option>
|
||||
<option data-i18n="openai_reasoning_effort_low" value="low">Low</option>
|
||||
<option data-i18n="openai_reasoning_effort_medium" value="medium">Medium</option>
|
||||
<option data-i18n="openai_reasoning_effort_high" value="high">High</option>
|
||||
<option data-i18n="openai_reasoning_effort_maximum" value="max">Maximum</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
@@ -2188,7 +2207,7 @@
|
||||
<input id="horde_trusted_workers_only" type="checkbox" />
|
||||
<span data-i18n="Trusted workers only">Trusted workers only</span>
|
||||
</label>
|
||||
<small id="adjustedHordeParams">Context: --, Response: --</small>
|
||||
<small id="adjustedHordeParams"><span data-i18n="Context">Context</span>: --, <span data-i18n="Response">Response</span>: --</small>
|
||||
<h4 data-i18n="API key">API key</h4>
|
||||
<small>
|
||||
<span data-i18n="Get it here:">Get it here: </span> <a target="_blank" href="https://aihorde.net/register" data-i18n="Register">Register</a> (<a id="horde_kudos" href="javascript:void(0);" data-i18n="View my Kudos">View my Kudos</a>)<br>
|
||||
@@ -2429,7 +2448,7 @@
|
||||
</div>
|
||||
<div class="flex1">
|
||||
<h4 data-i18n="Server url">Server URL</h4>
|
||||
<small data-i18n="Example: 127.0.0.1:5000">Example: http://127.0.0.1:5000</small>
|
||||
<small data-i18n="Example: http://127.0.0.1:5000">Example: http://127.0.0.1:5000</small>
|
||||
<input id="generic_api_url_text" name="generic_api_url" class="text_pole wide100p" value="" autocomplete="off" data-server-history="generic">
|
||||
</div>
|
||||
<datalist id="generic_model_fill"></datalist>
|
||||
@@ -2458,7 +2477,7 @@
|
||||
</div>
|
||||
<div class="flex1">
|
||||
<h4 data-i18n="Server url">Server URL</h4>
|
||||
<small data-i18n="Example: 127.0.0.1:5000">Example: http://127.0.0.1:5000</small>
|
||||
<small data-i18n="Example: http://127.0.0.1:5000">Example: http://127.0.0.1:5000</small>
|
||||
<input id="textgenerationwebui_api_url_text" name="textgenerationwebui_api_url" class="text_pole wide100p" value="" autocomplete="off" data-server-history="ooba_blocking">
|
||||
</div>
|
||||
<input id="custom_model_textgenerationwebui" class="text_pole wide100p" placeholder="Custom model (optional)" data-i18n="[placeholder]Custom model (optional)" type="text">
|
||||
@@ -2488,8 +2507,8 @@
|
||||
<option value="search" data-i18n="Search" hidden>A-Z</option>
|
||||
<option value="asc">A-Z</option>
|
||||
<option value="desc">Z-A</option>
|
||||
<option value="date_asc">Date Asc</option>
|
||||
<option value="date_desc">Date Desc</option>
|
||||
<option data-i18n="Date Asc" value="date_asc">Date Asc</option>
|
||||
<option data-i18n="Date Desc" value="date_desc">Date Desc</option>
|
||||
</select>
|
||||
<select id="featherless_category_selection" class="text_pole">
|
||||
<option value="" disabled selected data-i18n="category">category</option>
|
||||
@@ -2499,7 +2518,7 @@
|
||||
<option value="All" data-i18n="All">All</option>
|
||||
</select>
|
||||
<select id="featherless_class_selection" class="text_pole">
|
||||
<option value="" selected data-i18n="class">All Classes</option>
|
||||
<option value="" selected data-i18n="All Classes">All Classes</option>
|
||||
</select>
|
||||
<div id="featherless_model_pagination_container" class="flex1"></div>
|
||||
<i id="featherless_model_grid_toggle" class="fa-solid fa-table-cells-large menu_button" data-i18n="[title]Toggle grid view" title="Toggle grid view"></i>
|
||||
@@ -2531,7 +2550,7 @@
|
||||
</div>
|
||||
<div class="flex1">
|
||||
<h4 data-i18n="API url">API URL</h4>
|
||||
<small data-i18n="Example: 127.0.0.1:8000">Example: http://127.0.0.1:8000</small>
|
||||
<small data-i18n="Example: http://127.0.0.1:8000">Example: http://127.0.0.1:8000</small>
|
||||
<input id="vllm_api_url_text" class="text_pole wide100p" value="" autocomplete="off" data-server-history="vllm">
|
||||
</div>
|
||||
<div>
|
||||
@@ -2577,7 +2596,7 @@
|
||||
</div>
|
||||
<div class="flex1">
|
||||
<h4 data-i18n="API url">API URL</h4>
|
||||
<small data-i18n="Example: 127.0.0.1:5000">Example: http://127.0.0.1:5000</small>
|
||||
<small data-i18n="Example: http://127.0.0.1:5000">Example: http://127.0.0.1:5000</small>
|
||||
<input id="aphrodite_api_url_text" class="text_pole wide100p" value="" autocomplete="off" data-server-history="aphrodite">
|
||||
</div>
|
||||
<div>
|
||||
@@ -2606,19 +2625,19 @@
|
||||
</div>
|
||||
<div class="flex1">
|
||||
<h4 data-i18n="API url">API URL</h4>
|
||||
<small data-i18n="Example: 127.0.0.1:8080">Example: http://127.0.0.1:8080</small>
|
||||
<small data-i18n="Example: http://127.0.0.1:8080">Example: http://127.0.0.1:8080</small>
|
||||
<input id="llamacpp_api_url_text" class="text_pole wide100p" value="" autocomplete="off" data-server-history="llamacpp">
|
||||
</div>
|
||||
</div>
|
||||
<div data-tg-type="ollama">
|
||||
<div class="flex-container flexFlowColumn">
|
||||
<a href="https://github.com/jmorganca/ollama" target="_blank">
|
||||
jmorganca/ollama
|
||||
<a href="https://github.com/ollama/ollama" target="_blank">
|
||||
ollama/ollama
|
||||
</a>
|
||||
</div>
|
||||
<div class="flex1">
|
||||
<h4 data-i18n="API url">API URL</h4>
|
||||
<small data-i18n="Example: 127.0.0.1:11434">Example: http://127.0.0.1:11434</small>
|
||||
<small data-i18n="Example: http://127.0.0.1:11434">Example: http://127.0.0.1:11434</small>
|
||||
<input id="ollama_api_url_text" class="text_pole wide100p" value="" autocomplete="off" data-server-history="ollama">
|
||||
</div>
|
||||
<div class="flex1">
|
||||
@@ -2653,7 +2672,7 @@
|
||||
</div>
|
||||
<div class="flex1">
|
||||
<h4 data-i18n="API url">API URL</h4>
|
||||
<small data-i18n="Example: 127.0.0.1:5000">Example: http://127.0.0.1:5000</small>
|
||||
<small data-i18n="Example: http://127.0.0.1:5000">Example: http://127.0.0.1:5000</small>
|
||||
<input id="tabby_api_url_text" class="text_pole wide100p" value="" autocomplete="off" data-server-history="tabby">
|
||||
</div>
|
||||
<div class="flex1">
|
||||
@@ -2705,7 +2724,7 @@
|
||||
</div>
|
||||
<div class="flex1">
|
||||
<h4 data-i18n="API url">API URL</h4>
|
||||
<small data-i18n="Example: 127.0.0.1:5001">Example: http://127.0.0.1:5001</small>
|
||||
<small data-i18n="Example: http://127.0.0.1:5001">Example: http://127.0.0.1:5001</small>
|
||||
<input id="koboldcpp_api_url_text" class="text_pole wide100p" value="" autocomplete="off" data-server-history="koboldcpp">
|
||||
</div>
|
||||
</div>
|
||||
@@ -2742,7 +2761,6 @@
|
||||
<optgroup>
|
||||
<option value="01ai">01.AI (Yi)</option>
|
||||
<option value="ai21">AI21</option>
|
||||
<option value="blockentropy">Block Entropy</option>
|
||||
<option value="claude">Claude</option>
|
||||
<option value="cohere">Cohere</option>
|
||||
<option value="deepseek">DeepSeek</option>
|
||||
@@ -2754,9 +2772,10 @@
|
||||
<option value="perplexity">Perplexity</option>
|
||||
<option value="scale">Scale</option>
|
||||
<option value="windowai">Window AI</option>
|
||||
<option value="xai">xAI (Grok)</option>
|
||||
</optgroup>
|
||||
</select>
|
||||
<div class="inline-drawer wide100p" data-source="openai,claude,mistralai,makersuite,deepseek">
|
||||
<div class="inline-drawer wide100p" data-source="openai,claude,mistralai,makersuite,deepseek,xai">
|
||||
<div class="inline-drawer-toggle inline-drawer-header">
|
||||
<b data-i18n="Reverse Proxy">Reverse Proxy</b>
|
||||
<div class="fa-solid fa-circle-chevron-down inline-drawer-icon down"></div>
|
||||
@@ -2819,7 +2838,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="ReverseProxyWarningMessage" data-source="openai,claude,mistralai,makersuite,deepseek">
|
||||
<div id="ReverseProxyWarningMessage" data-source="openai,claude,mistralai,makersuite,deepseek,xai">
|
||||
<div class="reverse_proxy_warning">
|
||||
<b>
|
||||
<div data-i18n="Using a proxy that you're not running yourself is a risk to your data privacy.">
|
||||
@@ -2878,12 +2897,17 @@
|
||||
</optgroup>
|
||||
<optgroup label="GPT-4o mini">
|
||||
<option value="gpt-4o-mini">gpt-4o-mini</option>
|
||||
<option value="gpt-4o-2024-11-20">gpt-4o-2024-11-20</option>
|
||||
<option value="gpt-4o-2024-08-06">gpt-4o-2024-08-06</option>
|
||||
<option value="gpt-4o-2024-05-13">gpt-4o-2024-05-13</option>
|
||||
<option value="chatgpt-4o-latest">chatgpt-4o-latest</option>
|
||||
<option value="gpt-4o-mini-2024-07-18">gpt-4o-mini-2024-07-18</option>
|
||||
</optgroup>
|
||||
<optgroup label="o1 and o1-mini">
|
||||
<optgroup label="GPT-4.1">
|
||||
<option value="gpt-4.1">gpt-4.1</option>
|
||||
<option value="gpt-4.1-2025-04-14">gpt-4.1-2025-04-14</option>
|
||||
<option value="gpt-4.1-mini">gpt-4.1-mini</option>
|
||||
<option value="gpt-4.1-mini-2025-04-14">gpt-4.1-mini-2025-04-14</option>
|
||||
<option value="gpt-4.1-nano">gpt-4.1-nano</option>
|
||||
<option value="gpt-4.1-nano-2025-04-14">gpt-4.1-nano-2025-04-14</option>
|
||||
</optgroup>
|
||||
<optgroup label="o1">
|
||||
<option value="o1">o1</option>
|
||||
<option value="o1-2024-12-17">o1-2024-12-17</option>
|
||||
<option value="o1-mini">o1-mini</option>
|
||||
@@ -2892,9 +2916,15 @@
|
||||
<option value="o1-preview-2024-09-12">o1-preview-2024-09-12</option>
|
||||
</optgroup>
|
||||
<optgroup label="o3">
|
||||
<option value="o3">o3</option>
|
||||
<option value="o3-2025-04-16">o3-2025-04-16</option>
|
||||
<option value="o3-mini">o3-mini</option>
|
||||
<option value="o3-mini-2025-01-31">o3-mini-2025-01-31</option>
|
||||
</optgroup>
|
||||
<optgroup label="o4">
|
||||
<option value="o4-mini">o4-mini</option>
|
||||
<option value="o4-mini-2025-04-16">o4-mini-2025-04-16</option>
|
||||
</optgroup>
|
||||
<optgroup label="GPT-4.5">
|
||||
<option value="gpt-4.5-preview">gpt-4.5-preview</option>
|
||||
<option value="gpt-4.5-preview-2025-02-27">gpt-4.5-preview-2025-02-27</option>
|
||||
@@ -3125,46 +3155,50 @@
|
||||
<div>
|
||||
<h4 data-i18n="Google Model">Google Model</h4>
|
||||
<select id="model_google_select">
|
||||
<optgroup label="Primary">
|
||||
<option value="gemini-2.0-flash">Gemini 2.0 Flash</option>
|
||||
<option value="gemini-1.5-pro">Gemini 1.5 Pro</option>
|
||||
<option value="gemini-1.5-flash">Gemini 1.5 Flash</option>
|
||||
<option value="gemini-1.0-pro">Gemini 1.0 Pro (Deprecated)</option>
|
||||
<option value="gemini-pro">Gemini Pro (1.0) (Deprecated)</option>
|
||||
<option value="gemini-ultra">Gemini Ultra (1.0)</option>
|
||||
<option value="gemini-1.0-ultra-latest">Gemini 1.0 Ultra</option>
|
||||
<optgroup label="Gemini 2.5">
|
||||
<option value="gemini-2.5-pro-preview-05-06">gemini-2.5-pro-preview-05-06</option>
|
||||
<option value="gemini-2.5-pro-preview-03-25">gemini-2.5-pro-preview-03-25</option>
|
||||
<option value="gemini-2.5-pro-exp-03-25">gemini-2.5-pro-exp-03-25</option>
|
||||
<option value="gemini-2.5-flash-preview-04-17">gemini-2.5-flash-preview-04-17</option>
|
||||
</optgroup>
|
||||
<optgroup label="Gemini 2.0">
|
||||
<option value="gemini-2.0-pro-exp-02-05">gemini-2.0-pro-exp-02-05 → 2.5-pro-exp-03-25</option>
|
||||
<option value="gemini-2.0-pro-exp">gemini-2.0-pro-exp → 2.5-pro-exp-03-25</option>
|
||||
<option value="gemini-exp-1206">gemini-exp-1206 → 2.5-pro-exp-03-25</option>
|
||||
<option value="gemini-2.0-flash-001">gemini-2.0-flash-001</option>
|
||||
<option value="gemini-2.0-flash-exp-image-generation">gemini-2.0-flash-exp-image-generation</option>
|
||||
<option value="gemini-2.0-flash-exp">gemini-2.0-flash-exp</option>
|
||||
<option value="gemini-2.0-flash">gemini-2.0-flash</option>
|
||||
<option value="gemini-2.0-flash-thinking-exp-01-21">gemini-2.0-flash-thinking-exp-01-21 → 2.5-flash-preview-04-17</option>
|
||||
<option value="gemini-2.0-flash-thinking-exp-1219">gemini-2.0-flash-thinking-exp-1219 → 2.5-flash-preview-04-17</option>
|
||||
<option value="gemini-2.0-flash-thinking-exp">gemini-2.0-flash-thinking-exp → 2.5-flash-preview-04-17</option>
|
||||
<option value="gemini-2.0-flash-lite-001">gemini-2.0-flash-lite-001</option>
|
||||
<option value="gemini-2.0-flash-lite-preview-02-05">gemini-2.0-flash-lite-preview-02-05</option>
|
||||
<option value="gemini-2.0-flash-lite-preview">gemini-2.0-flash-lite-preview</option>
|
||||
</optgroup>
|
||||
<optgroup label="Gemini 1.5">
|
||||
<option value="gemini-1.5-pro-latest">gemini-1.5-pro-latest</option>
|
||||
<option value="gemini-1.5-pro-002">gemini-1.5-pro-002</option>
|
||||
<option value="gemini-1.5-pro-001">gemini-1.5-pro-001</option>
|
||||
<option value="gemini-1.5-pro">gemini-1.5-pro</option>
|
||||
<option value="gemini-1.5-flash-latest">gemini-1.5-flash-latest</option>
|
||||
<option value="gemini-1.5-flash-002">gemini-1.5-flash-002</option>
|
||||
<option value="gemini-1.5-flash-001">gemini-1.5-flash-001</option>
|
||||
<option value="gemini-1.5-flash">gemini-1.5-flash</option>
|
||||
<option value="gemini-1.5-flash-8b-001">gemini-1.5-flash-8b-001</option>
|
||||
<option value="gemini-1.5-flash-8b-exp-0924">gemini-1.5-flash-8b-exp-0924</option>
|
||||
<option value="gemini-1.5-flash-8b-exp-0827">gemini-1.5-flash-8b-exp-0827</option>
|
||||
<option value="gemini-1.5-flash-8b">gemini-1.5-flash-8b</option>
|
||||
</optgroup>
|
||||
<optgroup label="Gemma">
|
||||
<option value="gemma-3-27b-it">Gemma 3 27B</option>
|
||||
<option value="gemma-3-27b-it">gemma-3-27b-it</option>
|
||||
<option value="gemma-3-12b-it">gemma-3-12b-it</option>
|
||||
<option value="gemma-3-4b-it">gemma-3-4b-it</option>
|
||||
<option value="gemma-3-1b-it">gemma-3-1b-it</option>
|
||||
</optgroup>
|
||||
<optgroup label="Subversions">
|
||||
<option value="gemini-2.0-pro-exp">Gemini 2.0 Pro Experimental</option>
|
||||
<option value="gemini-2.0-pro-exp-02-05">Gemini 2.0 Pro Experimental 2025-02-05</option>
|
||||
<option value="gemini-2.0-flash-lite-preview">Gemini 2.0 Flash-Lite Preview</option>
|
||||
<option value="gemini-2.0-flash-lite-preview-02-05">Gemini 2.0 Flash-Lite Preview 2025-02-05</option>
|
||||
<option value="gemini-2.0-flash-001">Gemini 2.0 Flash [001]</option>
|
||||
<option value="gemini-2.0-flash-thinking-exp">Gemini 2.0 Flash Thinking Experimental</option>
|
||||
<option value="gemini-2.0-flash-thinking-exp-01-21">Gemini 2.0 Flash Thinking Experimental 2025-01-21</option>
|
||||
<option value="gemini-2.0-flash-thinking-exp-1219">Gemini 2.0 Flash Thinking Experimental 2024-12-19</option>
|
||||
<option value="gemini-2.0-flash-exp">Gemini 2.0 Flash Experimental</option>
|
||||
<option value="gemini-2.0-flash-exp-image-generation">Gemini 2.0 Flash (Image Generation) Experimental</option>
|
||||
<option value="gemini-exp-1114">Gemini Experimental 2024-11-14</option>
|
||||
<option value="gemini-exp-1121">Gemini Experimental 2024-11-21</option>
|
||||
<option value="gemini-exp-1206">Gemini Experimental 2024-12-06</option>
|
||||
<option value="gemini-1.5-pro-exp-0801">Gemini 1.5 Pro Experimental 2024-08-01</option>
|
||||
<option value="gemini-1.5-pro-exp-0827">Gemini 1.5 Pro Experimental 2024-08-27</option>
|
||||
<option value="gemini-1.5-pro-latest">Gemini 1.5 Pro [latest]</option>
|
||||
<option value="gemini-1.5-pro-001">Gemini 1.5 Pro [001]</option>
|
||||
<option value="gemini-1.5-pro-002">Gemini 1.5 Pro [002]</option>
|
||||
<option value="gemini-1.5-flash-8b">Gemini 1.5 Flash 8B</option>
|
||||
<option value="gemini-1.5-flash-exp-0827">Gemini 1.5 Flash Experimental 2024-08-27</option>
|
||||
<option value="gemini-1.5-flash-8b-exp-0827">Gemini 1.5 Flash 8B Experimental 2024-08-27</option>
|
||||
<option value="gemini-1.5-flash-8b-exp-0924">Gemini 1.5 Flash 8B Experimental 2024-09-24</option>
|
||||
<option value="gemini-1.5-flash-latest">Gemini 1.5 Flash [latest]</option>
|
||||
<option value="gemini-1.5-flash-001">Gemini 1.5 Flash [001]</option>
|
||||
<option value="gemini-1.5-flash-002">Gemini 1.5 Flash [002]</option>
|
||||
<option value="gemini-1.0-pro-latest">Gemini 1.0 Pro [latest] (Deprecated)</option>
|
||||
<option value="gemini-1.0-pro-001">Gemini 1.0 Pro (Tuning) [001] (Deprecated)</option>
|
||||
<optgroup label="LearnLM">
|
||||
<option value="learnlm-2.0-flash-experimental">learnlm-2.0-flash-experimental</option>
|
||||
<option value="learnlm-1.5-pro-experimental">learnlm-1.5-pro-experimental</option>
|
||||
</optgroup>
|
||||
</select>
|
||||
</div>
|
||||
@@ -3193,6 +3227,7 @@
|
||||
<option value="mistral-small-latest">mistral-small-latest</option>
|
||||
<option value="mistral-medium-latest">mistral-medium-latest</option>
|
||||
<option value="mistral-large-latest">mistral-large-latest</option>
|
||||
<option value="mistral-saba-latest">mistral-saba-latest</option>
|
||||
<option value="codestral-latest">codestral-latest</option>
|
||||
<option value="codestral-mamba-latest">codestral-mamba-latest</option>
|
||||
<option value="pixtral-12b-latest">pixtral-12b-latest</option>
|
||||
@@ -3208,13 +3243,21 @@
|
||||
<option value="mistral-small-2312">mistral-small-2312</option>
|
||||
<option value="mistral-small-2402">mistral-small-2402</option>
|
||||
<option value="mistral-small-2409">mistral-small-2409</option>
|
||||
<option value="mistral-small-2501">mistral-small-2501</option>
|
||||
<option value="mistral-small-2503">mistral-small-2503</option>
|
||||
<option value="mistral-medium-2312">mistral-medium-2312</option>
|
||||
<option value="mistral-medium-2505">mistral-medium-2505</option>
|
||||
<option value="mistral-large-2402">mistral-large-2402</option>
|
||||
<option value="mistral-large-2407">mistral-large-2407</option>
|
||||
<option value="mistral-large-2411">mistral-large-2411</option>
|
||||
<option value="mistral-large-pixtral-2411">mistral-large-pixtral-2411</option>
|
||||
<option value="mistral-saba-2502">mistral-saba-2502</option>
|
||||
<option value="codestral-2405">codestral-2405</option>
|
||||
<option value="codestral-2405-blue">codestral-2405-blue</option>
|
||||
<option value="codestral-mamba-2407">codestral-mamba-2407</option>
|
||||
<option value="codestral-2411-rc5">codestral-2411-rc5</option>
|
||||
<option value="codestral-2412">codestral-2412</option>
|
||||
<option value="codestral-2501">codestral-2501</option>
|
||||
<option value="pixtral-12b-2409">pixtral-12b-2409</option>
|
||||
<option value="pixtral-large-2411">pixtral-large-2411</option>
|
||||
</optgroup>
|
||||
@@ -3237,28 +3280,29 @@
|
||||
<option value="qwen-2.5-32b">qwen-2.5-32b</option>
|
||||
<option value="qwen-2.5-coder-32b">qwen-2.5-coder-32b</option>
|
||||
</optgroup>
|
||||
<optgroup label="DeepSeek / Alibaba Cloud">
|
||||
<optgroup label="DeepSeek">
|
||||
<option value="deepseek-r1-distill-qwen-32b">deepseek-r1-distill-qwen-32b</option>
|
||||
</optgroup>
|
||||
<optgroup label="DeepSeek / Meta">
|
||||
<option value="deepseek-r1-distill-llama-70b">deepseek-r1-distill-llama-70b</option>
|
||||
</optgroup>
|
||||
<optgroup label="Google">
|
||||
<option value="gemma2-9b-it">gemma2-9b-it</option>
|
||||
</optgroup>
|
||||
<optgroup label="Meta">
|
||||
<option value="llama-3.1-8b-instant">llama-3.1-8b-instant </option>
|
||||
<option value="meta-llama/llama-4-scout-17b-16e-instruct">meta-llama/llama-4-scout-17b-16e-instruct</option>
|
||||
<option value="meta-llama/llama-4-maverick-17b-128e-instruct">meta-llama/llama-4-maverick-17b-128e-instruct</option>
|
||||
<option value="llama-3.1-8b-instant">llama-3.1-8b-instant</option>
|
||||
<option value="llama-3.2-11b-vision-preview">llama-3.2-11b-vision-preview </option>
|
||||
<option value="llama-3.2-1b-preview">llama-3.2-1b-preview </option>
|
||||
<option value="llama-3.2-3b-preview">llama-3.2-3b-preview </option>
|
||||
<option value="llama-3.2-90b-vision-preview">llama-3.2-90b-vision-preview </option>
|
||||
<option value="llama-3.3-70b-specdec">llama-3.3-70b-specdec </option>
|
||||
<option value="llama-3.3-70b-specdec">llama-3.3-70b-specdec</option>
|
||||
<option value="llama-3.3-70b-versatile">llama-3.3-70b-versatile </option>
|
||||
<option value="llama-guard-3-8b">llama-guard-3-8b </option>
|
||||
<option value="llama3-70b-8192">llama3-70b-8192 </option>
|
||||
<option value="llama3-8b-8192">llama3-8b-8192 </option>
|
||||
<option value="llama-guard-3-8b">llama-guard-3-8b</option>
|
||||
<option value="llama3-70b-8192">llama3-70b-8192</option>
|
||||
<option value="llama3-8b-8192">llama3-8b-8192</option>
|
||||
</optgroup>
|
||||
<optgroup label="Mistral AI">
|
||||
<option value="mistral-saba-24b">mistral-saba-24b</option>
|
||||
<option value="mixtral-8x7b-32768">mixtral-8x7b-32768</option>
|
||||
</optgroup>
|
||||
</select>
|
||||
@@ -3363,20 +3407,6 @@
|
||||
</select>
|
||||
</div>
|
||||
</form>
|
||||
<form id="blockentropy_form" data-source="blockentropy">
|
||||
<h4 data-i18n="Block Entropy API Key">Block Entropy API Key</h4>
|
||||
<div class="flex-container">
|
||||
<input id="api_key_blockentropy" name="api_key_blockentropy" class="text_pole flex1" value="" type="text" autocomplete="off">
|
||||
<div title="Clear your API key" data-i18n="[title]Clear your API key" class="menu_button fa-solid fa-circle-xmark clear-api-key" data-key="api_key_blockentropy"></div>
|
||||
</div>
|
||||
<div data-for="api_key_blockentropy" class="neutral_warning" data-i18n="For privacy reasons, your API key will be hidden after you reload the page.">
|
||||
For privacy reasons, your API key will be hidden after you reload the page.
|
||||
</div>
|
||||
<h4 data-i18n="Select a Model">Select a Model</h4>
|
||||
<div class="flex-container">
|
||||
<select id="model_blockentropy_select" class="text_pole"></select>
|
||||
</div>
|
||||
</form>
|
||||
<form id="custom_form" data-source="custom">
|
||||
<h4 data-i18n="Custom Endpoint (Base URL)">Custom Endpoint (Base URL)</h4>
|
||||
<div class="flex-container">
|
||||
@@ -3407,17 +3437,10 @@
|
||||
<div class="flex-container">
|
||||
<select id="model_custom_select" class="text_pole model_custom_select"></select>
|
||||
</div>
|
||||
<h4 data-i18n="Prompt Post-Processing">Prompt Post-Processing</h4>
|
||||
<select id="custom_prompt_post_processing" class="text_pole" title="Applies additional processing to the prompt before sending it to the API." data-i18n="[title]Applies additional processing to the prompt before sending it to the API.">
|
||||
<option data-i18n="prompt_post_processing_none" value="">None</option>
|
||||
<option data-i18n="prompt_post_processing_merge" value="merge">Merge consecutive roles</option>
|
||||
<option data-i18n="prompt_post_processing_semi" value="semi">Semi-strict (alternating roles)</option>
|
||||
<option data-i18n="prompt_post_processing_strict" value="strict">Strict (user first, alternating roles)</option>
|
||||
</select>
|
||||
</form>
|
||||
<div id="01ai_form" data-source="01ai">
|
||||
<h4>
|
||||
<a data-i18n="01.AI API Key" href="https://platform.01.ai/" target="_blank" rel="noopener noreferrer">
|
||||
<a data-i18n="01.AI API Key" href="https://platform.lingyiwanwu.com/" target="_blank" rel="noopener noreferrer">
|
||||
01.AI API Key
|
||||
</a>
|
||||
</h4>
|
||||
@@ -3432,6 +3455,40 @@
|
||||
<select id="model_01ai_select">
|
||||
</select>
|
||||
</div>
|
||||
<div id="xai_form" data-source="xai">
|
||||
<h4>
|
||||
<a data-i18n="xAI API Key" href="https://console.x.ai/" target="_blank" rel="noopener noreferrer">
|
||||
xAI API Key
|
||||
</a>
|
||||
</h4>
|
||||
<div class="flex-container">
|
||||
<input id="api_key_xai" name="api_key_xai" class="text_pole flex1" value="" type="text" autocomplete="off">
|
||||
<div title="Clear your API key" data-i18n="[title]Clear your API key" class="menu_button fa-solid fa-circle-xmark clear-api-key" data-key="api_key_xai"></div>
|
||||
</div>
|
||||
<div data-for="api_key_xai" class="neutral_warning" data-i18n="For privacy reasons, your API key will be hidden after you reload the page.">
|
||||
For privacy reasons, your API key will be hidden after you reload the page.
|
||||
</div>
|
||||
<h4 data-i18n="xAI Model">xAI Model</h4>
|
||||
<select id="model_xai_select">
|
||||
<option value="grok-3-beta">grok-3-beta</option>
|
||||
<option value="grok-3-fast-beta">grok-3-fast-beta</option>
|
||||
<option value="grok-3-mini-beta">grok-3-mini-beta</option>
|
||||
<option value="grok-3-mini-fast-beta">grok-3-mini-fast-beta</option>
|
||||
<option value="grok-2-vision-1212">grok-2-vision-1212</option>
|
||||
<option value="grok-2-1212">grok-2-1212</option>
|
||||
<option value="grok-vision-beta">grok-vision-beta</option>
|
||||
<option value="grok-beta">grok-beta</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="prompt_post_porcessing_form" data-source="custom,openrouter">
|
||||
<h4 data-i18n="Prompt Post-Processing">Prompt Post-Processing</h4>
|
||||
<select id="custom_prompt_post_processing" class="text_pole" title="Applies additional processing to the prompt before sending it to the API." data-i18n="[title]Applies additional processing to the prompt before sending it to the API.">
|
||||
<option data-i18n="prompt_post_processing_none" value="">None</option>
|
||||
<option data-i18n="prompt_post_processing_merge" value="merge">Merge consecutive roles</option>
|
||||
<option data-i18n="prompt_post_processing_semi" value="semi">Semi-strict (alternating roles)</option>
|
||||
<option data-i18n="prompt_post_processing_strict" value="strict">Strict (user first, alternating roles)</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="flex-container flex">
|
||||
<div id="api_button_openai" class="api_button menu_button menu_button_icon" type="submit" data-i18n="Connect">Connect</div>
|
||||
<div class="api_loading menu_button menu_button_icon" data-i18n="Cancel">Cancel</div>
|
||||
@@ -3457,7 +3514,7 @@
|
||||
<div class="drawer-toggle">
|
||||
<div class="drawer-icon fa-solid fa-font fa-fw closedIcon" title="AI Response Formatting" data-i18n="[title]AI Response Formatting"></div>
|
||||
</div>
|
||||
<div id="AdvancedFormatting" class="drawer-content">
|
||||
<div id="AdvancedFormatting" class="drawer-content closedDrawer">
|
||||
<div class="flex-container alignItemsBaseline">
|
||||
<h3 class="margin0 flex1 flex-container alignItemsBaseline">
|
||||
<span data-i18n="Advanced Formatting">
|
||||
@@ -3576,11 +3633,6 @@
|
||||
<small data-i18n="Names as Stop Strings">Names as Stop Strings</small>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<label class="checkbox_label" title="Includes Post-History Instructions at the end of the prompt, if defined in the character card AND ''Prefer Char. Instructions'' is enabled. THIS IS NOT RECOMMENDED FOR TEXT COMPLETION MODELS, CAN LEAD TO BAD OUTPUT." data-i18n="[title]context_allow_post_history_instructions">
|
||||
<input id="context_allow_jailbreak" type="checkbox" />
|
||||
<small data-i18n="Allow Post-History Instructions">Allow Post-History Instructions</small>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -3782,9 +3834,7 @@
|
||||
</label>
|
||||
</div>
|
||||
</h4>
|
||||
<div id="SystemPromptBlock">
|
||||
|
||||
|
||||
<div id="SystemPromptBlock" class="marginBot10">
|
||||
<div class="flex-container" title="Select your current System Prompt" data-i18n="[title]Select your current System Prompt">
|
||||
<select id="sysprompt_select" data-preset-manager-for="sysprompt" class="flex1 text_pole"></select>
|
||||
<div class="flex-container margin0 justifyCenter gap3px">
|
||||
@@ -3806,10 +3856,14 @@
|
||||
</label>
|
||||
<textarea id="sysprompt_content" class="text_pole textarea_compact autoSetHeight"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
|
||||
<div>
|
||||
<label for="sysprompt_post_history" class="flex-container">
|
||||
<small data-i18n="Post-History Instructions">Post-History Instructions</small>
|
||||
<i class="editor_maximize fa-solid fa-maximize right_menu_button" data-for="sysprompt_post_history" title="Expand the editor" data-i18n="[title]Expand the editor"></i>
|
||||
</label>
|
||||
<textarea id="sysprompt_post_history" class="text_pole textarea_compact autoSetHeight"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
@@ -3917,6 +3971,19 @@
|
||||
<summary data-i18n="Reasoning Formatting">
|
||||
Reasoning Formatting
|
||||
</summary>
|
||||
<div class="flex-container" title="Select your current Reasoning Template" data-i18n="[title]Select your current Reasoning Template">
|
||||
<select id="reasoning_select" data-preset-manager-for="reasoning" class="flex1 text_pole"></select>
|
||||
<div class="flex-container margin0 justifyCenter gap3px">
|
||||
<input type="file" hidden data-preset-manager-file="reasoning" accept=".json, .settings">
|
||||
<i data-preset-manager-update="reasoning" class="menu_button fa-solid fa-save" title="Update current template" data-i18n="[title]Update current template"></i>
|
||||
<i data-preset-manager-rename="reasoning" class="menu_button fa-pencil fa-solid" title="Rename current template" data-i18n="[title]Rename current template"></i>
|
||||
<i data-preset-manager-new="reasoning" class="menu_button fa-solid fa-file-circle-plus" title="Save template as" data-i18n="[title]Save template as"></i>
|
||||
<i data-preset-manager-import="reasoning" class="displayNone menu_button fa-solid fa-file-import" title="Import template" data-i18n="[title]Import template"></i>
|
||||
<i data-preset-manager-export="reasoning" class="displayNone menu_button fa-solid fa-file-export" title="Export template" data-i18n="[title]Export template"></i>
|
||||
<i data-preset-manager-restore="reasoning" class="menu_button fa-solid fa-recycle" title="Restore current template" data-i18n="[title]Restore current template"></i>
|
||||
<i data-preset-manager-delete="reasoning" class="menu_button fa-solid fa-trash-can" title="Delete template" data-i18n="[title]Delete template"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex-container">
|
||||
<div class="flex1" title="Inserted before the reasoning content." data-i18n="[title]reasoning_prefix">
|
||||
<small data-i18n="Prefix">Prefix</small>
|
||||
@@ -4441,10 +4508,11 @@
|
||||
<small data-i18n="Tags as Folders">Tags as Folders</small>
|
||||
<i title="Recent change: Tags must be marked as folders in the Tag Management menu to appear as such. Click here to bring it up." data-i18n="[title]Tags_as_Folders_desc" class="tags_view right_menu_button fa-solid fa-circle-exclamation"></i>
|
||||
</label>
|
||||
|
||||
<label for="click_to_edit" class="checkbox_label" title="Click the message text in the chat log to edit it." data-i18n="[title]Click the message text in the chat log to edit it.">
|
||||
<input id="click_to_edit" type="checkbox" />
|
||||
<small data-i18n="Click to Edit">Click to Edit</small>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div name="UserSettingsSecondColumn" id="UI-Customization" class="flex-container flexFlowColumn wide100p flexNoGap flex1">
|
||||
@@ -4722,6 +4790,10 @@
|
||||
<input id="show_group_chat_queue" type="checkbox" />
|
||||
<small data-i18n="Show group chat queue">Show group chat queue</small>
|
||||
</label>
|
||||
<label class="checkbox_label" for="pin_styles" title="Always render style tags from greetings, even if the message is unloaded due to lazy loading." data-i18n="[title]Always render style tags from greetings, even if the message is unloaded due to lazy loading.">
|
||||
<input id="pin_styles" type="checkbox" />
|
||||
<small data-i18n="Pin greeting message styles">Pin greeting message styles</small>
|
||||
</label>
|
||||
<div class="inline-drawer wide100p flexFlowColumn">
|
||||
<div class="inline-drawer-toggle inline-drawer-header userSettingsInnerExpandable" title="Automatically reject and re-generate AI message based on configurable criteria." data-i18n="[title]Automatically reject and re-generate AI message based on configurable criteria">
|
||||
<b><span data-i18n="Auto-swipe">Auto-swipe</span></b>
|
||||
@@ -4908,7 +4980,7 @@
|
||||
<div id="bg_menu_content" class="bg_list">
|
||||
<form id="form_bg_download" class="bg_example no-border no-shadow" action="javascript:void(null);" method="post" enctype="multipart/form-data">
|
||||
<label class="input-file">
|
||||
<input type="file" id="add_bg_button" name="avatar" accept="image/png, image/jpeg, image/jpg, image/gif, image/bmp">
|
||||
<input type="file" id="add_bg_button" name="avatar" accept="image/*, video/*">
|
||||
<div class="bg_example no-border no-shadow add_bg_but" style="background-image: url('/img/addbg3.png');"></div>
|
||||
</label>
|
||||
</form>
|
||||
@@ -5099,7 +5171,7 @@
|
||||
<div id="persona_depth_position_settings" class="flex-container">
|
||||
<div class="flex1">
|
||||
<label for="persona_depth_value" data-i18n="Depth:">Depth:</label>
|
||||
<input id="persona_depth_value" class="text_pole" type="number" min="0" max="999" step="1">
|
||||
<input id="persona_depth_value" class="text_pole" type="number" min="0" max="9999" step="1">
|
||||
</div>
|
||||
<div class="flex1">
|
||||
<label for="persona_depth_role" data-i18n="Role:">Role:</label>
|
||||
@@ -5475,7 +5547,7 @@
|
||||
<div class="inline-drawer-content">
|
||||
<div id="currentGroupMembers" name="Current Group Members" class="flex-container flexFlowColumn overflowYAuto flex1">
|
||||
<div id="rm_group_members_pagination" class="rm_group_members_pagination group_pagination"></div>
|
||||
<div id="rm_group_members" class="rm_group_members overflowYAuto flex-container"></div>
|
||||
<div id="rm_group_members" class="rm_group_members overflowYAuto flex-container" group_empty_text="Group is empty." data-i18n="[group_empty_text]Group is empty."></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -5493,7 +5565,7 @@
|
||||
<div class="tags rm_tag_filter"></div>
|
||||
</div>
|
||||
<div id="rm_group_add_members_pagination" class="group_pagination"></div>
|
||||
<div id="rm_group_add_members" class="overflowYAuto flex-container"></div>
|
||||
<div id="rm_group_add_members" class="overflowYAuto flex-container" no_characters_text="No characters available" data-i18n="[no_characters_text]No characters available"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -5752,7 +5824,7 @@
|
||||
@ Depth
|
||||
</span>
|
||||
</h4>
|
||||
<input id="depth_prompt_depth" name="depth_prompt_depth" class="text_pole textarea_compact m-t-0" type="number" min="0" max="999" value="4" form="form_create" />
|
||||
<input id="depth_prompt_depth" name="depth_prompt_depth" class="text_pole textarea_compact m-t-0" type="number" min="0" max="9999" value="4" form="form_create" />
|
||||
<h4>
|
||||
<span data-i18n="Role">
|
||||
Role
|
||||
@@ -5913,7 +5985,7 @@
|
||||
<div class="tag_view_color_picker" data-value="color"></div>
|
||||
<div class="tag_view_color_picker" data-value="color2"></div>
|
||||
<div class="tag_view_name" contenteditable="true"></div>
|
||||
<div class="tag_view_counter"><span class="tag_view_counter_value"></span> entries</div>
|
||||
<div class="tag_view_counter"><span class="tag_view_counter_value"></span> <span data-i18n="tag_entries">entries</span></div>
|
||||
<div title="Delete tag" class="tag_delete fa-solid fa-trash-can right_menu_button" data-i18n="[title]Delete tag"></div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -5973,11 +6045,11 @@
|
||||
</div>
|
||||
<div class="world_entry_form_control wi-enter-footer-text flex-container flexNoGap">
|
||||
<label for="depth" class="WIEntryHeaderTitleMobile" data-i18n="Depth:">Depth:</label>
|
||||
<input title="Depth" class="text_pole wideMax100px margin0" type="number" name="depth" data-i18n="[title]Depth" placeholder="" min="0" max="999" />
|
||||
<input title="Depth" class="text_pole wideMax100px margin0" type="number" name="depth" data-i18n="[title]Depth" placeholder="" min="0" max="9999" />
|
||||
</div>
|
||||
<div class="world_entry_form_control wi-enter-footer-text flex-container flexNoGap">
|
||||
<label for="order" class="WIEntryHeaderTitleMobile" data-i18n="Order:">Order:</label>
|
||||
<input title="Order" data-i18n="[title]Order" class="text_pole wideMax100px margin0" type="number" name="order" placeholder="" min="0" max="999" />
|
||||
<input title="Order" data-i18n="[title]Order" class="text_pole wideMax100px margin0" type="number" name="order" placeholder="" min="0" max="9999" />
|
||||
</div>
|
||||
<div class="world_entry_form_control wi-enter-footer-text flex-container flexNoGap probabilityContainer">
|
||||
<label for="order" class="WIEntryHeaderTitleMobile" data-i18n="Trigger %:">Trigger %:</label>
|
||||
@@ -5986,6 +6058,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<i class="menu_button move_entry_button fa-solid fa-right-left" title="Move Entry to Another Lorebook" data-i18n="[title]Move Entry to Another Lorebook"></i>
|
||||
<i class="menu_button duplicate_entry_button fa-solid fa-paste" title="Duplicate world info entry" data-i18n="[title]Duplicate world info entry" type="submit" value=""></i>
|
||||
<i class="menu_button delete_entry_button fa-solid fa-trash-can" title="Delete world info entry" data-i18n="[title]Delete world info entry" type="submit" value=""></i>
|
||||
</div>
|
||||
@@ -6074,8 +6147,11 @@
|
||||
<label for="content ">
|
||||
<small>
|
||||
<span class="alignitemscenter flex-container flexnowrap wide100p justifySpaceBetween">
|
||||
<span data-i18n="Content" class="alignitemscenter flex-container flexNoGap mdhotkey_location">
|
||||
Content
|
||||
<span class="alignitemscenter flex-container">
|
||||
<span data-i18n="Content" class="mdhotkey_location">
|
||||
Content
|
||||
</span>
|
||||
<i class="editor_maximize fa-solid fa-maximize right_menu_button" title="Expand the editor" data-i18n="[title]Expand the editor"></i>
|
||||
</span>
|
||||
<span>
|
||||
(<span data-i18n="extension_token_counter">Tokens:</span> <span class="world_entry_form_token_counter" data-first-run="true">counting...</span>)
|
||||
@@ -6229,6 +6305,54 @@
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="inline-drawer wide100p flexFlowColumn">
|
||||
<div class="inline-drawer-toggle inline-drawer-header inline-drawer-header-pointer userSettingsInnerExpandable">
|
||||
<strong data-i18n="Additional Matching Sources">Additional Matching Sources</strong>
|
||||
<div class="fa-solid fa-circle-chevron-down inline-drawer-icon down"></div>
|
||||
</div>
|
||||
<div class="inline-drawer-content flex-container flexFlowRow flexGap10 paddingBottom5px">
|
||||
<small class="flex-container flex1 flexFlowColumn">
|
||||
<label class="checkbox flex-container alignItemsCenter flexNoGap">
|
||||
<input type="checkbox" name="matchCharacterDescription" />
|
||||
<span data-i18n="Character Description">
|
||||
Character Description
|
||||
</span>
|
||||
</label>
|
||||
<label class="checkbox flex-container alignItemsCenter flexNoGap">
|
||||
<input type="checkbox" name="matchCharacterPersonality" />
|
||||
<span data-i18n="Character Personality">
|
||||
Character Personality
|
||||
</span>
|
||||
</label>
|
||||
<label class="checkbox flex-container alignItemsCenter flexNoGap">
|
||||
<input type="checkbox" name="matchScenario" />
|
||||
<span data-i18n="Scenario">
|
||||
Scenario
|
||||
</span>
|
||||
</label>
|
||||
</small>
|
||||
<small class="flex-container flex1 flexFlowColumn">
|
||||
<label class="checkbox flex-container alignItemsCenter flexNoGap">
|
||||
<input type="checkbox" name="matchPersonaDescription" />
|
||||
<span data-i18n="Persona Description">
|
||||
Persona Description
|
||||
</span>
|
||||
</label>
|
||||
<label class="checkbox flex-container alignItemsCenter flexNoGap">
|
||||
<input type="checkbox" name="matchCharacterDepthPrompt" />
|
||||
<span data-i18n="Character's Note">
|
||||
Character's Note
|
||||
</span>
|
||||
</label>
|
||||
<label class="checkbox flex-container alignItemsCenter flexNoGap">
|
||||
<input type="checkbox" name="matchCreatorNotes" />
|
||||
<span data-i18n="Creator's Notes">
|
||||
Creator's Notes
|
||||
</span>
|
||||
</label>
|
||||
</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
@@ -6335,7 +6459,7 @@
|
||||
<span data-i18n="prompt_manager_depth">Depth</span>
|
||||
</label>
|
||||
<div class="text_muted" data-i18n="Injection depth. 0 = after the last message, 1 = before the last message, etc.">Injection depth. 0 = after the last message, 1 = before the last message, etc.</div>
|
||||
<input id="completion_prompt_manager_popup_entry_form_injection_depth" class="text_pole" type="number" name="injection_depth" min="0" max="999" value="4" />
|
||||
<input id="completion_prompt_manager_popup_entry_form_injection_depth" class="text_pole" type="number" name="injection_depth" min="0" max="9999" value="4" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="completion_prompt_manager_popup_entry_form_control">
|
||||
@@ -6353,6 +6477,11 @@
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div id="completion_prompt_manager_popup_entry_source_block">
|
||||
<b data-i18n="Source:">Source:</b>
|
||||
<span> </span>
|
||||
<span id="completion_prompt_manager_popup_entry_source"></span>
|
||||
</div>
|
||||
<textarea id="completion_prompt_manager_popup_entry_form_prompt" class="text_pole" name="prompt">
|
||||
</textarea>
|
||||
</div>
|
||||
@@ -6432,13 +6561,10 @@
|
||||
<div class="mes_reasoning"></div>
|
||||
</details>
|
||||
<div class="mes_text"></div>
|
||||
<div class="mes_img_container" data-img-prompt-type="">
|
||||
<div class="mes_img_container">
|
||||
<div class="mes_img_controls">
|
||||
<div title="Enlarge" class="right_menu_button fa-lg fa-solid fa-magnifying-glass mes_img_enlarge" data-i18n="[title]Enlarge"></div>
|
||||
<div title="Expand and zoom" class="right_menu_button fa-lg fa-solid fa-magnifying-glass mes_img_enlarge" data-i18n="[title]Expand and zoom"></div>
|
||||
<div title="Caption" class="right_menu_button fa-lg fa-solid fa-envelope-open-text mes_img_caption" data-i18n="[title]Caption"></div>
|
||||
<div title="Include just this swipe in prompts" class="right_menu_button fa-lg fa-solid fa-1 mes_img_prompt_type" data-img-prompt-type="one" data-i18n="[title]Include just this swipe in prompts"></div>
|
||||
<div title="Include all swipes in prompts" class="right_menu_button fa-lg fa-solid fa-infinity mes_img_prompt_type" data-img-prompt-type="all" data-i18n="[title]Include all swipes in prompts"></div>
|
||||
<div title="Exclude this image from prompts" class="right_menu_button fa-lg fa-solid fa-0 mes_img_prompt_type" data-img-prompt-type="none" data-i18n="[title]Exclude this image from prompts"></div>
|
||||
<div title="Delete" class="right_menu_button fa-lg fa-solid fa-trash-can mes_img_delete" data-i18n="[title]Delete"></div>
|
||||
</div>
|
||||
<div class="mes_img_swipes">
|
||||
@@ -6566,7 +6692,7 @@
|
||||
<div class="ch_name"></div>
|
||||
<small class="ch_additional_info group_select_counter"></small>
|
||||
</div>
|
||||
<small class="character_name_block_sub_line">in this group</small>
|
||||
<small class="character_name_block_sub_line" data-i18n="in this group">in this group</small>
|
||||
<i class='group_fav_icon fa-solid fa-star'></i>
|
||||
<input class="ch_fav" value="" hidden />
|
||||
<div class="group_select_block_list ch_description"></div>
|
||||
@@ -6599,7 +6725,7 @@
|
||||
</div>
|
||||
<div class="flex-container wide100pLess70px character_select_container height100p alignitemscenter">
|
||||
<div class="wide100p character_name_block">
|
||||
<span class="ch_name">Go back</span>
|
||||
<span class="ch_name" data-i18n="Go back">Go back</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -6698,7 +6824,7 @@
|
||||
<label class="checkbox_label alignItemsCenter" for="extension_floating_position_depth">
|
||||
<input type="radio" id="extension_floating_position_depth" name="extension_floating_position" value="1" />
|
||||
<span data-i18n="In-chat @ Depth">In-chat @ Depth</span>
|
||||
<input id="extension_floating_depth" class="text_pole textarea_compact widthNatural" type="number" min="0" max="999" />
|
||||
<input id="extension_floating_depth" class="text_pole textarea_compact widthNatural" type="number" min="0" max="9999" />
|
||||
<span data-i18n="as">as</span>
|
||||
<select id="extension_floating_role" class="text_pole widthNatural">
|
||||
<option data-i18n="System" value="0">System</option>
|
||||
@@ -6713,7 +6839,7 @@
|
||||
<span data-i18n="Insertion Frequency">Insertion Frequency</span>
|
||||
<small data-i18n="(0 = Disable, 1 = Always)">(0 = Disable, 1 = Always)</small>
|
||||
</label>
|
||||
<input id="extension_floating_interval" class="text_pole widthUnset" type="number" min="0" max="999" />
|
||||
<input id="extension_floating_interval" class="text_pole widthUnset" type="number" min="0" max="9999" />
|
||||
</div>
|
||||
<br>
|
||||
<span><span data-i18n="User inputs until next insertion:">User inputs until next insertion:</span> <span id="extension_floating_counter">(disabled)</span></span>
|
||||
@@ -6783,7 +6909,7 @@
|
||||
<label class="checkbox_label alignItemsCenter" for="extension_default_position_depth">
|
||||
<input type="radio" id="extension_default_position_depth" name="extension_default_position" value="1" />
|
||||
<span data-i18n="In-chat @ Depth">In-chat @ Depth</span>
|
||||
<input id="extension_default_depth" class="text_pole textarea_compact widthNatural" type="number" min="0" max="999" />
|
||||
<input id="extension_default_depth" class="text_pole textarea_compact widthNatural" type="number" min="0" max="9999" />
|
||||
<span data-i18n="as">as</span>
|
||||
<select id="extension_default_role" class="text_pole widthNatural">
|
||||
<option data-i18n="System" value="0">System</option>
|
||||
@@ -6797,7 +6923,7 @@
|
||||
<span data-i18n="Insertion Frequency">Insertion Frequency</span>
|
||||
<small data-i18n="(0 = Disable, 1 = Always)">(0 = Disable, 1 = Always)</small>
|
||||
</label>
|
||||
<input id="extension_default_interval" class="text_pole widthUnset" type="number" min="0" max="999" />
|
||||
<input id="extension_default_interval" class="text_pole widthUnset" type="number" min="0" max="9999" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@@ -318,23 +318,23 @@
|
||||
"flag": "وضع علامة",
|
||||
"API key (optional)": "مفتاح API (اختياري)",
|
||||
"Server url": "رابط الخادم",
|
||||
"Example: 127.0.0.1:5000": "مثال: 127.0.0.1:5000",
|
||||
"Example: http://127.0.0.1:5000": "مثال: http://127.0.0.1:5000",
|
||||
"Custom model (optional)": "نموذج مخصص (اختياري)",
|
||||
"vllm-project/vllm": "vllm-project/vllm (وضع غلاف OpenAI API)",
|
||||
"vLLM API key": "مفتاح واجهة برمجة التطبيقات vLLM",
|
||||
"Example: 127.0.0.1:8000": "مثال: http://127.0.0.1:8000",
|
||||
"Example: http://127.0.0.1:8000": "مثال: http://127.0.0.1:8000",
|
||||
"vLLM Model": "نموذج vLLM",
|
||||
"PygmalionAI/aphrodite-engine": "PygmalionAI/aphrodite-engine (وضع التغليف لواجهة برمجة التطبيقات OpenAI)",
|
||||
"Aphrodite API key": "مفتاح واجهة برمجة التطبيقات Aphrodite",
|
||||
"Aphrodite Model": "نموذج أفروديت",
|
||||
"ggerganov/llama.cpp": "ggerganov/llama.cpp (خادم إخراج)",
|
||||
"Example: 127.0.0.1:8080": "مثال: 127.0.0.1:8080",
|
||||
"Example: 127.0.0.1:11434": "مثال: 127.0.0.1:11434",
|
||||
"Example: http://127.0.0.1:8080": "مثال: http://127.0.0.1:8080",
|
||||
"Example: http://127.0.0.1:11434": "مثال: http://127.0.0.1:11434",
|
||||
"Ollama Model": "نموذج Ollama",
|
||||
"Download": "تحميل",
|
||||
"Tabby API key": "مفتاح API لـ Tabby",
|
||||
"koboldcpp API key (optional)": "مفتاح koboldcpp API (اختياري)",
|
||||
"Example: 127.0.0.1:5001": "مثال: 127.0.0.1:5001",
|
||||
"Example: http://127.0.0.1:5001": "مثال: http://127.0.0.1:5001",
|
||||
"Authorize": "تفويض",
|
||||
"Get your OpenRouter API token using OAuth flow. You will be redirected to openrouter.ai": "احصل على رمز واجهة برمجة التطبيقات الخاص بك لموزع الاتصالات باستخدام تدفق OAuth. سيتم توجيهك إلى openrouter.ai",
|
||||
"Bypass status check": "تجاوز فحص الحالة",
|
||||
@@ -411,7 +411,6 @@
|
||||
"Chat Start": "بداية الدردشة",
|
||||
"Add Chat Start and Example Separator to a list of stopping strings.": "أضف بداية الدردشة وفاصل الأمثلة إلى قائمة سلاسل التوقف.",
|
||||
"Use as Stop Strings": "استخدم كسلاسل التوقف",
|
||||
"context_allow_jailbreak": "يتضمن كسر الحماية في نهاية المطالبة، إذا تم تحديده في بطاقة الشخصية و''Prefer Char. تم تمكين الهروب من السجن.\nلا يُنصح بهذا بالنسبة لنماذج إكمال النص، فقد يؤدي إلى نتائج سيئة.",
|
||||
"Allow Jailbreak": "السماح بالجيلبريك",
|
||||
"Context Order": "ترتيب السياق",
|
||||
"Summary": "ملخص",
|
||||
|
@@ -318,23 +318,23 @@
|
||||
"flag": "Flagge",
|
||||
"API key (optional)": "API-Schlüssel (optional)",
|
||||
"Server url": "Server-URL",
|
||||
"Example: 127.0.0.1:5000": "Beispiel: 127.0.0.1:5000",
|
||||
"Example: http://127.0.0.1:5000": "Beispiel: http://127.0.0.1:5000",
|
||||
"Custom model (optional)": "Benutzerdefiniertes Modell (optional)",
|
||||
"vllm-project/vllm": "vllm-project/vllm (OpenAI API-Wrappermodus)",
|
||||
"vLLM API key": "vLLM-API-Schlüssel",
|
||||
"Example: 127.0.0.1:8000": "Beispiel: http://127.0.0.1:8000",
|
||||
"Example: http://127.0.0.1:8000": "Beispiel: http://127.0.0.1:8000",
|
||||
"vLLM Model": "vLLM-Modell",
|
||||
"PygmalionAI/aphrodite-engine": "PygmalionAI/aphrodite-engine (Wrappermodus für OpenAI API)",
|
||||
"Aphrodite API key": "Aphrodite API-Schlüssel",
|
||||
"Aphrodite Model": "Aphrodite-Modell",
|
||||
"ggerganov/llama.cpp": "ggerganov/llama.cpp (Output-Server)",
|
||||
"Example: 127.0.0.1:8080": "Beispiel: 127.0.0.1:8080",
|
||||
"Example: 127.0.0.1:11434": "Beispiel: 127.0.0.1:11434",
|
||||
"Example: http://127.0.0.1:8080": "Beispiel: http://127.0.0.1:8080",
|
||||
"Example: http://127.0.0.1:11434": "Beispiel: http://127.0.0.1:11434",
|
||||
"Ollama Model": "Ollama-Modell",
|
||||
"Download": "Herunterladen",
|
||||
"Tabby API key": "Tabby API-Schlüssel",
|
||||
"koboldcpp API key (optional)": "koboldcpp API-Schlüssel (optional)",
|
||||
"Example: 127.0.0.1:5001": "Beispiel: 127.0.0.1:5001",
|
||||
"Example: http://127.0.0.1:5001": "Beispiel: http://127.0.0.1:5001",
|
||||
"Authorize": "Autorisieren",
|
||||
"Get your OpenRouter API token using OAuth flow. You will be redirected to openrouter.ai": "Hole dein OpenRouter-API-Token mit OAuth-Fluss. Du wirst zu openrouter.ai weitergeleitet",
|
||||
"Bypass status check": "Umgehe Statusüberprüfung",
|
||||
@@ -411,7 +411,6 @@
|
||||
"Chat Start": "Chat-Start",
|
||||
"Add Chat Start and Example Separator to a list of stopping strings.": "Fügen Sie einer Liste von Stoppzeichenfolgen „Chat-Start“ und „Beispieltrennzeichen“ hinzu.",
|
||||
"Use as Stop Strings": "Verwende als Stoppzeichenfolgen",
|
||||
"context_allow_jailbreak": "Schließt Jailbreak am Ende der Eingabeaufforderung ein, wenn dies in der Charakterkarte definiert ist UND „Charakter-Jailbreak bevorzugen“ aktiviert ist.\nDIES WIRD FÜR TEXTVERVOLLSTÄNDIGUNGSMODELLE NICHT EMPFOHLEN, KANN ZU SCHLECHTEN AUSGABEN FÜHREN.",
|
||||
"Allow Jailbreak": "Jailbreak zulassen",
|
||||
"Context Order": "Kontextreihenfolge",
|
||||
"Summary": "Zusammenfassung",
|
||||
|
@@ -318,23 +318,23 @@
|
||||
"flag": "bandera",
|
||||
"API key (optional)": "Clave API (opcional)",
|
||||
"Server url": "URL del servidor",
|
||||
"Example: 127.0.0.1:5000": "Ejemplo: 127.0.0.1:5000",
|
||||
"Example: http://127.0.0.1:5000": "Ejemplo: http://127.0.0.1:5000",
|
||||
"Custom model (optional)": "Modelo personalizado (opcional)",
|
||||
"vllm-project/vllm": "vllm-project/vllm (modo contenedor de API OpenAI)",
|
||||
"vLLM API key": "Clave API vLLM",
|
||||
"Example: 127.0.0.1:8000": "Ejemplo: http://127.0.0.1:8000",
|
||||
"Example: http://127.0.0.1:8000": "Ejemplo: http://127.0.0.1:8000",
|
||||
"vLLM Model": "Modelo vLLM",
|
||||
"PygmalionAI/aphrodite-engine": "PygmalionAI/aphrodite-engine (Modo envolvente para API de OpenAI)",
|
||||
"Aphrodite API key": "Clave de API de Aphrodite",
|
||||
"Aphrodite Model": "Modelo Afrodita",
|
||||
"ggerganov/llama.cpp": "ggerganov/llama.cpp (Servidor de salida)",
|
||||
"Example: 127.0.0.1:8080": "Ejemplo: 127.0.0.1:8080",
|
||||
"Example: 127.0.0.1:11434": "Ejemplo: 127.0.0.1:11434",
|
||||
"Example: http://127.0.0.1:8080": "Ejemplo: http://127.0.0.1:8080",
|
||||
"Example: http://127.0.0.1:11434": "Ejemplo: http://127.0.0.1:11434",
|
||||
"Ollama Model": "Modelo Ollama",
|
||||
"Download": "Descargar",
|
||||
"Tabby API key": "Clave API de Tabby",
|
||||
"koboldcpp API key (optional)": "Clave API de koboldcpp (opcional)",
|
||||
"Example: 127.0.0.1:5001": "Ejemplo: 127.0.0.1:5001",
|
||||
"Example: http://127.0.0.1:5001": "Ejemplo: http://127.0.0.1:5001",
|
||||
"Authorize": "Autorizar",
|
||||
"Get your OpenRouter API token using OAuth flow. You will be redirected to openrouter.ai": "Obtenga su token de API de OpenRouter utilizando el flujo OAuth. Será redirigido a openrouter.ai",
|
||||
"Bypass status check": "Saltar la verificación del estado",
|
||||
@@ -411,7 +411,6 @@
|
||||
"Chat Start": "Inicio de chat",
|
||||
"Add Chat Start and Example Separator to a list of stopping strings.": "Agregue Inicio de chat y Separador de ejemplo a una lista de cadenas de parada.",
|
||||
"Use as Stop Strings": "Usar como Cadenas de Parada",
|
||||
"context_allow_jailbreak": "Incluye Jailbreak al final del mensaje, si está definido en la tarjeta de personaje Y está habilitado \"Prefer Char. Jailbreak\".\nESTO NO SE RECOMIENDA PARA MODELOS DE COMPLETO DE TEXTO, PUEDE PRODUCIR UN RESULTADO INCORRECTO.",
|
||||
"Allow Jailbreak": "Permitir Jailbreak",
|
||||
"Context Order": "Orden de contexto",
|
||||
"Summary": "Resumen",
|
||||
|
@@ -301,23 +301,23 @@
|
||||
"flag": "fanion",
|
||||
"API key (optional)": "Clé API (optionnelle)",
|
||||
"Server url": "URL du serveur",
|
||||
"Example: 127.0.0.1:5000": "Exemple : 127.0.0.1:5000",
|
||||
"Example: http://127.0.0.1:5000": "Exemple : http://127.0.0.1:5000",
|
||||
"Custom model (optional)": "Modèle personnalisé (optionnel)",
|
||||
"vllm-project/vllm": "vllm-project/vllm (mode wrapper de l'API OpenAI)",
|
||||
"vLLM API key": "Clé API vLLM",
|
||||
"Example: 127.0.0.1:8000": "Exemple : http://127.0.0.1:8000",
|
||||
"Example: http://127.0.0.1:8000": "Exemple : http://127.0.0.1:8000",
|
||||
"vLLM Model": "Modèle vLLM",
|
||||
"PygmalionAI/aphrodite-engine": "PygmalionAI/aphrodite-engine (mode wrapper pour l'API OpenAI)",
|
||||
"Aphrodite API key": "Clé API Aphrodite",
|
||||
"Aphrodite Model": "Modèle Aphrodite",
|
||||
"ggerganov/llama.cpp": "ggerganov/llama.cpp",
|
||||
"Example: 127.0.0.1:8080": "Exemple : 127.0.0.1:8080",
|
||||
"Example: 127.0.0.1:11434": "Exemple : 127.0.0.1:11434",
|
||||
"Example: http://127.0.0.1:8080": "Exemple : http://127.0.0.1:8080",
|
||||
"Example: http://127.0.0.1:11434": "Exemple : http://127.0.0.1:11434",
|
||||
"Ollama Model": "Modèle Ollama",
|
||||
"Download": "Télécharger",
|
||||
"Tabby API key": "Clé API de Tabby",
|
||||
"koboldcpp API key (optional)": "Clé API koboldcpp (facultatif)",
|
||||
"Example: 127.0.0.1:5001": "Exemple : 127.0.0.1:5001",
|
||||
"Example: http://127.0.0.1:5001": "Exemple : http://127.0.0.1:5001",
|
||||
"Authorize": "Autoriser",
|
||||
"Get your OpenRouter API token using OAuth flow. You will be redirected to openrouter.ai": "Obtenez votre jeton API OpenRouter en utilisant le flux OAuth. Vous serez redirigé vers openrouter.ai",
|
||||
"Bypass status check": "Contourner la vérification de l'état",
|
||||
@@ -1448,7 +1448,6 @@
|
||||
"Add Character and User names to a list of stopping strings.": "Ajouter les noms de personnages et d'utilisateurs à une liste de chaînes d'arrêt.",
|
||||
"Names as Stop Strings": "Noms comme chaînes d'arrêt",
|
||||
"context_allow_post_history_instructions": "Inclut les instructions post-historiques à la fin du prompt, si elles sont définies dans la fiche de personnage ET si l'option 'Préférer les instructions de personnage' est activée.\nN'EST PAS RECOMMANDÉ POUR LES MODÈLES DE COMPLÉTION DE TEXTE, CAR IL PEUT ENTRAÎNER DE MAUVAIS RÉSULTATS.",
|
||||
"Allow Post-History Instructions": "Autoriser les instructions post-histoire",
|
||||
"Instruct Template": "Modèle d'instruction",
|
||||
"instruct_derived": "Dériver des métadonnées du modèle, si possible.",
|
||||
"instruct_enabled": "Activer le mode d'instruction",
|
||||
|
@@ -318,23 +318,23 @@
|
||||
"flag": "merki",
|
||||
"API key (optional)": "API lykill (valkvæmt)",
|
||||
"Server url": "URL þjóns",
|
||||
"Example: 127.0.0.1:5000": "Dæmi: 127.0.0.1:5000",
|
||||
"Example: http://127.0.0.1:5000": "Dæmi: http://127.0.0.1:5000",
|
||||
"Custom model (optional)": "Sérsniðið módel (valkvæmt)",
|
||||
"vllm-project/vllm": "vllm-project/vllm (OpenAI API umbúðastilling)",
|
||||
"vLLM API key": "vLLM API lykill",
|
||||
"Example: 127.0.0.1:8000": "Dæmi: http://127.0.0.1:8000",
|
||||
"Example: http://127.0.0.1:8000": "Dæmi: http://127.0.0.1:8000",
|
||||
"vLLM Model": "vLLM líkan",
|
||||
"PygmalionAI/aphrodite-engine": "PygmalionAI/aphrodite-engine (OpenAI forritunargrensl)",
|
||||
"Aphrodite API key": "Aphrodite API lykill",
|
||||
"Aphrodite Model": "Afródíta fyrirmynd",
|
||||
"ggerganov/llama.cpp": "ggerganov/llama.cpp (úttak þjónn)",
|
||||
"Example: 127.0.0.1:8080": "Dæmi: 127.0.0.1:8080",
|
||||
"Example: 127.0.0.1:11434": "Dæmi: 127.0.0.1:11434",
|
||||
"Example: http://127.0.0.1:8080": "Dæmi: http://127.0.0.1:8080",
|
||||
"Example: http://127.0.0.1:11434": "Dæmi: http://127.0.0.1:11434",
|
||||
"Ollama Model": "Ollama módel",
|
||||
"Download": "Niðurhal",
|
||||
"Tabby API key": "Tabby API lykill",
|
||||
"koboldcpp API key (optional)": "koboldcpp API lykill (valfrjálst)",
|
||||
"Example: 127.0.0.1:5001": "Dæmi: 127.0.0.1:5001",
|
||||
"Example: http://127.0.0.1:5001": "Dæmi: http://127.0.0.1:5001",
|
||||
"Authorize": "Heimild",
|
||||
"Get your OpenRouter API token using OAuth flow. You will be redirected to openrouter.ai": "Fáðu API lykilinn þinn fyrir OpenRouter með því að nota OAuth strauminn. Þú verður endurvísað(ð/ur) á openrouter.ai",
|
||||
"Bypass status check": "Hlaupa framhjá stöðutík",
|
||||
@@ -411,7 +411,6 @@
|
||||
"Chat Start": "Chat Start",
|
||||
"Add Chat Start and Example Separator to a list of stopping strings.": "Bættu Chat Start og Example Separator við lista yfir stöðvunarstrengi.",
|
||||
"Use as Stop Strings": "Nota sem Stoppa Strengir",
|
||||
"context_allow_jailbreak": "Inniheldur Jailbreak í lok hvetjunnar, ef það er skilgreint á stafkortinu OG ''Velst Char. Jailbreak'' er virkt.\nÞETTA ER EKKI MÆLT FYRIR TEXTAÚRSLUNARGERÐ, GETUR leitt til lélegrar úttaks.",
|
||||
"Allow Jailbreak": "Leyfa jailbreak",
|
||||
"Context Order": "Samhengisröð",
|
||||
"Summary": "Samantekt",
|
||||
|
@@ -318,23 +318,23 @@
|
||||
"flag": "bandiera",
|
||||
"API key (optional)": "Chiave API (opzionale)",
|
||||
"Server url": "URL del server",
|
||||
"Example: 127.0.0.1:5000": "Esempio: 127.0.0.1:5000",
|
||||
"Example: http://127.0.0.1:5000": "Esempio: http://127.0.0.1:5000",
|
||||
"Custom model (optional)": "Modello personalizzato (opzionale)",
|
||||
"vllm-project/vllm": "vllm-project/vllm (modalità wrapper API OpenAI)",
|
||||
"vLLM API key": "Chiave API vLLM",
|
||||
"Example: 127.0.0.1:8000": "Esempio: http://127.0.0.1:8000",
|
||||
"Example: http://127.0.0.1:8000": "Esempio: http://127.0.0.1:8000",
|
||||
"vLLM Model": "Modello vLLM",
|
||||
"PygmalionAI/aphrodite-engine": "PygmalionAI/aphrodite-engine (Modalità wrapper per l'API OpenAI)",
|
||||
"Aphrodite API key": "Chiave API di Aphrodite",
|
||||
"Aphrodite Model": "Modello di Afrodite",
|
||||
"ggerganov/llama.cpp": "ggerganov/llama.cpp (Server di output)",
|
||||
"Example: 127.0.0.1:8080": "Esempio: 127.0.0.1:8080",
|
||||
"Example: 127.0.0.1:11434": "Esempio: 127.0.0.1:11434",
|
||||
"Example: http://127.0.0.1:8080": "Esempio: http://127.0.0.1:8080",
|
||||
"Example: http://127.0.0.1:11434": "Esempio: http://127.0.0.1:11434",
|
||||
"Ollama Model": "Modello Ollama",
|
||||
"Download": "Scarica",
|
||||
"Tabby API key": "Chiave API di Tabby",
|
||||
"koboldcpp API key (optional)": "Chiave API koboldcpp (opzionale)",
|
||||
"Example: 127.0.0.1:5001": "Esempio: 127.0.0.1:5001",
|
||||
"Example: http://127.0.0.1:5001": "Esempio: http://127.0.0.1:5001",
|
||||
"Authorize": "Autorizzare",
|
||||
"Get your OpenRouter API token using OAuth flow. You will be redirected to openrouter.ai": "Ottieni il tuo token API di OpenRouter utilizzando il flusso OAuth. Sarai reindirizzato su openrouter.ai",
|
||||
"Bypass status check": "Ignora controllo stato",
|
||||
@@ -411,7 +411,6 @@
|
||||
"Chat Start": "Inizio chat",
|
||||
"Add Chat Start and Example Separator to a list of stopping strings.": "Aggiungi Inizio chat e Separatore di esempio a un elenco di stringhe di arresto.",
|
||||
"Use as Stop Strings": "Usa come stringhe di arresto",
|
||||
"context_allow_jailbreak": "Include il jailbreak alla fine del prompt, se definito nella carta personaggio E ''Preferisci Char. Il jailbreak'' è abilitato.\nQUESTO NON È CONSIGLIATO PER I MODELLI DI COMPLETAMENTO DEL TESTO, PUÒ PORTARE A UN RISULTATO CATTIVO.",
|
||||
"Allow Jailbreak": "Consenti jailbreak",
|
||||
"Context Order": "Ordine del contesto",
|
||||
"Summary": "Riepilogo",
|
||||
|
@@ -318,23 +318,23 @@
|
||||
"flag": "フラグ",
|
||||
"API key (optional)": "APIキー(オプション)",
|
||||
"Server url": "サーバーURL",
|
||||
"Example: 127.0.0.1:5000": "例: 127.0.0.1:5000",
|
||||
"Example: http://127.0.0.1:5000": "例: http://127.0.0.1:5000",
|
||||
"Custom model (optional)": "カスタムモデル(オプション)",
|
||||
"vllm-project/vllm": "vllm-project/vllm (OpenAI API ラッパーモード)",
|
||||
"vLLM API key": "vLLM API キー",
|
||||
"Example: 127.0.0.1:8000": "例: http://127.0.0.1:8000",
|
||||
"Example: http://127.0.0.1:8000": "例: http://127.0.0.1:8000",
|
||||
"vLLM Model": "vLLM モデル",
|
||||
"PygmalionAI/aphrodite-engine": "PygmalionAI/aphrodite-engine(OpenAI APIエンドポイントのパッケージングモード)",
|
||||
"Aphrodite API key": "アフロディーテAPIキー",
|
||||
"Aphrodite Model": "アフロディーテモデル",
|
||||
"ggerganov/llama.cpp": "ggerganov/llama.cpp(出力サーバー)",
|
||||
"Example: 127.0.0.1:8080": "例: 127.0.0.1:8080",
|
||||
"Example: 127.0.0.1:11434": "例: 127.0.0.1:11434",
|
||||
"Example: http://127.0.0.1:8080": "例: http://127.0.0.1:8080",
|
||||
"Example: http://127.0.0.1:11434": "例: http://127.0.0.1:11434",
|
||||
"Ollama Model": "Ollamaモデル",
|
||||
"Download": "ダウンロード",
|
||||
"Tabby API key": "TabbyのAPIキー",
|
||||
"koboldcpp API key (optional)": "koboldcpp API キー (オプション)",
|
||||
"Example: 127.0.0.1:5001": "例: 127.0.0.1:5001",
|
||||
"Example: http://127.0.0.1:5001": "例: http://127.0.0.1:5001",
|
||||
"Authorize": "承認",
|
||||
"Get your OpenRouter API token using OAuth flow. You will be redirected to openrouter.ai": "OAuthフローを使用してOpenRouter APIトークンを取得します。 openrouter.aiにリダイレクトされます",
|
||||
"Bypass status check": "ステータスのチェックをバイパスする",
|
||||
@@ -411,7 +411,6 @@
|
||||
"Chat Start": "チャット開始",
|
||||
"Add Chat Start and Example Separator to a list of stopping strings.": "停止文字列のリストにチャット開始と例の区切り文字を追加します。",
|
||||
"Use as Stop Strings": "ストップ文字列として使用",
|
||||
"context_allow_jailbreak": "文字カードで定義されていて、「文字 Jailbreak を優先」が有効になっている場合は、プロンプトの最後に Jailbreak が含まれます。\nこれはテキスト補完モデルには推奨されません。出力が悪くなる可能性があります。",
|
||||
"Allow Jailbreak": "脱獄を許可する",
|
||||
"Context Order": "コンテキスト順序",
|
||||
"Summary": "まとめ",
|
||||
|
@@ -320,23 +320,23 @@
|
||||
"flag": "깃발",
|
||||
"API key (optional)": "API 키 (선택 사항)",
|
||||
"Server url": "서버 URL",
|
||||
"Example: 127.0.0.1:5000": "예시: 127.0.0.1:5000",
|
||||
"Example: http://127.0.0.1:5000": "예시: http://127.0.0.1:5000",
|
||||
"Custom model (optional)": "사용자 정의 모델 (선택 사항)",
|
||||
"vllm-project/vllm": "vllm-project/vllm(OpenAI API 래퍼 모드)",
|
||||
"vLLM API key": "vLLM API 키",
|
||||
"Example: 127.0.0.1:8000": "예: http://127.0.0.1:8000",
|
||||
"Example: http://127.0.0.1:8000": "예: http://127.0.0.1:8000",
|
||||
"vLLM Model": "vLLM 모델",
|
||||
"PygmalionAI/aphrodite-engine": "PygmalionAI/aphrodite-engine (OpenAI API의 래퍼 모드)",
|
||||
"Aphrodite API key": "Aphrodite API 키",
|
||||
"Aphrodite Model": "Aphrodite 모델",
|
||||
"ggerganov/llama.cpp": "ggerganov/llama.cpp (출력 서버)",
|
||||
"Example: 127.0.0.1:8080": "예: 127.0.0.1:8080",
|
||||
"Example: 127.0.0.1:11434": "예: 127.0.0.1:11434",
|
||||
"Example: http://127.0.0.1:8080": "예: http://127.0.0.1:8080",
|
||||
"Example: http://127.0.0.1:11434": "예: http://127.0.0.1:11434",
|
||||
"Ollama Model": "Ollama 모델",
|
||||
"Download": "다운로드",
|
||||
"Tabby API key": "Tabby API 키",
|
||||
"koboldcpp API key (optional)": "koboldcpp API 키(선택사항)",
|
||||
"Example: 127.0.0.1:5001": "예: 127.0.0.1:5001",
|
||||
"Example: http://127.0.0.1:5001": "예: http://127.0.0.1:5001",
|
||||
"Authorize": "승인하기",
|
||||
"Get your OpenRouter API token using OAuth flow. You will be redirected to openrouter.ai": "OAuth 플로우를 사용하여 OpenRouter API 토큰을 가져옵니다. openrouter.ai로 리디렉션됩니다.",
|
||||
"Legacy API (pre-OAI, no streaming)": "레거시 API (OAI 이전, 스트리밍 없음)",
|
||||
@@ -421,7 +421,6 @@
|
||||
"Chat Start": "채팅 시작",
|
||||
"Add Chat Start and Example Separator to a list of stopping strings.": "중지 문자열 목록에 채팅 시작 및 예제 구분 기호를 추가합니다.",
|
||||
"Use as Stop Strings": "중지 문자열로 사용",
|
||||
"context_allow_jailbreak": "캐릭터 카드에 정의되어 있고 ''Prefer Char. Jailbreak''가 활성화되어 있는 경우 프롬프트 끝에 Jailbreak를 포함합니다.\n이는 텍스트 완성 모델에 권장되지 않으며, 나쁜 출력으로 이어질 수 있습니다.",
|
||||
"Allow Jailbreak": "탈옥 허용",
|
||||
"Context Order": "컨텍스트 순서",
|
||||
"Summary": "요약",
|
||||
@@ -1520,7 +1519,6 @@
|
||||
"Always": "항상 추가함",
|
||||
"Separators as Stop Strings": "구분 기호를 정지 문자열로 사용하기",
|
||||
"Names as Stop Strings": "캐릭터의 이름들을 정지 문자열로 사용하기",
|
||||
"Allow Post-History Instructions": "Post-History 지침 허용",
|
||||
"Image Captioning": "이미지 캡셔닝",
|
||||
"Automatically caption images": "자동으로 이미지에 대한 설명 문장으로 나타내기",
|
||||
"Edit captions before saving": "저장하기 전에 이미지에 대한 설명 문장 편집하기",
|
||||
|
@@ -318,23 +318,23 @@
|
||||
"flag": "vlag",
|
||||
"API key (optional)": "API-sleutel (optioneel)",
|
||||
"Server url": "Server-URL",
|
||||
"Example: 127.0.0.1:5000": "Voorbeeld: 127.0.0.1:5000",
|
||||
"Example: http://127.0.0.1:5000": "Voorbeeld: http://127.0.0.1:5000",
|
||||
"Custom model (optional)": "Aangepast model (optioneel)",
|
||||
"vllm-project/vllm": "vllm-project/vllm (OpenAI API-wrappermodus)",
|
||||
"vLLM API key": "vLLM API-sleutel",
|
||||
"Example: 127.0.0.1:8000": "Voorbeeld: http://127.0.0.1:8000",
|
||||
"Example: http://127.0.0.1:8000": "Voorbeeld: http://127.0.0.1:8000",
|
||||
"vLLM Model": "vLLM-model",
|
||||
"PygmalionAI/aphrodite-engine": "PygmalionAI/aphrodite-engine (Wrappermodus voor OpenAI API)",
|
||||
"Aphrodite API key": "Aphrodite API-sleutel",
|
||||
"Aphrodite Model": "Aphrodite-model",
|
||||
"ggerganov/llama.cpp": "ggerganov/llama.cpp (Output-server)",
|
||||
"Example: 127.0.0.1:8080": "Voorbeeld: 127.0.0.1:8080",
|
||||
"Example: 127.0.0.1:11434": "Voorbeeld: 127.0.0.1:11434",
|
||||
"Example: http://127.0.0.1:8080": "Voorbeeld: http://127.0.0.1:8080",
|
||||
"Example: http://127.0.0.1:11434": "Voorbeeld: http://127.0.0.1:11434",
|
||||
"Ollama Model": "Ollama-model",
|
||||
"Download": "Downloaden",
|
||||
"Tabby API key": "Tabby API-sleutel",
|
||||
"koboldcpp API key (optional)": "koboldcpp API-sleutel (optioneel)",
|
||||
"Example: 127.0.0.1:5001": "Voorbeeld: 127.0.0.1:5001",
|
||||
"Example: http://127.0.0.1:5001": "Voorbeeld: http://127.0.0.1:5001",
|
||||
"Authorize": "Toestemming geven",
|
||||
"Get your OpenRouter API token using OAuth flow. You will be redirected to openrouter.ai": "Haal uw OpenRouter API-token op met behulp van OAuth-flow. U wordt doorgestuurd naar openrouter.ai",
|
||||
"Bypass status check": "Omzeil statuscontrole",
|
||||
@@ -411,7 +411,6 @@
|
||||
"Chat Start": "Chatstart",
|
||||
"Add Chat Start and Example Separator to a list of stopping strings.": "Voeg Chat Start en Voorbeeldscheidingsteken toe aan een lijst met stoptekenreeksen.",
|
||||
"Use as Stop Strings": "Gebruik als stopreeksen",
|
||||
"context_allow_jailbreak": "Inclusief jailbreak aan het einde van de prompt, indien gedefinieerd in de karakterkaart EN ''Prefer Char. Jailbreak'' is ingeschakeld.\nDIT WORDT NIET AANBEVOLEN VOOR MODELLEN VOOR HET INVOEREN VAN TEKST. KAN TOT SLECHTE UITVOER LEIDEN.",
|
||||
"Allow Jailbreak": "Jailbreak toestaan",
|
||||
"Context Order": "Contextvolgorde",
|
||||
"Summary": "Samenvatting",
|
||||
|
@@ -318,23 +318,23 @@
|
||||
"flag": "bandeira",
|
||||
"API key (optional)": "Chave da API (opcional)",
|
||||
"Server url": "URL do servidor",
|
||||
"Example: 127.0.0.1:5000": "Exemplo: 127.0.0.1:5000",
|
||||
"Example: http://127.0.0.1:5000": "Exemplo: http://127.0.0.1:5000",
|
||||
"Custom model (optional)": "Modelo personalizado (opcional)",
|
||||
"vllm-project/vllm": "vllm-project/vllm (modo wrapper da API OpenAI)",
|
||||
"vLLM API key": "Chave de API vLLM",
|
||||
"Example: 127.0.0.1:8000": "Exemplo: http://127.0.0.1:8000",
|
||||
"Example: http://127.0.0.1:8000": "Exemplo: http://127.0.0.1:8000",
|
||||
"vLLM Model": "Modelo vLLM",
|
||||
"PygmalionAI/aphrodite-engine": "PygmalionAI/aphrodite-engine (Modo Wrapper para API OpenAI)",
|
||||
"Aphrodite API key": "Chave da API Aphrodite",
|
||||
"Aphrodite Model": "Modelo Afrodite",
|
||||
"ggerganov/llama.cpp": "ggerganov/llama.cpp (Servidor de Saída)",
|
||||
"Example: 127.0.0.1:8080": "Exemplo: 127.0.0.1:8080",
|
||||
"Example: 127.0.0.1:11434": "Exemplo: 127.0.0.1:11434",
|
||||
"Example: http://127.0.0.1:8080": "Exemplo: http://127.0.0.1:8080",
|
||||
"Example: http://127.0.0.1:11434": "Exemplo: http://127.0.0.1:11434",
|
||||
"Ollama Model": "Modelo Ollama",
|
||||
"Download": "Baixar",
|
||||
"Tabby API key": "Chave da API do Tabby",
|
||||
"koboldcpp API key (optional)": "Chave API koboldcpp (opcional)",
|
||||
"Example: 127.0.0.1:5001": "Exemplo: 127.0.0.1:5001",
|
||||
"Example: http://127.0.0.1:5001": "Exemplo: http://127.0.0.1:5001",
|
||||
"Authorize": "Autorizar",
|
||||
"Get your OpenRouter API token using OAuth flow. You will be redirected to openrouter.ai": "Obtenha seu token da API do OpenRouter usando o fluxo OAuth. Você será redirecionado para openrouter.ai",
|
||||
"Bypass status check": "Ignorar verificação de status",
|
||||
@@ -411,7 +411,6 @@
|
||||
"Chat Start": "Início do Chat",
|
||||
"Add Chat Start and Example Separator to a list of stopping strings.": "Adicione o início do bate-papo e o separador de exemplo a uma lista de strings de parada.",
|
||||
"Use as Stop Strings": "Usar como Strings de Parada",
|
||||
"context_allow_jailbreak": "Inclui Jailbreak no final do prompt, se definido no cartão de personagem E ''Prefer Char. Jailbreak'' está habilitado.\nISTO NÃO É RECOMENDADO PARA MODELOS DE COMPLEMENTAÇÃO DE TEXTO, PODE LEVAR A UMA SAÍDA RUIM.",
|
||||
"Allow Jailbreak": "Permitir jailbreak",
|
||||
"Context Order": "Ordem de Contexto",
|
||||
"Summary": "Resumo",
|
||||
|
@@ -23,9 +23,8 @@
|
||||
"Mirostat Mode": "Режим",
|
||||
"Mirostat Tau": "Tau",
|
||||
"Mirostat Eta": "Eta",
|
||||
"Variability parameter for Mirostat outputs": "Параметр изменчивости для выходных данных Mirostat.",
|
||||
"Variability parameter for Mirostat outputs": "Вариативность для выходных данных Mirostat.",
|
||||
"Learning rate of Mirostat": "Скорость обучения Mirostat.",
|
||||
"Strength of the Contrastive Search regularization term. Set to 0 to disable CS": "Сила условия регуляризации контрастивного поиска. Установите значение 0, чтобы отключить CS.",
|
||||
"Temperature Last": "Температура последней",
|
||||
"LLaMA / Mistral / Yi models only": "Только для моделей LLaMA / Mistral / Yi. Перед этим обязательно выберите подходящий токенизатор.\nПоследовательности, которых не должно быть на выходе.\nОдна на строку. Текст или [идентификаторы токенов].\nМногие токены имеют пробел впереди. Используйте счетчик токенов, если не уверены.",
|
||||
"Example: some text [42, 69, 1337]": "Пример:\nкакой-то текст\n[42, 69, 1337]",
|
||||
@@ -53,20 +52,18 @@
|
||||
"Presence Penalty": "Штраф за присутствие",
|
||||
"Top A": "Top А",
|
||||
"Tail Free Sampling": "Tail Free Sampling",
|
||||
"Rep. Pen. Slope": "Rep. Pen. Slope",
|
||||
"Rep. Pen. Slope": "Рост штрафа за повтор к концу промпта",
|
||||
"Top K": "Top K",
|
||||
"Top P": "Top P",
|
||||
"Do Sample": "Включить сэмплинг",
|
||||
"Add BOS Token": "Добавлять BOS-токен",
|
||||
"Add the bos_token to the beginning of prompts. Disabling this can make the replies more creative": "Добавлять BOS-токен в начале промпта. Если выключить, ответы могут стать более креативными.",
|
||||
"Ban EOS Token": "Запретить EOS-токен",
|
||||
"Ban the eos_token. This forces the model to never end the generation prematurely": "Запрет EOS-токена не позволит модели завершить генерацию преждевременно",
|
||||
"Ban the eos_token. This forces the model to never end the generation prematurely": "Запрет EOS-токена не позволит модели завершить генерацию самостоятельно (только при достижении лимита токенов)",
|
||||
"Skip Special Tokens": "Пропускать спец. токены",
|
||||
"Beam search": "Поиск Beam",
|
||||
"Number of Beams": "Количество Beam",
|
||||
"Beam search": "Beam Search",
|
||||
"Length Penalty": "Штраф за длину",
|
||||
"Early Stopping": "Преждевременная остановка",
|
||||
"Contrastive search": "Контрастный поиск",
|
||||
"Early Stopping": "Прекращать сразу",
|
||||
"Penalty Alpha": "Penalty Alpha",
|
||||
"Seed": "Зерно",
|
||||
"Epsilon Cutoff": "Epsilon Cutoff",
|
||||
@@ -89,7 +86,7 @@
|
||||
"Text Completion presets": "Пресеты для Text Completion",
|
||||
"Documentation on sampling parameters": "Документация по параметрам сэмплеров",
|
||||
"Set all samplers to their neutral/disabled state.": "Установить все сэмплеры в нейтральное/отключенное состояние.",
|
||||
"Only enable this if your model supports context sizes greater than 8192 tokens": "Включайте эту опцию, только если ваша модель поддерживает размер контекста более 8192 токенов.\nУвеличивайте только если вы знаете, что делаете.",
|
||||
"Only enable this if your model supports context sizes greater than 8192 tokens": "Включайте эту опцию, только если ваша модель поддерживает размер контекста более 8192 токенов.\nУвеличивайте только если вы понимаете, что делаете.",
|
||||
"Wrap in Quotes": "Заключать в кавычки",
|
||||
"Wrap entire user message in quotes before sending.": "Перед отправкой заключать всё сообщение пользователя в кавычки.",
|
||||
"Leave off if you use quotes manually for speech.": "Оставьте выключенным, если вручную выставляете кавычки для прямой речи.",
|
||||
@@ -109,13 +106,13 @@
|
||||
"Adjust response length to worker capabilities": "Подстраивать длину ответа под возможности рабочих машин",
|
||||
"API key": "API-ключ",
|
||||
"Tabby API key": "Tabby API-ключ",
|
||||
"Get it here:": "Получить здесь:",
|
||||
"Get it here:": "Получите здесь:",
|
||||
"Register": "Зарегистрироваться",
|
||||
"TogetherAI Model": "Модель TogetherAI",
|
||||
"Example: 127.0.0.1:5001": "Пример: http://127.0.0.1:5001",
|
||||
"Example: http://127.0.0.1:5001": "Пример: http://127.0.0.1:5001",
|
||||
"ggerganov/llama.cpp": "ggerganov/llama.cpp (сервер вывода)",
|
||||
"Example: 127.0.0.1:8080": "Пример: http://127.0.0.1:8080",
|
||||
"Example: 127.0.0.1:11434": "Пример: http://127.0.0.1:11434",
|
||||
"Example: http://127.0.0.1:8080": "Пример: http://127.0.0.1:8080",
|
||||
"Example: http://127.0.0.1:11434": "Пример: http://127.0.0.1:11434",
|
||||
"Ollama Model": "Модель Ollama",
|
||||
"Download": "Скачать",
|
||||
"TogetherAI API Key": "TogetherAI API-ключ",
|
||||
@@ -136,7 +133,7 @@
|
||||
"Server url": "URL-адрес сервера",
|
||||
"Custom model (optional)": "Пользовательская модель (необязательно)",
|
||||
"Bypass API status check": "Обход проверки статуса API",
|
||||
"Example: 127.0.0.1:5000": "Пример: http://127.0.0.1:5000",
|
||||
"Example: http://127.0.0.1:5000": "Пример: http://127.0.0.1:5000",
|
||||
"Bypass status check": "Обход проверки статуса",
|
||||
"Mancer API key": "Ключ от Mancer API",
|
||||
"to get your OpenAI API key.": "для получения ключа от API OpenAI",
|
||||
@@ -165,9 +162,9 @@
|
||||
"Story String": "Строка истории",
|
||||
"Example Separator": "Разделитель примеров сообщений",
|
||||
"Chat Start": "Начало чата",
|
||||
"Activation Regex": "Regex для активации",
|
||||
"Activation Regex": "Рег. выражение для активации",
|
||||
"Instruct Mode": "Режим Instruct",
|
||||
"Wrap Sequences with Newline": "Отделять строки символом новой строки",
|
||||
"Wrap Sequences with Newline": "Каждая строка из шаблона на новой строке",
|
||||
"Include Names": "Добавлять имена",
|
||||
"Force for Groups and Personas": "Также для групп и персон",
|
||||
"System Prompt": "Системный промпт",
|
||||
@@ -289,10 +286,10 @@
|
||||
"Author's Note": "Заметки автора",
|
||||
"Replace empty message": "Заменять пустые сообщения",
|
||||
"Send this text instead of nothing when the text box is empty.": "Этот текст будет отправлен в случае отсутствия текста на отправку.",
|
||||
"Unrestricted maximum value for the context slider": "Убрать потолок для ползунка контекста. Включайте только если точно знаете, что делаете",
|
||||
"Unrestricted maximum value for the context slider": "Убрать потолок для ползунка контекста. Включайте только если точно понимаете, что делаете",
|
||||
"Chat Completion Source": "Источник для Chat Completion",
|
||||
"Avoid sending sensitive information to the Horde.": "Избегайте отправки личной информации Horde",
|
||||
"Review the Privacy statement": "Ознакомиться с заявлением о конфиденциальности",
|
||||
"Avoid sending sensitive information to the Horde.": "Избегайте отправки личной информации Horde.",
|
||||
"Review the Privacy statement": "Ознакомьтесь с заявлением о конфиденциальности",
|
||||
"Trusted workers only": "Только доверенные рабочие машины",
|
||||
"For privacy reasons, your API key will be hidden after you reload the page.": "Из соображений безопасности ваш API-ключ будет скрыт после перезагрузки страницы.",
|
||||
"-- Horde models not loaded --": "--Модель Horde не загружена--",
|
||||
@@ -302,7 +299,7 @@
|
||||
"AI Horde": "AI Horde",
|
||||
"NovelAI": "NovelAI",
|
||||
"OpenAI API key": "Ключ для API OpenAI",
|
||||
"Trim spaces": "Обрезать пробелы",
|
||||
"Trim spaces": "Обрезать пробелы в начале и конце",
|
||||
"Trim Incomplete Sentences": "Удалять неоконченные предложения",
|
||||
"Include Newline": "Добавлять новую строку",
|
||||
"Non-markdown strings": "Строки без разметки",
|
||||
@@ -513,7 +510,7 @@
|
||||
"New preset": "Новый пресет",
|
||||
"Delete preset": "Удалить пресет",
|
||||
"API Connections": "Соединения с API",
|
||||
"Can help with bad responses by queueing only the approved workers. May slowdown the response time.": "Может помочь с плохими ответами ставя в очередь только подтвержденных работников. Может замедлить время ответа.",
|
||||
"Can help with bad responses by queueing only the approved workers. May slowdown the response time.": "Может помочь при плохих ответах, делая запросы только к доверенным рабочим машинам. Может замедлить время ответа.",
|
||||
"Clear your API key": "Стереть ключ от API",
|
||||
"Refresh models": "Обновить модели",
|
||||
"Get your OpenRouter API token using OAuth flow. You will be redirected to openrouter.ai": "Получите свой OpenRouter API токен используя OAuth. У вас будет открыта вкладка openrouter.ai",
|
||||
@@ -554,7 +551,7 @@
|
||||
"Token counts may be inaccurate and provided just for reference.": "Счетчик токенов может быть неточным, используйте как ориентир",
|
||||
"Click to select a new avatar for this character": "Нажмите чтобы выбрать новый аватар для этого персонажа",
|
||||
"Example: [{{user}} is a 28-year-old Romanian cat girl.]": "Пример:\n [{{user}} is a 28-year-old Romanian cat girl.]",
|
||||
"Toggle grid view": "Переключить вид сетки",
|
||||
"Toggle grid view": "Сменить вид сетки",
|
||||
"Add to Favorites": "Добавить в Избранное",
|
||||
"Advanced Definition": "Расширенное описание",
|
||||
"Character Lore": "Лор персонажа",
|
||||
@@ -627,7 +624,7 @@
|
||||
"UI Theme": "Тема UI",
|
||||
"This message is invisible for the AI": "Это сообщение невидимо для ИИ",
|
||||
"Sampler Priority": "Приоритет сэмплеров",
|
||||
"Ooba only. Determines the order of samplers.": "Только oobabooga. Определяет порядок сэмплеров.",
|
||||
"Ooba only. Determines the order of samplers.": "Только для oobabooga. Определяет порядок сэмплеров.",
|
||||
"Load default order": "Загрузить стандартный порядок",
|
||||
"Max Tokens Second": "Макс. кол-во токенов в секунду",
|
||||
"CFG": "CFG",
|
||||
@@ -698,8 +695,8 @@
|
||||
"Medium": "Средний",
|
||||
"Aggressive": "Агрессивный",
|
||||
"Very aggressive": "Очень агрессивный",
|
||||
"Eta_Cutoff_desc": "Eta cutoff - основной параметр специальной техники сэмплинга под названием Eta Sampling. В единицах 1e-4; разумное значение - 3. Установите в 0, чтобы отключить. См. статью Truncation Sampling as Language Model Desmoothing от Хьюитт и др. (2022) для получения подробной информации.",
|
||||
"Learn how to contribute your idle GPU cycles to the Horde": "Узнайте, как внести свой вклад в свои свободные GPU-циклы в орду",
|
||||
"Eta_Cutoff_desc": "Eta cutoff - основной параметр специальной техники сэмплинга под названием Eta Sampling.\nВ единицах 1e-4; разумное значение - 3.\nУстановите в 0, чтобы отключить.\nСм. статью Truncation Sampling as Language Model Desmoothing от Хьюитт и др. (2022) для получения подробной информации.",
|
||||
"Learn how to contribute your idle GPU cycles to the Horde": "Узнайте, как использовать время простоя вашего GPU для помощи Horde",
|
||||
"Use the appropriate tokenizer for Google models via their API. Slower prompt processing, but offers much more accurate token counting.": "Используйте соответствующий токенизатор для моделей Google через их API. Медленная обработка подсказок, но предлагает намного более точный подсчет токенов.",
|
||||
"Load koboldcpp order": "Загрузить порядок из koboldcpp",
|
||||
"Use Google Tokenizer": "Использовать токенизатор Google",
|
||||
@@ -744,7 +741,7 @@
|
||||
"Last Assistant Prefix": "Последний префикс ассистента",
|
||||
"System Instruction Prefix": "Префикс системной инструкции",
|
||||
"User Filler Message": "Принудительное сообщение пользователя",
|
||||
"Permanent": "перманентных",
|
||||
"Permanent": "постоянных",
|
||||
"Alt. Greetings": "Др. варианты",
|
||||
"Smooth Streaming": "Плавный стриминг",
|
||||
"Save checkpoint": "Сохранить чекпоинт",
|
||||
@@ -967,7 +964,7 @@
|
||||
"char_import_3": "Персонаж с JanitorAI (прямая ссылка или UUID)",
|
||||
"char_import_4": "Персонаж с Pygmalion.chat (прямая ссылка или UUID)",
|
||||
"char_import_5": "Персонаж с AICharacterCards.com (прямая ссылка или ID)",
|
||||
"char_import_6": "Прямая ссылка на PNG-файл (чтобы узнать список разрешённых хостов, загляните в",
|
||||
"char_import_6": "Прямая ссылка на PNG-файл (список разрешённых хостов находится в",
|
||||
"char_import_7": ")",
|
||||
"Grammar String": "Грамматика",
|
||||
"GBNF or EBNF, depends on the backend in use. If you're using this you should know which.": "GBNF или EBNF, зависит от бэкенда. Если вы это используете, то, скорее всего, сами знаете, какой именно.",
|
||||
@@ -1019,7 +1016,7 @@
|
||||
"prompt_manager_relative": "Относительная",
|
||||
"prompt_manager_depth": "Глубина",
|
||||
"Injection depth. 0 = after the last message, 1 = before the last message, etc.": "Глубина вставки. 0 = после последнего сообщения, 1 = перед последним сообщением, и т.д.",
|
||||
"The prompt to be sent.": "Отправляемый ИИ промпт.",
|
||||
"The prompt to be sent.": "Текст промпта.",
|
||||
"prompt_manager_forbid_overrides": "Запретить перезапись",
|
||||
"This prompt cannot be overridden by character cards, even if overrides are preferred.": "Карточка персонажа не сможет перезаписать этот промпт, даже если настройки отдают приоритет именно ей.",
|
||||
"image_inlining_hint_1": "Отправлять картинки как часть промпта, если позволяет модель (такой функционал поддерживают GPT-4V, Claude 3 или Llava 13B). Чтобы добавить в чат изображение, используйте на нужном сообщении действие",
|
||||
@@ -1227,7 +1224,6 @@
|
||||
"JSON-serialized array of strings.": "Список строк в формате JSON.",
|
||||
"Mirostat_desc": "Mirostat - своего рода термометр, измеряющий перплексию для выводимого текста.\nMirostat подгоняет перплексию генерируемого текста к перплексии входного текста, что позволяет избежать повторов.\n(когда по мере генерации текста авторегрессионным инференсом, перплексия всё больше приближается к нулю)\n а также ловушки перплексии (когда перплексия начинает уходить в сторону)\nБолее подробное описание в статье Mirostat: A Neural Text Decoding Algorithm that Directly Controls Perplexity by Basu et al. (2020).\nРежим выбирает версию Mirostat. 0=отключить, 1=Mirostat 1.0 (только llama.cpp), 2=Mirostat 2.0.",
|
||||
"Helpful tip coming soon.": "Подсказку скоро добавим.",
|
||||
"Temperature_Last_desc": "Использовать Temperature сэмплер в последнюю очередь. Это почти всегда разумно.\nПри включении: сначала выборка набора правдоподобных токенов, затем применение Temperature для корректировки их относительных вероятностей (технически, логитов).\nПри отключении: сначала применение Temperature для корректировки относительных вероятностей ВСЕХ токенов, затем выборка правдоподобных токенов из этого.\nОтключение Temperature Last увеличивает вероятности в хвосте распределения, что увеличивает шансы получить несогласованный ответ.",
|
||||
"Speculative Ngram": "Speculative Ngram",
|
||||
"Use a different speculative decoding method without a draft model": "Use a different speculative decoding method without a draft model.\rUsing a draft model is preferred. Speculative ngram is not as effective.",
|
||||
"Spaces Between Special Tokens": "Spaces Between Special Tokens",
|
||||
@@ -1236,7 +1232,7 @@
|
||||
"Top P & Min P": "Top P & Min P",
|
||||
"llama.cpp only. Determines the order of samplers. If Mirostat mode is not 0, sampler order is ignored.": "llama.cpp only. Determines the order of samplers. If Mirostat mode is not 0, sampler order is ignored.",
|
||||
"Helps the model to associate messages with characters.": "Помогает модели связывать сообщения с персонажами.",
|
||||
"character_names_default": "Except for groups and past personas. Otherwise, make sure you provide names in the prompt.",
|
||||
"character_names_default": "Добавлять префиксы для групповых чатов и предыдущих персон. В остальных случаях указывайте имена в промпте иными способами.",
|
||||
"Completion": "Completion Object",
|
||||
"character_names_completion": "Только латинские буквы, цифры и знак подчёркивания. Работает не для всех бэкендов, в частности для Claude, MistralAI, Google.",
|
||||
"Use AI21 Tokenizer": "Использовать токенайзер AI21",
|
||||
@@ -1256,13 +1252,11 @@
|
||||
"DreamGen Model": "Модель DreamGen",
|
||||
"vllm-project/vllm": "vllm-project/vllm (режим враппера OpenAI API)",
|
||||
"vLLM API key": "Ключ от API vLLM",
|
||||
"Example: 127.0.0.1:8000": "Example: http://127.0.0.1:8000",
|
||||
"vLLM Model": "Модель vLLM",
|
||||
"Aphrodite Model": "Модель Aphrodite",
|
||||
"Peek a password": "Посмотреть пароль",
|
||||
"Clear your cookie": "Clear your cookie",
|
||||
"Add Chat Start and Example Separator to a list of stopping strings.": "Использовать Начало чата и Разделитель примеров сообщений в качестве стоп-строк.",
|
||||
"context_allow_jailbreak": "Если в карточке есть джейлбрейк И ПРИ ЭТОМ включена опция \"Приоритет джейлбрейку из карточки персонажа\", то этот джейлбрейк добавляется в конец промпта.\nНЕ РЕКОМЕНДУЕТСЯ ДЛЯ МОДЕЛЕЙ TEXT COMPLETION, МОЖЕТ ПОРТИТЬ ВЫХОДНОЙ ТЕКСТ.",
|
||||
"Context Order": "Context Order",
|
||||
"Summary": "Summary",
|
||||
"Example Dialogues": "Примеры диалогов",
|
||||
@@ -1283,7 +1277,7 @@
|
||||
"Will be inserted as a last prompt line when using system/neutral generation.": "Will be inserted as a last prompt line when using system/neutral generation.",
|
||||
"If a stop sequence is generated, everything past it will be removed from the output (inclusive).": "Если ИИ генерирует стоп-строку, то всё после неё будет вырезано из ответа (включая и саму стоп-строку).",
|
||||
"Will be inserted at the start of the chat history if it doesn't start with a User message.": "Вставляется в начале истории чата, если она начинается не с сообщения пользователя.",
|
||||
"Global World Info/Lorebook activation settings": "Настройки активации глобального лорбука / Информации о мире",
|
||||
"Global World Info/Lorebook activation settings": "Глобальные настройки активации лорбука / Информации о мире",
|
||||
"Click to expand": "Щёлкните, чтобы развернуть",
|
||||
"Insertion Strategy": "Как инжектить",
|
||||
"Only the entries with the most number of key matches will be selected for Inclusion Group filtering": "Only the entries with the most number of key matches will be selected for Inclusion Group filtering",
|
||||
@@ -1652,10 +1646,9 @@
|
||||
"mui_reset": "Сброс",
|
||||
"Quick 'Impersonate' button": "Быстрое перевоплощение",
|
||||
"Show a button in the input area to ask the AI to impersonate your character for a single message": "Показать в поле ввода кнопку, по нажатии на которую ИИ сгенерирует одно сообщение от лица вашего персонажа.",
|
||||
"Separators as Stop Strings": "Разделители как стоп-строки",
|
||||
"Names as Stop Strings": "Имена как стоп-строки",
|
||||
"Separators as Stop Strings": "Разделители в качестве стоп-строк",
|
||||
"Names as Stop Strings": "Имена в качестве стоп-строк",
|
||||
"Add Character and User names to a list of stopping strings.": "Добавлять имена персонажа и пользователя в список стоп-строк.",
|
||||
"Allow Post-History Instructions": "Разрешить инструкции после истории",
|
||||
"context_allow_post_history_instructions": "Добавлять в конец промпта инструкции после истории. Работает только при наличии таких инструкций в карточке И при включенной опции ''Приоритет инструкциям из карточек''.\nНЕ РЕКОМЕНДУЕТСЯ ДЛЯ МОДЕЛЕЙ TEXT COMPLETION, МОЖЕТ ПОРТИТЬ ВЫХОДНОЙ ТЕКСТ.",
|
||||
"First User Prefix": "Первый префикс пользователя",
|
||||
"Inserted before the first User's message.": "Вставляется перед первым сообщением пользователя.",
|
||||
@@ -1734,7 +1727,7 @@
|
||||
"markdown_hotkeys_desc": "Включить горячие клавиши для вставки символов разметки в некоторых полях ввода. См. '/help hotkeys'.",
|
||||
"Save and Update": "Сохранить и обновить",
|
||||
"Profile name:": "Название профиля:",
|
||||
"API returned an error": "API вернуло ошибку",
|
||||
"API returned an error": "API ответило ошибкой",
|
||||
"Failed to save preset": "Не удалось сохранить пресет",
|
||||
"Preset name should be unique.": "Название пресета должно быть уникальным.",
|
||||
"Invalid file": "Невалидный файл",
|
||||
@@ -1756,8 +1749,7 @@
|
||||
"dot quota_error": "имеется достаточно кредитов.",
|
||||
"If you have sufficient credits, please try again later.": "Если кредитов достаточно, то повторите попытку позднее.",
|
||||
"Proxy preset '${0}' not found": "Пресет '${0}' не найден",
|
||||
"Window.ai returned an error": "Window.ai вернул ошибку",
|
||||
"Get it here:": "Загрузите здесь:",
|
||||
"Window.ai returned an error": "Window.ai ответил ошибкой",
|
||||
"Extension is not installed": "Расширение не установлено",
|
||||
"Update or remove your reverse proxy settings.": "Измените или удалите ваши настройки прокси.",
|
||||
"An error occurred while importing prompts. More info available in console.": "В процессе импорта произошла ошибка. Подробную информацию см. в консоли.",
|
||||
@@ -1866,7 +1858,7 @@
|
||||
"Group Chat could not be saved": "Не удалось сохранить групповой чат",
|
||||
"Deleted group member swiped. To get a reply, add them back to the group.": "Вы пытаетесь свайпнуть удалённого члена группы. Чтобы получить ответ, добавьте этого персонажа обратно в группу.",
|
||||
"Currently no group selected.": "В данный момент не выбрано ни одной группы.",
|
||||
"Not so fast! Wait for the characters to stop typing before deleting the group.": "Чуть помедленнее! Перед удалением группы дождитесь, пока персонаж закончит печатать.",
|
||||
"Not so fast! Wait for the characters to stop typing before deleting the group.": "Чуть помедленнее! Перед удалением группы дождитесь, пока персонажи закончат печатать.",
|
||||
"Delete the group?": "Удалить группу?",
|
||||
"This will also delete all your chats with that group. If you want to delete a single conversation, select a \"View past chats\" option in the lower left menu.": "Вместе с ней будут удалены и все её чаты. Если требуется удалить только один чат, воспользуйтесь кнопкой \"Все чаты\" в меню в левом нижнем углу.",
|
||||
"Can't peek a character while group reply is being generated": "Невозможно открыть карточку персонажа во время генерации ответа",
|
||||
@@ -1922,8 +1914,8 @@
|
||||
"Cannot restore GUI preset": "Пресет для Gui восстановить нельзя",
|
||||
"Default preset cannot be restored": "Невозможно восстановить пресет по умолчанию",
|
||||
"Default template cannot be restored": "Невозможно восстановить шаблон по умолчанию",
|
||||
"Resetting a <b>default preset</b> will restore the default settings": "Сброс <b>стандартного пресета</b> восстановит настройки по умолчанию.",
|
||||
"Resetting a <b>default template</b> will restore the default settings.": "Сброс <b>стандартного шаблона</b> восстановит настройки по умолчанию.",
|
||||
"Resetting a <b>default preset</b> will restore the default settings.": "Сброс <b>комплектного пресета</b> восстановит настройки по умолчанию.",
|
||||
"Resetting a <b>default template</b> will restore the default settings.": "Сброс <b>комплектного шаблона</b> восстановит настройки по умолчанию.",
|
||||
"Are you sure?": "Вы уверены?",
|
||||
"Default preset restored": "Стандартный пресет восстановлен",
|
||||
"Default template restored": "Стандартный шаблон восстановлен",
|
||||
@@ -1997,7 +1989,7 @@
|
||||
"Default persona deleted": "Удалена персона по умолчанию",
|
||||
"The locked persona was deleted. You will need to set a new persona for this chat.": "Удалена привязанная к чату персона. Вам будет необходимо выбрать новую фиксированную персону для этого чата.",
|
||||
"Persona deleted": "Персона удалена",
|
||||
"You must bind a name to this persona before you can set it as the default.": "Прежде чем установить эту персону в качестве персоны по умолчанию, ей необходимо задать имя.",
|
||||
"You must bind a name to this persona before you can set it as the default.": "Прежде чем установить эту персону в качестве персоны по умолчанию, ей необходимо присвоить имя.",
|
||||
"Persona name not set": "У персоны отсутствует имя",
|
||||
"Are you sure you want to remove the default persona?": "Вы точно хотите снять статус персоны по умолчанию?",
|
||||
"This persona will no longer be used by default when you open a new chat.": "Эта персона больше не будет автоматически выбираться при старте нового чата",
|
||||
@@ -2038,7 +2030,7 @@
|
||||
"[Currently loaded]": "[Загруженная сейчас]",
|
||||
"Search providers...": "Искать по провайдерам...",
|
||||
"Automatically chooses an alternative provider if chosen providers can't serve your request.": "Автоматически переключаться на другого провайдера, если текущий не может обслужить запрос.",
|
||||
"Example: 127.0.0.1:8000": "Пример: 127.0.0.1:8000",
|
||||
"Example: http://127.0.0.1:8000": "Пример: http://127.0.0.1:8000",
|
||||
"Edit a connection profile": "Редактировать профиль соединения",
|
||||
"System Prompt Name": "Название системного промпта",
|
||||
"Use System Prompt": "Использовать системный промпт",
|
||||
@@ -2054,11 +2046,11 @@
|
||||
"prompt_post_processing_merge": "Объединять идущие подряд сообщения с одной ролью",
|
||||
"prompt_post_processing_semi": "Semi-strict (чередовать роли)",
|
||||
"prompt_post_processing_strict": "Strict (чередовать роли, сначала пользователь)",
|
||||
"Select Horde models": "Выбрать модель из Horde",
|
||||
"Select Horde models": "Выберите модель из Horde",
|
||||
"Model ID (optional)": "Идентификатор модели (необязательно)",
|
||||
"Derive context size from backend": "Использовать бэкенд для определения размера контекста",
|
||||
"Rename current preset": "Переименовать пресет",
|
||||
"No Worlds active. Click here to select.": "Нет активных миров. Нажмите, чтобы выбрать.",
|
||||
"No Worlds active. Click here to select.": "Активных миров нет, ЛКМ для выбора.",
|
||||
"Title/Memo": "Название",
|
||||
"Strategy": "Статус",
|
||||
"Position": "Позиция",
|
||||
@@ -2177,7 +2169,7 @@
|
||||
"instruct_derived": "Считывать из метаданных модели (по возможности)",
|
||||
"Confirm token parsing with": "Чтобы убедиться в правильности выделения токенов, используйте",
|
||||
"Reasoning Effort": "Рассуждения",
|
||||
"Constrains effort on reasoning for reasoning models.": "Регулирует объём внутренних рассуждений модели (reasoning), для моделей которые поддерживают эту возможность.\nНа данный момент поддерживаются три значения: Подробные, Обычные, Поверхностные.\nПри менее подробном рассуждении ответ получается быстрее, а также экономятся токены, уходящие на рассуждения.",
|
||||
"Constrains effort on reasoning for reasoning models.": "Регулирует объём внутренних рассуждений модели (reasoning), для моделей, которые поддерживают эту возможность.\nПри менее подробном рассуждении ответ получается быстрее, а также экономятся токены, уходящие на рассуждения.",
|
||||
"openai_reasoning_effort_low": "Поверхностные",
|
||||
"openai_reasoning_effort_medium": "Обычные",
|
||||
"openai_reasoning_effort_high": "Подробные",
|
||||
@@ -2203,5 +2195,229 @@
|
||||
"Input:": "Входные данные:",
|
||||
"Tokenized text:": "Токенизированный текст:",
|
||||
"Token IDs:": "Идентификаторы токенов:",
|
||||
"Tokens:": "Токенов:"
|
||||
"Tokens:": "Токенов:",
|
||||
"Max prompt cost:": "Макс. стоимость промпта:",
|
||||
"Reset custom sampler selection": "Сбросить подборку семплеров",
|
||||
"Here you can toggle the display of individual samplers. (WIP)": "Здесь можно включить или выключить отображение каждого из сэмплеров отдельно. (WIP)",
|
||||
"Request Model Reasoning": "Запрашивать цепочку рассуждений",
|
||||
"Reasoning": "Рассуждения / Reasoning",
|
||||
"Auto-Parse": "Авто-парсинг",
|
||||
"reasoning_auto_parse": "Автоматически считывать блоки рассуждений, расположенные между префиксом и суффиксом рассуждений. Для работы должно быть указано и то, и другое.",
|
||||
"Auto-Expand": "Разворачивать",
|
||||
"reasoning_auto_expand": "Автоматически разворачивать блоки рассуждений.",
|
||||
"Show Hidden": "Показывать время",
|
||||
"reasoning_show_hidden": "Отображать затраченное на рассуждения время для моделей со скрытой цепочкой рассуждений",
|
||||
"Add to Prompts": "Добавлять в промпт",
|
||||
"reasoning_add_to_prompts": "Добавлять существующие блоки рассуждений в промпт. Для добавления новых используйте меню редактирования сообщений.",
|
||||
"reasoning_max_additions": "Макс. кол-во блоков рассуждений в промпте, считается от последнего сообщения",
|
||||
"Max": "Макс.",
|
||||
"Reasoning Formatting": "Форматирование рассуждений",
|
||||
"Prefix": "Префикс",
|
||||
"Suffix": "Постфикс",
|
||||
"Separator": "Разделитель",
|
||||
"reasoning_separator": "Вставляется между рассуждениями и содержанием самого сообщения.",
|
||||
"reasoning_prefix": "Вставляется перед рассуждениями.",
|
||||
"reasoning_suffix": "Вставляется после рассуждений.",
|
||||
"Seed_desc": "Фиксированное значение зерна позволяет получать предсказуемые, одинаковые результаты на одинаковых настройках. Поставьте -1 для рандомного зерна.",
|
||||
"# of Beams": "Кол-во лучей",
|
||||
"The number of sequences generated at each step with Beam Search.": "Кол-во вариантов, генерируемых Beam Search на каждом шаге работы.",
|
||||
"Penalize sequences based on their length.": "Штрафует строки в зависимости от длины",
|
||||
"Controls the stopping condition for beam search. If checked, the generation stops as soon as there are '# of Beams' sequences. If not checked, a heuristic is applied and the generation is stopped when it's very unlikely to find better candidates.": "Определяет, когда останавливать работу Beam Search. Поставив галочку, вы укажете поиску остановиться тогда, когда будет достигнуто кол-во лучей из соответствующего поля. Если галочку не отмечать, то генерация остановится тогда, когда сочтёт, что дальше найти лучших кандидатов слишком маловероятно.",
|
||||
"A greedy, brute-force algorithm used in LLM sampling to find the most likely sequence of words or tokens. It expands multiple candidate sequences at once, maintaining a fixed number (beam width) of top sequences at each step.": "Жадный алгоритм LLM-сэмплинга, подбирающий наиболее вероятную последовательность слов или токенов путём исследования и расширения сразу нескольких вариантов. На каждом шаге он удерживает фиксированное кол-во самых подходящих вариантов (ширина луча).",
|
||||
"Smooth_Sampling_desc": "Изменяет распределение с помощью квадратичных и кубических преобразований. Снижение Коэффициента сглаживания даёт более креативные ответы, обычно идеальное значение находится в диапазоне 0.2-0.3 (при кривой сглаживания=1.0). Повышение значения Кривой сглаживания сделает кривую круче, что приведёт к более агрессивной фильтрации маловероятных вариантов. Установив Кривую сглаживания = 1.0, вы фактически нейтрализуете этот параметр и будете работать только с Коэффициентом",
|
||||
"Temperature_Last_desc": "Применять сэмплер Температуры в последнюю очередь. Почти всегда оправдано.\nПри включении: сначала все токены семплируются, и затем температура регулирует распределение у оставшихся (технически, у оставшихся логитов).\nПри выключении: сначала температура настраивает распределение ВСЕХ токенов, и потом они семплируются уже с этим обновлённым распределением.\nПри отключении этой опции токены в хвосте получают больше шансов попасть в итоговую последовательность, что может привести к менее связным и логичным ответам.",
|
||||
"Swipe # for All Messages": "Номер свайпа на всех сообщениях",
|
||||
"Display swipe numbers for all messages, not just the last.": "Отображать номер свайпа для всех сообщений, а не только для последнего.",
|
||||
"Penalty Range": "Окно для штрафа",
|
||||
"Never": "Никогда",
|
||||
"Groups and Past Personas": "Для групп и прошлых персон",
|
||||
"Always": "Всегда",
|
||||
"Request model reasoning": "Запрашивать рассуждения",
|
||||
"Allows the model to return its thinking process.": "Позволяет модели высылать в ответе свою цепочку рассуждений.",
|
||||
"Rename Persona": "Переименовать персону",
|
||||
"Change Persona Image": "Изменить изображение персоны",
|
||||
"Duplicate Persona": "Клонировать персону",
|
||||
"Delete Persona": "Удалить персону",
|
||||
"Enter a new name for this persona:": "Введите новое имя персоны:",
|
||||
"Connections": "Связи",
|
||||
"Click to select this as default persona for the new chats. Click again to remove it.": "Нажмите, чтобы установить эту персону стандартной для всех новых чатов. Нажмите ещё раз, чтобы отключить.",
|
||||
"Character": "Персонаж",
|
||||
"Click to lock your selected persona to the current character. Click again to remove the lock.": "Нажмите, чтобы закрепить эту персону для текущего персонажа. Нажмите ещё раз, чтобы открепить.",
|
||||
"Chat": "Чат",
|
||||
"[No character connections. Click one of the buttons above to connect this persona.]": "[Связи отсутствуют. Нажмите на одну из кнопок выше, чтобы создать.]",
|
||||
"Global Settings": "Общие настройки",
|
||||
"Allow multiple persona connections per character": "Разрешить привязывать несколько персон к одному персонажу",
|
||||
"When multiple personas are connected to a character, a popup will appear to select which one to use": "При связывании нескольких персон с персонажем, будет появляться окошко с предложением выбрать нужную.",
|
||||
"Auto-lock a chosen persona to the chat": "Автоматически привязывать выбранную персону к чату",
|
||||
"Whenever a persona is selected, it will be locked to the current chat and automatically selected when the chat is opened.": "При выборе новой персоны она автоматически будет привязана к текущему чату, и будет выбираться при его открытии.",
|
||||
"Current Persona": "Текущая персона",
|
||||
"The chat has been successfully converted!": "Чат успешно преобразован!",
|
||||
"Manual": "Когда вы скажете",
|
||||
"Auto Mode delay": "Задержка авто-режима",
|
||||
"Use tag as folder": "Тег-папка",
|
||||
"All connections to ${0} have been removed.": "Все связи с персонажем ${0} были удалены.",
|
||||
"Personas Unlocked": "Персоны отвязаны",
|
||||
"Remove All Connections": "Удалить все связи",
|
||||
"Persona ${0} selected and auto-locked to current chat": "Персона ${0} выбрана и автоматически закреплена за этим чатом",
|
||||
"This persona is only temporarily chosen. Click for more info.": "Данная персона выбрана лишь временно. Нажмите, чтобы узнать больше.",
|
||||
"Temporary Persona": "Временная персона",
|
||||
"A different persona is locked to this chat, or you have a different default persona set. The currently selected persona will only be temporary, and resets on reload. Consider locking this persona to the chat if you want to permanently use it.": "К этому чату уже привязана иная персона, либо у вас выбрана иная персона по-умолчанию. Выбранная в данный момент персона будет временной, и сбросится после перезагрузки. Если хотите всегда использовать её в этом чате, советуем её прикрепить.",
|
||||
"Current Persona: ${0}": "Выбранная персона: ${0}",
|
||||
"Chat persona: ${0}": "Персона для этого чата: ${0}",
|
||||
"Default persona: ${0}": "Персона по умолчанию (стандартная): ${0}",
|
||||
"Persona ${0} is now unlocked from this chat.": "Персона ${0} отвязана от этого чата.",
|
||||
"Persona Unlocked": "Персона отвязана",
|
||||
"Persona ${0} is now unlocked from character ${1}.": "Персона ${0} отвязана от персонажа ${1}.",
|
||||
"Persona Not Found": "Персона не найдена",
|
||||
"Persona Locked": "Персона закреплена",
|
||||
"User persona ${0} is locked to character ${1}${2}": "Персона ${0} прикреплена к персонажу ${1}${2}",
|
||||
"Persona Name Not Set": "У персоны отсутствует имя",
|
||||
"You must bind a name to this persona before you can set a lorebook.": "Перед привязкой лорбука персоне необходимо присвоить имя.",
|
||||
"Default Persona Removed": "Персона по умолчанию снята",
|
||||
"Persona is locked to the current character": "Персона закреплена за текущим персонажем",
|
||||
"Persona is locked to the current chat": "Персона закреплена за текущим чатом",
|
||||
"characters": "перс.",
|
||||
"character": "персонаж",
|
||||
"in this group": "в группе",
|
||||
"Chatting Since": "Первая беседа",
|
||||
"Context": "Контекст",
|
||||
"Response": "Ответ",
|
||||
"Connected": "Подключено",
|
||||
"Enter new background name:": "Введите новое название для фона:",
|
||||
"AI Horde Website": "Сайт AI Horde",
|
||||
"Enable web search": "Включить поиск в Интернете",
|
||||
"Use search capabilities provided by the backend.": "Разрешить использование предоставляемых бэкендом функций поиска.",
|
||||
"Request inline images": "Запрашивать inline-изображения",
|
||||
"Allows the model to return image attachments.": "Разрешить модели отправлять вложения в виде картинок.",
|
||||
"Request inline images_desc_2": "Не совместимо со следующим функционалом: вызов функций, поиск в Интернете, системный промпт.",
|
||||
"Connected Personas": "Связанные персоны",
|
||||
"[Currently no personas connected]": "[Связанных персон нет]",
|
||||
"The following personas are connected to the current character.\n\nClick on a persona to select it for the current character.\nShift + Click to unlink the persona from the character.": "С этим персонажем связаны следующие персоны.\n\nНажмите на персону, чтобы выбрать её для данного персонажа.\nShift + ЛКМ, чтобы её отвязать.",
|
||||
"Persona Connections": "Связи с персонами",
|
||||
"Pooled order": "Если уже давно не отвечали",
|
||||
"Attach a File": "Приложить файл",
|
||||
"Attach a file or image to a current chat.": "Приложить файл или изображение к текущему чату",
|
||||
"Remove the file": "Удалить файл",
|
||||
"Delete the Chat File?": "Удалить чат?",
|
||||
"Forbidden": "Доступ запрещён",
|
||||
"To view your API keys here, set the value of allowKeysExposure to true in config.yaml file and restart the SillyTavern server.": "Чтобы видеть здесь ваши API-ключи, установите параметр allowKeysExposure в config.yaml в положение true, после чего перезапустите сервер SillyTavern.",
|
||||
"Invalid endpoint URL. Requests may fail.": "Некорректный адрес эндпоинта. Запросы могут не проходить.",
|
||||
"How to install extensions?": "Как устанавливать расширения?",
|
||||
"Click the flashing button to install extensions.": "Чтобы их установить, нажмите на мигающую кнопку.",
|
||||
"ext_regex_reasoning_desc": "Содержимое блоков рассуждений. При отмеченной галочке \"Только промпт\" будут также обработаны добавленные в промпт рассуждения.",
|
||||
"Macro in Find Regex": "Макросы в рег. выражении",
|
||||
"Don't substitute": "Не заменять",
|
||||
"Substitute (raw)": "Заменять в \"чистом\" виде",
|
||||
"Substitute (escaped)": "Заменять после экранирования",
|
||||
"ext_regex_other_options_desc": "По умолчанию, расширение вносит изменения в сам файл чата.\nПри включении одной из опций (или обеих), файл чата останется нетронутым, при этом сами изменения по-прежнему будут действовать.",
|
||||
"ext_regex_flags_help": "Нажмите, чтобы узнать больше о флагах в рег. выражениях.",
|
||||
"Applies to all matches": "Заменяет все вхождения",
|
||||
"Applies to the first match": "Заменяет первое вхождение",
|
||||
"Case insensitive": "Не чувствительно к регистру",
|
||||
"Case sensitive": "Чувствительно к регистру",
|
||||
"Find Regex is empty": "Рег. выражение не указано",
|
||||
"Click the button to save it as a file.": "Нажмите на кнопку справа, чтобы сохранить его в файл.",
|
||||
"Export as JSONL": "Экспорт в формате JSONL",
|
||||
"Thought for some time": "Какое-то время заняли размышления",
|
||||
"Thinking...": "В раздумьях...",
|
||||
"Thought for ${0}": "Размышления заняли ${0}",
|
||||
"Hidden reasoning - Add reasoning block": "Рассуждения скрыты - Добавить блок рассуждений",
|
||||
"Add reasoning block": "Добавить блок рассуждений",
|
||||
"Edit reasoning": "Редактировать рассуждения",
|
||||
"Copy reasoning": "Скопировать рассуждения",
|
||||
"Confirm Edit": "Подтвердить",
|
||||
"Remove reasoning": "Удалить рассуждения",
|
||||
"Cancel edit": "Отменить редактирование",
|
||||
"Remove Reasoning": "Удалить рассуждения",
|
||||
"Are you sure you want to clear the reasoning?<br />Visible message contents will stay intact.": "Вы точно хотите удалить блок рассуждений?<br />Основное сообщение останется на месте.",
|
||||
"Reasoning Parse": "Парсинг рассуждений",
|
||||
"Both prefix and suffix must be set in the Reasoning Formatting settings.": "В настройках форматирования рассуждений должны быть заданы префикс и суффикс.",
|
||||
"Invalid return type '${0}', defaulting to 'reasoning'.": "Некорректный возвращаемый тип, используем стандартный 'reasoning'.",
|
||||
"Reasoning already exists.": "Рассуждения уже присутствуют.",
|
||||
"Edit Message": "Редактирование",
|
||||
"Status check bypassed": "Проверка статуса отключена",
|
||||
"Valid": "Работает",
|
||||
"Use Group Scoring": "Использовать Group Scoring",
|
||||
"Only the entries with the most number of key matches will be selected for Inclusion Group filtering": "До групповых фильтров будут допущены только записи с наибольшим кол-вом совпадений",
|
||||
"Can be used to automatically activate Quick Replies": "Используется для автоматической активации быстрых ответов (Quick Replies)",
|
||||
"( None )": "(Отсутствует)",
|
||||
"Tie this entry to specific characters or characters with specific tags": "Привязать запись к опред. персонажам или персонажам с заданными тегами",
|
||||
"Move Entry to Another Lorebook": "Переместить запись в другой лорбук",
|
||||
"There are no other lorebooks to move to.": "Некуда перемещать: не найдено других лорбуков.",
|
||||
"Select Target Lorebook": "Выберите куда переместить",
|
||||
"Move '${0}' to:": "Переместить '${0}' в:",
|
||||
"Please select a target lorebook.": "Выберите лорбук, в который будет перемещена запись.",
|
||||
"Scan depth cannot be negative": "Глубина сканирования не может быть отрицательной",
|
||||
"Scan depth cannot exceed ${0}": "Глубина сканирования не может превышать ${0}",
|
||||
"Select your current Reasoning Template": "Выберите текущий Шаблон рассуждений",
|
||||
"Delete template": "Удалить шаблон",
|
||||
"Reasoning Template": "Шаблон рассуждений",
|
||||
"openai_reasoning_effort_auto": "Авто",
|
||||
"openai_reasoning_effort_minimum": "Минимальные",
|
||||
"openai_reasoning_effort_maximum": "Максимальные",
|
||||
"OpenAI-style options: low, medium, high. Minimum and maximum are aliased to low and high. Auto does not send an effort level.": "OpenAI принимает следующее: low (Поверхностные), medium (Обычные), high (Подробные). Minimum (Минимальные) - то же самое, что low. Maximum (Максимальные) - то же самое, что high. При выборе Auto (Авто) значение не отсылается вообще.",
|
||||
"Allocates a portion of the response length for thinking (low: 10%, medium: 25%, high: 50%). Other options are model-dependent.": "Резервирует часть ответа для рассуждений (Поверхностные: 10% ответа, Обычные: 25%, Подробные: 50%). Остальные значения зависят от конкретной модели.",
|
||||
"xAI Model": "Модель xAI",
|
||||
"xAI API Key": "Ключ от API xAI",
|
||||
"HuggingFace Token": "Токен HuggingFace",
|
||||
"Endpoint URL": "Адрес эндпоинта",
|
||||
"Example: https://****.endpoints.huggingface.cloud": "Пример: https://****.endpoints.huggingface.cloud",
|
||||
"Featherless Model Selection": "Выбор модели из Featherless",
|
||||
"category": "категория",
|
||||
"Top": "Топовые",
|
||||
"All Classes": "Все классы",
|
||||
"Date Asc": "Дата, возрастание",
|
||||
"Date Desc": "Дата, убывание",
|
||||
"Background Image": "Фоновое изображение",
|
||||
"Delete the background?": "Удалить фон?",
|
||||
"Tags_as_Folders_desc": "Чтобы тег отображался как папка, его нужно отметить таковым в меню управления тегами. Нажмите сюда, чтобы открыть его.",
|
||||
"tag_entries": "раз исп.",
|
||||
"Multiple personas are connected to this character.\nSelect a persona to use for this chat.": "К этому персонажу привязано несколько персон.\nВыберите персону, которую хотите использовать в этом чате.",
|
||||
"Select Persona": "Выберите персону",
|
||||
"Completion Object": "Как часть Completion Object",
|
||||
"Move ${0} to:": "Переместить '${0}' в:",
|
||||
"Chat Scenario Override": "Перезапись сценария чата",
|
||||
"Unique to this chat.": "Действует только в рамках текущего чата.",
|
||||
"All group members will use the following scenario text instead of what is specified in their character cards.": "Все участники группы будут использовать этот сценарий вместо того, который указан в карточке.",
|
||||
"Checkpoints inherit the scenario override from their parent, and can be changed individually after that.": "Чекпоинты наследуют сценарий родителя, после отделения его можно менять.",
|
||||
"Delete Tag": "Удалить тег",
|
||||
"Do you want to delete the tag": "Вы точно хотите удалить тег",
|
||||
"If you want to merge all references to this tag into another tag, select it below:": "Если хотите заменить ссылки на этот тег на какой-то другой, то выберите из списка:",
|
||||
"Open Folder (Show all characters even if not selected)": "Открытая папка (показать всех персонажей, включая невыбранных)",
|
||||
"Closed Folder (Hide all characters unless selected)": "Закрытая папка (скрыть всех персонажей, кроме выбранных)",
|
||||
"No Folder": "Не папка",
|
||||
"Show only favorites": "Показать только избранных персонажей",
|
||||
"Show only groups": "Показать только группы",
|
||||
"Show only folders": "Показать только папки",
|
||||
"Manage tags": "Панель управления тегами",
|
||||
"Show Tag List": "Показать список тегов",
|
||||
"Clear all filters": "Сбросить все фильтры",
|
||||
"There are no items to display.": "Отображать абсолютно нечего.",
|
||||
"Characters and groups hidden by filters or closed folders": "Персонажи и группы скрыты настройками фильтров либо закрытыми папками",
|
||||
"Otterly empty": "Всё что можно, всё выдрано",
|
||||
"Here be dragons": "Список настолько очистился, что в него вернулись драконы",
|
||||
"Kiwibunga": "Настолько пусто, что киви прилетела посидеть",
|
||||
"Pump-a-Rum": "Пу-пу-пу",
|
||||
"Croak it": "Только кваканье лягушек и стрёкот сверчков",
|
||||
"${0} character hidden.": "Персонажей скрыто: ${0}.",
|
||||
"${0} characters hidden.": "Персонажей скрыто: ${0}.",
|
||||
"/ page": "/ стр.",
|
||||
"Context Length": "Размер контекста",
|
||||
"Added On": "Добавлена",
|
||||
"Class": "Класс",
|
||||
"Bulk_edit_characters": "Массовое редактирование персонажей\n\nЛКМ, чтобы выделить либо отменить выделение персонажа\nShift+ЛКМ, чтобы массово выделить либо отменить выделение персонажей\nПКМ, чтобы выбрать действие",
|
||||
"Bulk select all characters": "Выбрать всех персонажей",
|
||||
"Duplicate": "Клонировать",
|
||||
"Next page": "След. страница",
|
||||
"Previous page": "Пред. страница",
|
||||
"Group: ${0}": "Группа: ${0}",
|
||||
"You deleted a character/chat and arrived back here for safety reasons! Pick another character!": "Вы удалили персонажа или чат, и мы из соображений безопасности перенесли вас на эту страницу! Выберите другого персонажа!",
|
||||
"Group is empty.": "Группа пуста.",
|
||||
"No characters available": "Персонажей нет",
|
||||
"Choose what to export": "Выберите, что экспортировать",
|
||||
"Text Completion Preset": "Пресет для режима Text Completion",
|
||||
"Update enabled": "Обновить включенные",
|
||||
"Could not connect to API": "Не удалось подключиться к API",
|
||||
"Connected to API": "Соединение с API установлено",
|
||||
"Go back": "Назад"
|
||||
}
|
||||
|
@@ -318,23 +318,23 @@
|
||||
"flag": "прапорцем",
|
||||
"API key (optional)": "Ключ API (необов'язково)",
|
||||
"Server url": "URL-адреса сервера",
|
||||
"Example: 127.0.0.1:5000": "Приклад: 127.0.0.1:5000",
|
||||
"Example: http://127.0.0.1:5000": "Приклад: http://127.0.0.1:5000",
|
||||
"Custom model (optional)": "Власна модель (необов'язково)",
|
||||
"vllm-project/vllm": "vllm-project/vllm (режим оболонки OpenAI API)",
|
||||
"vLLM API key": "Ключ API vLLM",
|
||||
"Example: 127.0.0.1:8000": "Приклад: http://127.0.0.1:8000",
|
||||
"Example: http://127.0.0.1:8000": "Приклад: http://127.0.0.1:8000",
|
||||
"vLLM Model": "Модель vLLM",
|
||||
"PygmalionAI/aphrodite-engine": "PygmalionAI/aphrodite-engine (режим OpenAI API)",
|
||||
"Aphrodite API key": "Ключ API для Aphrodite",
|
||||
"Aphrodite Model": "Модель Афродіта",
|
||||
"ggerganov/llama.cpp": "ggerganov/llama.cpp (сервер виведення)",
|
||||
"Example: 127.0.0.1:8080": "Приклад: 127.0.0.1:8080",
|
||||
"Example: 127.0.0.1:11434": "Приклад: 127.0.0.1:11434",
|
||||
"Example: http://127.0.0.1:8080": "Приклад: http://127.0.0.1:8080",
|
||||
"Example: http://127.0.0.1:11434": "Приклад: http://127.0.0.1:11434",
|
||||
"Ollama Model": "Модель Ollama",
|
||||
"Download": "Завантажити",
|
||||
"Tabby API key": "Ключ API для Tabby",
|
||||
"koboldcpp API key (optional)": "API-ключ koboldcpp (необов’язково)",
|
||||
"Example: 127.0.0.1:5001": "Приклад: 127.0.0.1:5001",
|
||||
"Example: http://127.0.0.1:5001": "Приклад: http://127.0.0.1:5001",
|
||||
"Authorize": "Авторизувати",
|
||||
"Get your OpenRouter API token using OAuth flow. You will be redirected to openrouter.ai": "Отримайте свій токен API OpenRouter за допомогою OAuth. Вас буде перенаправлено на openrouter.ai",
|
||||
"Bypass status check": "Обійти перевірку статусу",
|
||||
@@ -411,7 +411,6 @@
|
||||
"Chat Start": "Початок чату",
|
||||
"Add Chat Start and Example Separator to a list of stopping strings.": "Додайте початок чату та роздільник прикладів до списку рядків зупинки.",
|
||||
"Use as Stop Strings": "Використовувати як рядки зупинки",
|
||||
"context_allow_jailbreak": "Включає втечу з в’язниці в кінці підказки, якщо визначено в картці символів ТА «Переважати символ. Втечу з в'язниці'' увімкнено.\nЦЕ НЕ РЕКОМЕНДУЄТЬСЯ ДЛЯ МОДЕЛЕЙ ЗАВЕРШЕННЯ ТЕКСТУ, МОЖЕ ПРИЗВЕСТИ ДО ПОГАНОГО РЕЗУЛЬТАТУ.",
|
||||
"Allow Jailbreak": "Дозволити втечу з в'язниці",
|
||||
"Context Order": "Порядок контексту",
|
||||
"Summary": "Резюме",
|
||||
|
@@ -318,23 +318,23 @@
|
||||
"flag": "cờ",
|
||||
"API key (optional)": "Key API (tùy chọn)",
|
||||
"Server url": "URL máy chủ",
|
||||
"Example: 127.0.0.1:5000": "Ví dụ: 127.0.0.1:5000",
|
||||
"Example: http://127.0.0.1:5000": "Ví dụ: http://127.0.0.1:5000",
|
||||
"Custom model (optional)": "Model tùy chỉnh (tùy chọn)",
|
||||
"vllm-project/vllm": "vllm-project/vllm (Chế độ trình bao bọc API OpenAI)",
|
||||
"vLLM API key": "Key API vLLM",
|
||||
"Example: 127.0.0.1:8000": "Ví dụ: http://127.0.0.1:8000",
|
||||
"Example: http://127.0.0.1:8000": "Ví dụ: http://127.0.0.1:8000",
|
||||
"vLLM Model": "Model vLLM",
|
||||
"PygmalionAI/aphrodite-engine": "PygmalionAI/aphrodite-engine (Chế độ đóng gói cho Giao diện lập trình ứng dụng OpenAI)",
|
||||
"Aphrodite API key": "Key API Aphrodite",
|
||||
"Aphrodite Model": "Moddel cho Aphrodite",
|
||||
"ggerganov/llama.cpp": "ggerganov/llama.cpp",
|
||||
"Example: 127.0.0.1:8080": "Ví dụ: 127.0.0.1:8080",
|
||||
"Example: 127.0.0.1:11434": "Ví dụ: 127.0.0.1:11434",
|
||||
"Example: http://127.0.0.1:8080": "Ví dụ: http://127.0.0.1:8080",
|
||||
"Example: http://127.0.0.1:11434": "Ví dụ: http://127.0.0.1:11434",
|
||||
"Ollama Model": "Model Ollama",
|
||||
"Download": "Tải xuống",
|
||||
"Tabby API key": "Key API Tabby",
|
||||
"koboldcpp API key (optional)": "Key API koboldcpp (tùy chọn)",
|
||||
"Example: 127.0.0.1:5001": "Ví dụ: 127.0.0.1:5001",
|
||||
"Example: http://127.0.0.1:5001": "Ví dụ: http://127.0.0.1:5001",
|
||||
"Cho phép": "Ủy quyền",
|
||||
"Get your OpenRouter API token using OAuth flow. You will be redirected to openrouter.ai": "Nhận mã thông báo API OpenRouter của bạn bằng cách sử dụng luồng OAuth. Bạn sẽ được chuyển hướng đến openrouter.ai",
|
||||
"Bypass status check": "Bỏ qua check trạng thái",
|
||||
@@ -411,7 +411,6 @@
|
||||
"Chat Start": "Bắt đầu Chat",
|
||||
"Add Chat Start and Example Separator to a list of stopping strings.": "Thêm Bắt đầu trò chuyện và Dấu phân cách ví dụ vào danh sách các chuỗi dừng.",
|
||||
"Use as Stop Strings": "Sử dụng như chuỗi dừng",
|
||||
"context_allow_jailbreak": "Bao gồm Bẻ khóa ở cuối Prompt, nếu được xác định trong thẻ ký tự VÀ ''Thích Char. Bẻ khóa'' được bật.\nĐIỀU NÀY KHÔNG ĐƯỢC KHUYẾN NGHỊ CHO CÁC MÔ HÌNH HOÀN THÀNH VĂN BẢN, CÓ THỂ DẪN ĐẾN ĐẦU RA XẤU.",
|
||||
"Allow Jailbreak": "Cho phép bẻ khóa",
|
||||
"Context Order": "Thứ tự bối cảnh",
|
||||
"Summary": "Bản tóm tắt",
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user