latitudegames / AIDungeon

Infinite adventures await!
http://www.aidungeon.io/
MIT License
3.18k stars 556 forks source link

[BUG] AI keeps saying someone else says what I say. #201

Open RyushoYosei opened 4 years ago

RyushoYosei commented 4 years ago

🐛 Bug Report

Describe the bug THe Generator, whenever I say something to someone in the game, the game says that they say it, as well as potentially saying they have the same name I do.

How to Reproduce

  1. Find an NPC of any kind
  2. enter something like >Say "Don't bother me, I'm looking for something."
  3. The AI when it generates the next bit of text, will normally say that one of the NPC's says "Don't bother me, I'm looking for something."

Expected behavior I expect it to act as if I said "DOn't bother me, I'm looking for something." And reply to me,

Screenshots If applicable, add screenshots to help explain your problem.

Additional context

ben-bay commented 4 years ago

The struggle is real. Thanks for making this an issue, will use it if we can figure out how to overcome this.

RyushoYosei commented 4 years ago

Your welcome, This recently was just driving me batty, as I had to keep going from rather then putting in Say "Whatever I want to say." I just had to put, in to tell/ask them something, and let the ai speak for me however it thought I might of wanted, rather then how I actually wanted.

Akababa commented 4 years ago

If you write You say "hi". as a sentence after the action line > it's a bit more reliable. I implemented this on my fork

Sporking commented 4 years ago

I've had reasonably good results with forms like these:

> !"This is a test," you say. > !"What do you mean?" you ask. > !"I hate parmesan cheese!" you yell.

and so forth. (Note the leading '!' characters to stop AI Dungeon from prepending "You say" to the beginning.) My rationale for these forms is that they remind the AI who just spoke (since otherwise it may not be able to tell), and it's also a more natural form of dialogue that would be more likely to appear within a book or online story, for example, and therefore is more likely to match the forms often encountered in the AI's training data. Books wouldn't typically contain text like 'You say "Why?"' for instance, since 'You say' is an unnatural way to indicate that you are about to ask a question. It's even a very uncommon way to prefix making a statement.

Akababa commented 4 years ago

@Sporking good idea, we could make that into a PR.