Almaumbria

joined 5 days ago
[–] Almaumbria@lemmy.world 1 points 5 days ago

Forgive me, but I believe I have explained the situation to you in a rather thorough manner, and fail to see a way to make it any more clear.

I am not arguing that the specific generator you're using is working correctly at the present moment; I am letting you know that this is temporary. Do not take my word for it: click the little 'edit' button to bring up the source code and tweak the prompts yourself. The bulk of the work is fairly straightforward: replacing rules designed to deal with the old model's quirks for rules that work for the new model.

You will have to experiment a fair bit with writing the entire prompt from scratch, and for doing this, the AI Text Generator is a tool I cannot recommend enough. There are multiple ways to structure a complex prompt, but from my own testing, I've found that a very good way is to break it into sections, providing a role for the model, followed by context data, then optionally an input, and then a task followed by a list of contraints.

As an example, here's a prompt I've been using for generating lorebook entries from narration passages:

# Role:

You are a cultured English linguist, novelist and dramaturge working on a theatrical play. Maintain internal consistency within the story, and prioritize pacing and plot momentum over minor details. Currently, you are writing brief lorebook entries for the play's world and characters. Such an entry is a timeless observation, peculiarity, key fact and/or theme, or an otherwise noteworthy piece of information about the world or it's characters.

***

# Lorebook:

<paste existing lore here or leave blank>

***

# INPUT:

<paste some passages here>

***

# Task:

Condense INPUT into compact single-paragraph lorebook entries, extracting solely novel information. Each entry must be self-contained: Provide enough surrounding context such that it would make sense if read on its own, leaving little room for ambiguity. Entries must also be timeless: they must still be true if read later on, so phrase them as referencing a past event. Each entry must be no more than 3 sentences; abridge details as needed. Utilize names rather than pronouns when referencing characters or locations.

Format each entry like this: `[[<Title> (<search keywords/tags>)]]: <content>.`

Output as many entries as needed.

***

# Constraints:

- Do not use the em dash ("–") symbol. Replace the em dash symbol with either of: comma (","), colon (":"), semicolon (";"), double hyphen ("--"), ellipsis ("..."), period ("."), or wrap the text between parenthesis.
- Avoid rehashing phrases and verbal constructs. If a line or sentiment echoes a previous one, either in content or structure, then rephrase or omit it. Minimize repetition to keep the text fluid and interesting.
- Avoid hyperfixating on trivialities; some information is merely there for flavor or as backdrop, and doesn't need over-explaining nor over-description. If a detail doesn’t advance character arcs or stakes, either ignore it or summarize it in under 10 words.

The no-em-dash rule doesn't work 100% of the time, but other than that it's actually pretty fun: you can just write away for a few paragraphs, and it'll output you some memories/lore, which you can then paste into the Lorebook section, and repeat the process. I've been using variations of this method to generate things like character descriptions, factions, locations, or just to make it rapid fire minor lore details that "fill in the blanks" between existing entries for realism.

You can take that template and rework it to your liking, even build new generators based off of that. Go ahead: the new model lets you do some extremely cool things, the difference for prompt engineering is simply night and day.

Now, this labor may be entirely outside of your skillset, and that's alright. However, if that's indeed the case, then I'd humbly request you give the maintainer(s) the time to do it for you before calling for a rollback.

That is all.

[–] Almaumbria@lemmy.world 2 points 5 days ago (2 children)

Please, pay close attention:

But you have to understand that generators using old prompts will more than likely not work out of the box, you have to tinker with them to get the results you want.

That is the last sentence in the text you quoted, emphasis mine.

The argument: prompts need to be rewritten to make full use of the new model's capabilities, and that takes time as there's a lot of trial and error involved. After (not before) such a rework is done, the results become much better.

This is not speculation on my part: I've been doing exactly that, tweaking old code, and I'm merely reporting my findings. How do you know the maintainer of AI Story Generator is not in the middle of a similar rework?

In the famous words of the old model: let's not get ahead of ourselves. Patience will be more rewarding than a rollback, this I can assure you.

[–] Almaumbria@lemmy.world 1 points 5 days ago (11 children)

Hi! :)

Just commenting to clarify that the 'break bad patterns' bug is unrelated to the new model: this behavior is actually caused by the prompt used by AI character chat when generating the bot reply -- it always contains the phrase "Remember the break bad patterns rule", in reference to an item in the default writing instructions. IIRC, and in case it hasn't yet been fixed, this line is added to the end of the prompt somewhere deep in the getBotReply function; I forked ACC and can confirm that editing it out removed the issue.

Anyway, there are similar bugs in other generators, and I suspect most of them are also due to the prompt having similar instructions that where originally meant to mitigate quirks of the old model, but now only cause problems.

More on-topic, I've been testing the new model a lot, writing prompts for it from scratch, and the results are amazing: it can consistently understand complex, structured instructions, so one can more reliably make little 'programs' with it, not just narrative stuff. But you have to understand that generators using old prompts will more than likely not work out of the box, you have to tinker with them to get the results you want.

I really, really wish the new model stays. It has opened up a lot of possibilities for making new generators, and a rollback would really suck for me as a developer. I'm specifically hacking away at ACC to put together a new tool for narrative, world-building and roleplay; it's working fantastic, so I get a feeling of absolute dread each time I see posts like this! Please, don't take it away from me, I only need some more time! ;)

Anyway, just wanted to share these bits. Cheers!