LostRuins / koboldcpp

Run GGUF models easily with a KoboldAI UI. One File. Zero Install.
https://github.com/lostruins/koboldcpp
GNU Affero General Public License v3.0
4.66k stars 334 forks source link

Update klite.embd #719

Closed illtellyoulater closed 5 months ago

illtellyoulater commented 5 months ago

Added AllTalk support, a more recent and better performing XTTSv2 implementation supporting streaming mode, narration mode, deep-speed, multiple inference endpoints and many more features - https://github.com/erew123/alltalk_tts

Implemented new code for:

Compatibility with legacy XTTS mode (and legacy XTTS code) has been kept throughout all changed parts. The only missing part in order to enable full support for both XTTS implementations, is in the request payload sending block, where a simple condition should be added to to select the correct payload based on the selected XTTS implementation (but we currently lack UI setting for that as well, so...)

Other than that, the only other changes this commit implements consist in a couple of variable renaming for consistency and some minor CSS typo fixes.

LostRuins commented 5 months ago

Hi, thanks for this PR. But are all the fields necessary? I feel like it's almost like an entirely different endpoint rather than an XTTS drop in, especially if its not even expecting a JSON payload? Let's follow up at https://github.com/erew123/alltalk_tts/issues/88

daswer123 commented 5 months ago

Hi, I am the author of the project https://github.com/daswer123/xtts-api-server , as I understand you got mistaken and meant @erew123? :)

erew123 commented 5 months ago

Hi @daswer123 Hi Danil thanks for the heads up! Hope you are keeping well! :)

@illtellyoulater Is this a question for me? Im suspecting it may more be a question for LostRuins. Ive only had a quick glance at the code youve written/changed but I suspect that "streaming" in this case may be something to do with how Kobold is handing the audio return to play in the webpage.

LostRuins commented 5 months ago

I am refactoring this PR, I will probably split the implementation between AllTalk and XTTS as they are too different, rather than try to fit both APIs together. The user will pick which one they wish to use.

LostRuins commented 5 months ago

Hi @illtellyoulater, I have added tentative AllTalk support as a separate endpoint based on this PR.

As I didn't manage to actually get AllTalk running on colab, this has not been properly tested. It's now added as a separate option from the XTTS-API-Server which functions the same as before.

Could you select the AllTalk option in https://lite.koboldai.net to do a quick test, and see if it works fine for you? Thanks!

image

btw, in future, all kobold lite development happens at the lite repo at https://github.com/LostRuins/lite.koboldai.net so PRs should be directed there.

cc: @erew123

LostRuins commented 5 months ago

AllTalk implementation is in, please test

erew123 commented 5 months ago

Hi @illtellyoulater

I'm back from travelling (for now) did you manage to test this @illtellyoulater or is there anything my help is needed on this?

Thanks

LostRuins commented 5 months ago

I did not manage to test this, however, it is merged based on the fields in the PR. If someone could test it, would be good.

If I can get it running on colab i'd be happy to test it.

erew123 commented 5 months ago

Hi @LostRuins, hope you are well!

I've downloaded a local copy of Kobold and given it a test both in the settings page and the main chat interface, both seem to be working.

Just for reference the message highlighted in grey (as below) is fine. That's normal when using the streaming method and adjusting the model to streaming only.

image

So as a base configuration it seems absolutely fine for the streaming mode.

If somewhere down the line people wanted to use AllTalk's narrator function, thats a different API call and a few extra things to check (depending on what Kobold may filter from the text it sends over).

All in though, it works and cant see an issue!

Ill have another shot at getting the colab working at some point!

All the best to you both @LostRuins @illtellyoulater

Thanks

LostRuins commented 5 months ago

Oh that is awesome! Glad to know the integration worked perfectly :) thanks for testing

LostRuins commented 5 months ago

Does the audio file get decoded and played correctly?

erew123 commented 5 months ago

As its streaming its not actually generating a wav file as such, just an audio wav file blob that's its firing over as quickly as possible.

Taking a quick look at how its interacting it seems that Kobold is playing that back within the browser and handling the playback perfectly. It seems good to me! :)

illtellyoulater commented 5 months ago

Got caught up with something else sorry, but I'm glad to see the progresses! Will give it a try as soon as possible! :+1: Good job guys!