Cohee
ef17702f6a
Merge branch 'staging' into bg-load-improvements
2023-12-15 17:02:10 +02:00
Cohee
6c16b94f9d
Merge pull request #1540 from valadaptive/refactor-device-check
...
Refactor mobile device check
2023-12-15 17:01:32 +02:00
LenAnderson
6337e0bbd6
add /times slash command
2023-12-15 12:38:26 +00:00
LenAnderson
0e55648336
add rounding (round, ceil, floor) to /rand
2023-12-15 12:16:46 +00:00
valadaptive
0ee19d2ede
Set background client-side
2023-12-15 05:45:21 -05:00
Cohee
332ab81524
Merge pull request #1535 from valadaptive/separate-settings-endpoints
...
Move settings endpoints into their own module
2023-12-15 01:49:29 +02:00
valadaptive
66953ceba3
Move device type detection to client side
...
We don't need the server to tell us our user agent--we can get it
ourselves through navigator.userAgent and parse it on the frontend.
I've replaced device-detector-js with Bowser because device-detector-js
is really slow, freezing for up to 500ms to parse a single user agent.
2023-12-14 18:43:59 -05:00
valadaptive
8cfc8ebe66
Remove boolean comparisons to isMobile
...
We know this function will *always* return a boolean, so we don't need
to compare it to one.
2023-12-14 18:37:54 -05:00
valadaptive
fbdfa05f81
Replace usage of getDeviceInfo with isMobile
...
We were using getDeviceInfo to check whether we were on a desktop or a
mobile device. This can be done more simply with isMobile, which means
we can stop exporting getDeviceInfo.
2023-12-14 18:37:54 -05:00
Cohee
bc31f70af3
Merge pull request #1536 from LenAnderson/rand-slash-command
...
add /rand slash command
2023-12-15 01:25:47 +02:00
Cohee
9075399932
White-space pre => pre-line
2023-12-15 01:22:24 +02:00
Cohee
86b3dcdca3
Fix lint and validation
2023-12-15 01:14:22 +02:00
Cohee
f489a18f0b
Merge branch 'staging' into qr-crud-slash-commands
2023-12-15 00:42:41 +02:00
LenAnderson
aa1dfa8a5f
add /rand slash command
2023-12-14 22:26:24 +00:00
valadaptive
769cc0a78f
Rename settings API endpoints
2023-12-14 16:47:03 -05:00
Cohee
f93e40b1d3
Merge pull request #1533 from kingbased/gemini
...
Better Google Makersuite/AI adapter + Gemini Pro & Vision Support & tokenizers
2023-12-14 22:42:30 +02:00
Cohee
6406f76c7d
Compress too large images for Google captions
2023-12-14 22:28:22 +02:00
Cohee
cde9903fcb
Fix Bison models
2023-12-14 22:18:34 +02:00
LenAnderson
b5b85724c7
add slash command to update existing QR preset
2023-12-14 19:08:27 +00:00
Cohee
2045e414d1
lint: format fix
2023-12-14 20:57:43 +02:00
LenAnderson
0519629b70
fix autocomplete help text
2023-12-14 18:54:42 +00:00
LenAnderson
dbf28fce47
cleanup autocomplete help text
2023-12-14 18:52:23 +00:00
LenAnderson
5e3584d5ed
add slash command to create QR preset
2023-12-14 18:51:55 +00:00
Cohee
bb8b8f9386
Fix sending PNG/WEBP to Google captioning
2023-12-14 20:36:31 +02:00
LenAnderson
90ec6b9159
add slash commands for context menus
2023-12-14 18:25:19 +00:00
LenAnderson
3e44e4240c
handle escapes for pipes and curcly brackets
2023-12-14 18:09:33 +00:00
Cohee
a6bb754567
Fix API key access
2023-12-14 19:56:43 +02:00
Cohee
6bb894286e
Migrate palm source to makersuite
2023-12-14 19:54:31 +02:00
Cohee
68bb616be3
Merge branch 'staging' into cleanup-sampler-order
2023-12-14 18:32:30 +02:00
LenAnderson
5e61ff8d05
fix help string
2023-12-14 16:11:03 +00:00
based
5071b9a369
webstorm moment
2023-12-15 02:01:42 +10:00
LenAnderson
372ef2172e
add slash commands to crud QRs
2023-12-14 16:00:38 +00:00
based
60880cfd4d
merge
2023-12-15 01:39:12 +10:00
based
698850b514
Merge remote-tracking branch 'fork/staging' into gemini
...
# Conflicts:
# server.js
# src/endpoints/prompt-converters.js
# src/endpoints/tokenizers.js
2023-12-15 01:35:17 +10:00
based
d5bcd96eef
message inlining vision support
2023-12-15 01:28:54 +10:00
based
178b07f414
cleaned up a little
2023-12-14 23:18:56 +10:00
based
0b7c1a98cd
added google vision caption support
2023-12-14 22:37:53 +10:00
based
ca87f29771
added streaming for google models
2023-12-14 21:03:41 +10:00
valadaptive
0f25d51a53
Send Kobold sampler order as an array
2023-12-14 02:03:36 -05:00
based
3e82a7d439
tokenizer changes and fixes. + a toggle
2023-12-14 16:31:08 +10:00
based
e26159c00d
refactor and rework palm request to work with the 'content' format and added an endpoint for googles tokenizer
2023-12-14 15:49:50 +10:00
based
be396991de
finish implementing ui changes for google models
2023-12-14 11:53:26 +10:00
based
69e24c9686
change palm naming in UI
2023-12-14 11:14:41 +10:00
valadaptive
22e048b5af
Rename generate_altscale endpoint
2023-12-13 18:53:46 -05:00
valadaptive
92bd766bcb
Rename chat completions endpoints
...
OpenAI calls this the "Chat Completions API", in contrast to their
previous "Text Completions API", so that's what I'm naming it; both
because other services besides OpenAI implement it, and to avoid
confusion with the existing /api/openai route used for OpenAI extras.
2023-12-13 18:52:08 -05:00
Cohee
0cd92f13b4
Merge branch 'staging' into separate-kobold-endpoints
2023-12-14 01:33:36 +02:00
Cohee
cebd6e9e0f
Add API token ids from KoboldCpp
2023-12-14 01:28:18 +02:00
valadaptive
274605a07c
Rename Kobold-related endpoints
2023-12-12 16:42:12 -05:00
valadaptive
5b3c96df50
Rename /textgenerationwebui endpoint
...
I'd like to migrate over to using "textgen" to mean text-generation APIs
in general, so I've renamed the /textgenerationwebui/* endpoints to
/backends/text-completions/*.
2023-12-12 16:40:14 -05:00
Cohee
83f2c1a8ed
#1524 Add FPS limiter to streamed rendering
2023-12-12 22:11:23 +02:00
Cohee
9160de7714
Run macros on impersonation prompt
2023-12-12 19:24:32 +02:00
Cohee
9176f46caf
Add /preset command
2023-12-12 19:14:17 +02:00
Cohee
a9a05b17b9
Merge pull request #1517 from LenAnderson/firstIncludedMessageId
...
Add macro for first included message in context
2023-12-12 01:24:57 +02:00
Cohee
07fecacce2
Add to macro help
2023-12-12 01:24:21 +02:00
Cohee
f1ed60953a
Merge pull request #1516 from LenAnderson/slash-command-for-getTokenCount
...
Add /tokens slash command to call getTokenCount
2023-12-12 01:19:24 +02:00
Cohee
299749a4e7
Add prerequisites for websearch extension
2023-12-12 01:08:47 +02:00
LenAnderson
69f90a0b30
add /tokens slash command to call getTokenCount
2023-12-11 22:51:07 +00:00
Cohee
1b11ddc26a
Add vector storage to WI scanning
2023-12-11 22:47:26 +02:00
Cohee
e713021737
Merge pull request #1511 from valadaptive/more-kobold-cleanups
...
More Kobold cleanups
2023-12-11 20:59:49 +02:00
Cohee
27782b2f83
Fix united version comparison
2023-12-11 20:44:29 +02:00
Cohee
7482a75bbd
Merge pull request #1493 from valadaptive/generate-cleanups
...
Clean up Generate(), part 1
2023-12-11 20:21:32 +02:00
Cohee
d38a4dc6c1
Fix abort group generation
2023-12-11 20:03:31 +02:00
Cohee
0302686a96
Return from Generate if calling circuit breaker
2023-12-11 19:07:33 +02:00
Cohee
e96fb0c1b5
Fix group wrapper not resolving to a valid text
2023-12-11 19:00:42 +02:00
Cohee
0fcf8fd491
Typing indicator fixed
2023-12-11 18:23:00 +02:00
Cohee
17105568f4
Reduce hard coded anim. durations
2023-12-11 16:23:21 +02:00
Cohee
e7c2975ab0
Fix adv.defs overlap with past chats. Close CFG with Escape
2023-12-11 15:39:58 +02:00
Cohee
c6bd3ef255
Fix /sys continue in groups
2023-12-11 15:08:20 +02:00
valadaptive
42d4ffe5e8
Remove Kobold "canUse(...)" functions
...
Replace them all with a versionCompare helper function which we can call
directly with the minimum version constants.
2023-12-10 20:39:21 -05:00
valadaptive
d33cb0d8d1
Clarify getstatus API
...
Instead of "version" and "koboldVersion", have "koboldUnitedVersion" and
"koboldCppVersion", the latter of which is null if we're not connected
to KoboldCpp.
2023-12-10 20:34:11 -05:00
Cohee
7450112e9b
Unbust user continue in group chats
2023-12-11 00:02:49 +02:00
Cohee
05b08f1ce2
Don't await delay promise
2023-12-10 21:51:16 +02:00
Cohee
2e50efc35c
Limit waiting for TTS to init to 1 second on chat change
2023-12-10 21:50:52 +02:00
Cohee
420d186823
Add reduced motion toggle
2023-12-10 20:02:25 +02:00
valadaptive
33f969f097
Have Generate() return a promise
...
Generate(), being async, now returns a promise-within-a-promise.
If called with `let p = await Generate(...)`, it'll wait for generation
to *start*. If you then `await p`, you'll wait for generation to
*finish*. This makes it much easier to tell exactly when generation's
done. generateGroupWrapper has been similarly modified.
2023-12-10 12:30:10 -05:00
Cohee
13e016f3e5
Merge pull request #1508 from LenAnderson/tts-skip-codeblocks-option
...
add TTS option to skip codeblock narration
2023-12-10 19:28:16 +02:00
valadaptive
03884b29ad
Always call resolve in Generate()
...
This lets us get rid of the janky hack in group-chats to tell when a
message is done generating.
2023-12-10 12:26:30 -05:00
valadaptive
f5d2e50f5e
Remove isGenerationAborted
...
Just check the AbortSignal.
2023-12-10 12:24:18 -05:00
Cohee
dbd52a7994
Merge pull request #1482 from valadaptive/sse-stream
...
Refactor server-sent events parsing
2023-12-10 18:32:19 +02:00
LenAnderson
bf88829b03
add option to skip codeblock narration
2023-12-10 16:32:10 +00:00
Cohee
af89cfa870
Code clean-up
2023-12-10 16:48:25 +02:00
Cohee
5054de247b
Merge branch 'staging' into qr-editor-tab-support
2023-12-10 16:36:28 +02:00
Cohee
9acef0fae6
Horde doesn't support API tokenizers
2023-12-10 16:21:06 +02:00
Cohee
f54bf99006
Fix token ids not displaying in "API_CURRENT" mode for TextGen
2023-12-10 16:09:00 +02:00
Cohee
6957d9e7cf
Fix display names of Best match tokenizers
2023-12-10 16:03:25 +02:00
Cohee
6e5eea5dba
Unbreak previously selected API tokenizer in dropdown
2023-12-10 15:56:38 +02:00
Cohee
d5140142fb
Merge branch 'staging' into tokenizers-cleanup
2023-12-10 15:51:15 +02:00
Cohee
5f1683f43a
More input padding and stricter sanitation
2023-12-10 15:07:39 +02:00
valadaptive
0201a0260c
Default event type to 'message' if it's empty
...
Added to the upstream test suite. Matches the spec.
2023-12-10 04:45:10 -05:00
valadaptive
55976e61a3
Fix tokenizer override
...
I searched for all users of tokenizers.API, but missed that the menu
converts the numerical select values directly to enum values. I've used
the special tokenizer value 98 to represent "the tokenizer API for
whichever backend we're currently using".
2023-12-09 23:57:21 -05:00
valadaptive
0fce475a95
Implement random sort with a shuffle
...
Sorting with a random comparator doesn't actually shuffle an array.
Depending on the sorting algorithm used, there will be a bias to the
shuffle (see https://bost.ocks.org/mike/shuffle/compare.html ).
If you open that link in Firefox, the bias will be especially bad.
Instead of implementing "random" character sort using a random sort
comparator, use the shuffle function instead.
2023-12-09 22:52:38 -05:00
valadaptive
014416546c
Add padding once in getTokenCount
...
This means we don't have to pass the "padding" parameter into every
function so they can add the padding themselves--we can do it in just
one place instead.
2023-12-09 20:53:16 -05:00
valadaptive
2f2cd197cc
Clean up tokenizer API code
...
Store the URLs for each tokenizer's action in one place at the top of
the file, instead of in a bunch of switch-cases. The URLs for the
textgen and Kobold APIs don't change and hence don't need to be
function arguments.
2023-12-09 20:48:41 -05:00
valadaptive
09465fbb97
Inline most get(...)TokenizerParams calls
...
For everything except textgenerationwebui, these params are now simple
enough that it doesn't make sense for them to be in a separate function.
2023-12-09 20:35:11 -05:00
valadaptive
30502ac949
Split up Kobold and textgenerationwebui endpoints
...
The endpoint was one big if/else statement that did two entirely
different things depending on the value of main_api. It makes more sense
for those to be two separate endpoints.
2023-12-09 20:26:24 -05:00
valadaptive
7486ab3886
Separate textgen and Kobold tokenization APIs
...
They function differently and have different logic and API parameters,
so it makes sense to count them as two different APIs. Kobold's API
doesn't return tokens, so it can only be used to count them.
There's still a lot of duplicate code which I will clean up in the
following commits.
2023-12-09 20:24:56 -05:00
valadaptive
18177c147d
Separate remote and server tokenization code paths
...
This lets us remove extraneous API params from paths where they aren't
needed.
2023-12-09 20:08:48 -05:00
valadaptive
ddd73a204a
Remove "remote" language from tokenizer functions
...
We'll be making a distinction between tokenizing *on* the server itself,
and tokenizing via the server having the AI service do it. It makes more
sense to use the term "remote" for the latter.
2023-12-09 19:49:22 -05:00
valadaptive
8bad059a62
Rename /tokenize_via_api endpoint
...
No redirect for this since I don't expect any extensions to be calling this directly.
2023-12-09 19:29:24 -05:00
LenAnderson
a3ec8d709d
add support for tab and shift-tab in QR editor
2023-12-09 17:56:36 +00:00