PygmalionAI / gradio-ui

Prototype UI for chatting with the Pygmalion models.
GNU Affero General Public License v3.0
227 stars 67 forks source link

Feature Request: User description. #21

Closed ArkyMosuke closed 1 year ago

ArkyMosuke commented 1 year ago

Not sure if this is an appropriate place to put this, but it would be nice if there was a user description box that the AI could use to always reference the user. To avoid spontaneous changes to how the AI describes the user.

Or if World info will cover that when implemented, just let me me know and I'll close this.

0x000011b commented 1 year ago

Not sure if this is an appropriate place to put this

Kinda-sorta? Involves training of the model itself so not quite just a UI change, but there's no better repo for it at the moment so this works.

[...] it would be nice if there was a user description box that the AI could use to always reference the user. To avoid spontaneous changes to how the AI describes the user.

Any concrete examples? In the meantime, you could try adding <USER> is (like this and this and that) in the character persona or the scenario fields to see if that helps. The vast majority of our training data only has persona descriptions for the bot, so I'm not sure how effective it'd be to try and add a field to describe the user.

ArkyMosuke commented 1 year ago

I'll give it a try and update here.

ArkyMosuke commented 1 year ago

The idea in persona actually does work. I suppose that's a decent workaround for the time being, until world info is integrated. Thank you for the help. I do have a request, any chance we can get a detailed list of ways to refer to users, characters, and ways to group descriptors in order to help achieve fuller customizations?

0x000011b commented 1 year ago

I think as of now, <USER> is the only relevant special token to be used - and possibly You: in the example dialogues. <BOT> was used while training too but if you're giving the character a name, it's better to refer to it by name since that's how the text will be fed into the model.

The data also contains a bunch of random special tokens that weren't specifically handled ({{char}} , {{random_user_X}} where X is a number), but I don't think using them is gonna yield any noticeable results.

ArkyMosuke commented 1 year ago

Okay, I grabbed a screenie of this for reference later. Thank you for being so awesome and working to make this possible for us. I wish I was useful, sadly I'm a pleb. Can't wait to see the memory and world info working, that's going to be sweet. I'll close this, thank you again!

ArkyMosuke commented 1 year ago

I think as of now, <USER> is the only relevant special token to be used - and possibly You: in the example dialogues. <BOT> was used while training too but if you're giving the character a name, it's better to refer to it by name since that's how the text will be fed into the model.

The data also contains a bunch of random special tokens that weren't specifically handled ({{char}} , {{random_user_X}} where X is a number), but I don't think using them is gonna yield any noticeable results.

I'm hesitant to open the issue back up, but I have noticed that rarely, after often about 10-20 regenerates when using in the Character Persona, I manage to get the bot to generate indefinitely. I'm unsure if it's because of luck or what, but it only seems to happen on rare-ish occasions.

Edited: Nevermind, I checked the terminal log and it's because I was running gradio with 2048 max token length, due to a modification I made. Will run at 1024 from now on.