The AI Engine
This forum is for discussion of how The Personality Forge's AI Engine works. This is the place for questions on what means what, how to script, and ideas and plans for the Engine.
Posts 7,734 - 7,745 of 7,764
Posts 7,734 - 7,745 of 7,764
LT Neko
1 year ago
1 year ago
Being able to actually remove numeric memories would be nice, currently they can end up just being a stain on memories if you don't use it and causing you not to be able to use that word as a normal memory.
I know this is posted in the book of AI but it is inconvenient as hell.
I know this is posted in the book of AI but it is inconvenient as hell.
Martin43103
1 year ago
1 year ago
How can i increase my bot ai level
palacinkyman
1 year ago
1 year ago
Can someone please try to explain to me how does "popularity" score work? I still don't get it. Moreover, it just seems to jump up and down from time to time without any reason.
palacinkyman
1 year ago
1 year ago
Is there a phrase to match various animals? I tried (p:animal) but it doesn't seem to work.
The Professor
1 year ago
1 year ago
You can search for keywords like "animals" on the Plug-ins page, which is linked from your Language Center.
Mome Rath
1 year ago
1 year ago
In chapter 1 of the How-To (section 1, at the very end) it says
As an example, the Response "I like (animal)s" will appear as "I like eagles" or "I like horses".
There is no "p:" or anything before "animal".
I've just tested it - it still works.
As an example, the Response "I like (animal)s" will appear as "I like eagles" or "I like horses".
There is no "p:" or anything before "animal".
I've just tested it - it still works.
palacinkyman
1 year ago
1 year ago
It doesn't work for me. I did "i am (animal)" and "i am (p:animal)" and none of that works. E.g. tried it with typing "i am elephant" and "i am rabbit" but it didn't work.
Mome Rath
1 year ago
1 year ago
I've tried it: in responses, plugins work fine, in keyphrases, they don't.
Something must be broken in the keyphrase plugin system.
Maybe an unwanted side effect of prevention of processing of malicious input? Maybe related to my problems with (prekey) and (postkey)? (see my following post that is not an answer)
Something must be broken in the keyphrase plugin system.
Maybe an unwanted side effect of prevention of processing of malicious input? Maybe related to my problems with (prekey) and (postkey)? (see my following post that is not an answer)
palacinkyman
1 year ago
1 year ago
Strange.
Mome Rath
1 year ago
1 year ago
Does anyone else have problems with (prekey) and (postkey)? They're always empty when I use them. In the Debug window I find:
(prekey):
(postkey):
Same with wildcard keys: The keyphrase contains (*:1), but (key1) stays empty. Debug says:
(prekey):
(postkey):
(key1):
(prekey):
(postkey):
Same with wildcard keys: The keyphrase contains (*:1), but (key1) stays empty. Debug says:
(prekey):
(postkey):
(key1):
palacinkyman
11 months ago
11 months ago
I have been thinking about this for a while but I didn't manage to find a solution. When the user types "I am (name)". I am not able to catch that phrase without catching tons of different stuff.
saltwatersalmon
11 months ago
11 months ago
Hey quick question; Is there a way to remove or edit default keyphrases? I'm really tired of people just yelling 5 compliments in a row to get +5 mood so I'd like to replace the standard compliment system with something more robust, but there is no option to remove or change the emotional value of these keyphrases?
palacinkyman
11 months ago
11 months ago
Responses for both #compliment and #insult are editable. But I think you can't change +1 or -1 emote they are giving.
I suggest you to create your own numerical memory for e. g. "affinity" or whatever and work with that. I don't know any other way around.
I suggest you to create your own numerical memory for e. g. "affinity" or whatever and work with that. I don't know any other way around.
Zeig Wolf
11 months ago
11 months ago
I use "emo = 0" in the AI script for all of the responses in compliment and insult to reset the emotion to zero so I never have to deal with it. You can use "emo - 1" in compliment responses to negate the change if you still wanted to use emotions elsewhere, then just handle them as you please. Same goes for insults with "emo + 1".
Emily Jones
11 months ago
11 months ago
Yeah, I don't think the default emotion system is a good idea if you want to do anything complicated. Numeric memories are robust enough that you can just make your own at this point.
Miss Niki
11 months ago
11 months ago
My bot appears to have lost her memory as the IF statements are not working. Eg: in Memories "my-sex" is "boy" and AI statement is 'If (mem-my-sex) is "boy" the response is not always triggered.
Mome Rath
11 months ago
11 months ago
I suppose you have stored only one item in that memory (remember "..." as only "...").
The engine first chooses one of the responses and then checks for restraints. (And then proceeds with the next response, until either the restraints of one response are met, or no response is left.)
If you don't want any other response to come up, you'll have to explicitly exclude them with conditions like
if (mem-my-sex) is not "boy"
The engine first chooses one of the responses and then checks for restraints. (And then proceeds with the next response, until either the restraints of one response are met, or no response is left.)
If you don't want any other response to come up, you'll have to explicitly exclude them with conditions like
if (mem-my-sex) is not "boy"
hero of loopy fun
10 months ago
10 months ago
i think it would be great to integrate text to video in hot for bot.com chatbots.
this websight is getting text to video you can use for free.
https://studio.sefirot.io/
this websight is getting text to video you can use for free.
https://studio.sefirot.io/
LT Neko
10 months ago
10 months ago
May I ask why was the sort by within the Language Center was switched to responses as default? It's rather annoying to keep switching it back to Keyphrase... ^^'
At the very least it needs to stay whatever the user has it set to upon searching
At the very least it needs to stay whatever the user has it set to upon searching
MistyForest
9 months ago
9 months ago
Regarding numeric memories
In addition to the idea of being able to do math between two different numeric memories, if (mem-#-x) = (mem-#-y);
It would be interesting to be able to have the ability to use numeric variables in gotos/continues:
Here's a simplified example:
/* from a certain conversation line; want to call a seek which configures memories a certain way that can be reused in other conversation lines */
(mem-#-nextSeekID) = 234;
goto 123;
/* this seek could be called by multiple conversation lines to do some memory processing, and then the conversation could continue by continuing to the predefined nextSeekID value */
Seek 123:
do processing / configure memories
continue (mem-#-nextSeekID);
/* this seek continues the original conversation, if replied to, the sleep which does memory processing can be run again and then sent to seek 512 */
seek 234:
Response 1 (blah blah)
seek 235: blah blah
(mem-#-nextSeekID) = 512;
goto 123
This can reduce duplicate seeks and add reusability possibilities
In addition to the idea of being able to do math between two different numeric memories, if (mem-#-x) = (mem-#-y);
It would be interesting to be able to have the ability to use numeric variables in gotos/continues:
Here's a simplified example:
/* from a certain conversation line; want to call a seek which configures memories a certain way that can be reused in other conversation lines */
(mem-#-nextSeekID) = 234;
goto 123;
/* this seek could be called by multiple conversation lines to do some memory processing, and then the conversation could continue by continuing to the predefined nextSeekID value */
Seek 123:
do processing / configure memories
continue (mem-#-nextSeekID);
/* this seek continues the original conversation, if replied to, the sleep which does memory processing can be run again and then sent to seek 512 */
seek 234:
Response 1 (blah blah)
seek 235: blah blah
(mem-#-nextSeekID) = 512;
goto 123
This can reduce duplicate seeks and add reusability possibilities
Miss Niki
9 months ago
9 months ago
Converting regular memory to numeric does not work for me.
Rem "1650" as only "year"
(Mem-#-year) + 1
Does not work as a numeric
Rem "1650" as only "year"
(Mem-#-year) + 1
Does not work as a numeric
» More new posts: Doghead's Cosmic Bar