The lore entries (and memories) are 'embedded' and are represented with an array of floats. The search queries are also embedded, and both search query and the entries are computed with a dot product to get the score. If the search query generated have the other character's name, it might score the lore entries from that character more likely.
Here's a guide from a fellow user from Reddit that might be useful.
Upon skimming the posts, I think the TLDR of that is to 'write' how you want the character to reply (in dialog form and inner thoughts/decision making etc) on their Role Description, then add the 'character descriptors' after those dialog/inner thoughts. Topmost info would have more weight than those at the bottom, based on their findings.
Does this mean that it ignores Lore URLs in other characters’ Lore entry box (won’t load them), or appends those URLs as well into the main character’s Lore?
It ignores the Lore URLs in the invited characters.
However, my best understanding of how Lore is used is that when a user message is formed and sent to the AI LLM, the ACC will (always? occasionally?) select one (or more?) Lore entries at random to help flavor the AI response.
- The AI generates a query, three information searching sentences, that would be used for the Lore/Memories search.
- The query is then compared to the information in the list of Lore/Memories.
- Most-related lore/memories (those that exceeded the 'score' threshold) are used for generating the response.
- Best way to monitor it is by clicking the brain icon on the bottom right of the message bubble to see which lore/memories were used.
- Another way is to open Dev Tools before the prompting the AI and the query and scores and lores/memories used are logged in the console.
I think this means that if other characters’ Lore is mixed in to a single “pool” of Lore entries under the main character, then for a Tim character reply, the Lore sent over to the LLM could be random picks of from the pool that contains “Mike” lore and “Tim” lore, etc. In other words, flavoring the “Tim” reply with unrelated Lore facts about Mike.
Yes. The best way is to relate which character is which using proper nouns and seldom use pronouns when referring to someone. E.g. "He is his best friend" compared to "Tim is Mike's best friend".
One of the quirks in Perchance is that [listname]
isn't a reference to the variable, meaning it doesn't return the whole list, it would only return a random item from that list.
Thus, on the line output.selectOne.selectUnique(1,2,3)
here is what happens:
output.selectOne
would select an item from theoutput
. For example, it would return[Object1]
since the dropdown is set to 'Zero'.- Doing
.selectUnique(1,2,3)
would randomize the number of selection, however since the returned item is[Object1]
and notObject1
itself, it would not return unique values since you only have[Object1]
as the item and not allGood, hood, Bood
.
Best thing you could do is to create a variable and set that variable to the list to be used like so:
output
[list = Object1] ^[Level == "Zero"]
[list = Object2] ^[Level == "One"]
[list = Object3] ^[Level == "Two"]
GroupSelectPrompt
You find [pack] [output.evaluateItem, list.selectUnique(1,2,3).joinItems(" and ")]
We use output.evaluateItem
to 'run' the function in the square bracket on the selected item, which would set the value of list
to the actual list that we need. Then we use the list
and use .selectUnique
to it to get the unique items.
Another way is to use the random-select-plugin like so:
GroupSelectPrompt
You find [pack] [select(Object1, Object2, Object3, null, Level == "Zero", Level == "One", Level == "Two").selectUnique(1,2,3).joinItems(" and ")]
Each perchance page has its own local storage, which is by having a different domain. See this previous post. Then, each page is embedded on the main page, which is the top frame. By going to the Dev Console and setting the local storage there, it would be reflected on the top frame.
You can test by adding this to the HTML panel (bottom right panel after clicking 'edit') then clicking 'reload' on the bottom of the preview:
<script>
localStorage.setItem("TEST", "a")
</script>
On one page and another, and it would be reflected to their respective domains on the local storage, instead of the top domain perchance.
I guess the purpose of saving the data is for ease of access and convenience for sharing instead of downloading the data - clicking import - selecting import file - confirm. Maybe the solution is to just add a 'download' button instead of creating a share link so the data is downloaded locally, but again, the steps of download - import - select file - confirm might be inconvenient for others.
As long as you don't share the link or the file id. No one should be able to access the data from it.
@perchance - I'll ping the dev again just in case.
Is it using the t2i-framework-plugin-v2
? sadly, you can't group the options there. You could probably create a dummy value to separate each options.
Hi, I think i've answered a similar question in the https://perchance.org/hub#learn, but I'll reiterate here a way of creating an importable stylesheet perchance generator: perchance.org/importable-stylesheet-template
If you are trying to embed a Perchance generator that is powered by AI, it isn't possible since there is no location for the Advertisement to be placed that is for sustaining AI models. Which is why it is only set to same origin i.e. only on the Perchance domain.
Local storage is origin specific, meaning the local storage in /ai-text-to-image-generator
is different from /ai-character-chat
and there isn't a way to pass data from one local storage to another. There are ways to pass data, but it involves using iframes and post messages.
Its working fine on my end. Can you show what is the error on the bottom right? Did you clear your browser data/cache recently? If you open the Developer Tools (F12 or Ctrl+Shift+J), then navigate to the 'Storage' or 'Application' then 'IndexedDB' do you see content on the 'chatbot-ui-v1'?
Please also check this somewhat related thread: https://lemmy.world/post/22528003
@[email protected] - I'll ping the dev for other insights. But here's what I think.
In the scenario I describe, the results of the prompt, additional input from the user (assuming they edit the character), and the image are all saved to the server and done so in a public and indefinite manner.
When creating a share link, the data of the character that you want to chat with is saved to the server, so that when going to another generator, that generator can retrieve the same data it needs to be. But only the required data (that is a JSON object compressed in gz) is the thing that is saved on the server. You can check the file that is generated through this URL: https://user-uploads.perchance.org/file/<FileID>
and on the character link like https://perchance.org/ai-character-chat?data=King_Spectrara~b28c24b93bf726eb1f850e12ee3f5d99.gz
the file id is b28c24b93bf726eb1f850e12ee3f5d99.gz
.
One, the user’s privacy is not protected, if for example, their browser history is compromised–whoever sees their browser history also sees all their characters and the data therein (yes I know they shouldn’t have put personal information in them).
Yes, if you navigate to the share link that is created, then that link is stored in the browser's history and if anyone can get your browser history, can access the link. If you really want to be sure that your history isn't accessed through the internet this option https://lemmy.world/comment/14698327 might be used. If you've added any sensitive/personal info on the character, then I think that would be on you. As long as no-one else knows the link or the fileID of the uploaded item, it wouldn't be possible to retrieve the data saved on the server.
Two, there isn’t any peer review process for the characters that are created. So an individual could create questionable characters/images and host a page linking to the perchance URLs of these characters.
Yes, the uploading of the details to the server is automated and almost anyone can create share links to characters.
@[email protected] pinging dev.