Open claytondukes opened 7 months ago
Awesome! I'll dig into this soon, how are emojis interpreted by DALLE?
Same way
I meant more so, I'm curious if using emoji degrades performance of DALL-E, do you have any insight into this?
I’ve noticed nothing like that. If anything, I would bet it’s faster.
It’s worth noting that it doesn’t always produce emojis. It’s just some internal communication language that only the AI understands.
I noticed today that I pasted the wrong compression, that was from a GPT app that I was messing with. For just the compression part you need to remove the "you are GPTgz" portion, otherwise, the compressed prompt won't use the right context. Update (this should be all you need to do before sending to the API).
Compress the provided text into a single paragraph, ensuring that you (AI) can reconstruct it with 100% accuracy to the original intent. This compressed text is for internal use and does not need to be human-readable. Utilize any non-standard protocols, including language-mixing, abbreviations, slang, technical jargon, Unicode, Emoji, or any other unconventional methods, as long as the result is a lossless compression of the original text. The compressed text should maintain its integrity, particularly when pasted into a new or different context. To achieve this, include a contextual cue or introductory sentence that aids in accurate interpretation. Prioritize compression, losslessness, and utilization of non-standard protocols.
Update to my update ;)
I was working on testing this better today and wrote a small script to put the output into langchain so that I could verify that the tokens were fewer. I updated my prompt to get it down (about 50% less in my test):
Condense the following text into a minimal, GPT-readable format, ensuring complete fidelity to the original meaning. Use any efficient encoding methods (e.g., shorthand, technical symbols, mixed language). The output should be robust against context shifts, ideally starting with a clarifying header. Aim for maximum compression with absolute losslessness.
What I didn't realize before was that the emoji use, while shorter to the human eye, was taking more tokens. So this prompt works a lot better.
@Kav-K, I was searching to see if anyone else had tried to do "compression" like mine and found a paper that Shapiro wrote. I ran a lot of tests and came to the conclusion that a mixed use might be beneficial.
Mine uses fewer tokens on shorter stuff (like prompts) SPR is better at decompressing longer text (results in better similarity to the original) I tried inputting a bedtime story I did for my daughter with about 36k characters. Mine compressed it better, but also lost more fidelity during decompression. So maybe you can use a mix? e.g.: For prompts/summarizing smaller input like up to 3 paragraphs or so, use mine. For longer inputs, I'd try that SPR method.
I installed your bot today and noticed that when I tried to use
/draw
it said I can't have more than 100 characters.I've been fine tuning my "compress this" prompt for a long time and it works surprisingly well. When I have long prompt or even sending long text to the gpt api, I will compress it using some form of the following:
(then, of course, include the text you want compressed)
For example:
Produces:
🗜️GPTgz🧬TxtCmprs📜: 🎨DiabloImmortal👹char, 🖼️sq. {USER}📛➕🎨, 🚫📝➡️. 🌌Gothic/fiery🔥dungeon, 📸CanonEOS5DMkIV💡. 🖌️dark🌒fantasy, 🎨scheme🎭. 🤖DALL-E👁️🗝️: 1⃣🚫"PhotoRealistic"🔍, 2⃣📷meta🎚️(ISO,🔍,📸speed), 3⃣👨🎨name🚫🔇, 4⃣🎨style🔎(tilt shift👁️🎢). 🎯Realistic🌌📸.
Typically, I will include further instructions or clarification as plain text. In the case of the above, I would paste the output, then add:
You will now ask the {USER} for their {USER} name, character class, and gender and then proceed to generate image based on their response.