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,744 - 7,755 of 7,755

New replies

4 months ago #7743
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

4 months ago #98
Same, I'd prefer that too. It's so rare for me to search responses, I always search by keyphrase.

3 months ago #100
I'm going to third this.

NEW 1 month ago #115
Same for me.

The AI Engine

3 months ago #7744
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

3 months ago #99
I'd love to have this work

3 months ago #7745
Converting regular memory to numeric does not work for me.
Rem "1650" as only "year"
(Mem-#-year) + 1
Does not work as a numeric

2 months ago #101
Hi Miss Niki, hope I'm not suggesting something overly simplistic, but are you setting up the numeric memory correctly in the first place?

e.g. default "year" = 1650

NEW 3 months ago #7746
On a seek when a space or carriage return or < is entered get "message missing" or "I was just born..." message.

How to trap these to avoid this?

NEW 3 months ago #7747
Is it possible to add general rule to all of the responses? For example, adding 10 into memory "seconds elapsed" for each response?

NEW 2 months ago #7748
I think it would be nice if we could add text before and/or after "goto xxx".

NEW 2 months ago #102
What you're looking for is Continue

NEW 2 months ago #103
There is already feature like that?

This is like what I had in mind:

Seek: whatever
Response: "Sure," goto xxx "and then we can go for lunch."

NEW 2 months ago #104
Copied from the book:

Message: This story is awesome!
Response: I know! Let me continue..
+ AIScript: continue 1234; (the Keyphrase ID where the story continues)
= Bot says: I know! Let me continue.. Then I climb up on top of the fountain with my pants on my head..

NEW 2 months ago #105
Nice. So The first half is already implemented. Does continue work the same way as goto? I mean with all the seeks available for next replies, applying same conditions and saving all the memories.

NEW 2 months ago #7749
I had a problem with a numeric memory becoming a self memory and not updating the guest's memory. This was caused by the "m" being capitalized.
(mem-#-Today) = 1 GOOD
(Mem-#-Today) = 1 BAD

NEW 2 months ago #7750
What's the accepted correct way to have a KP override the emotion override?

Specifically, using get+s in a KP wasn't producing a response, debug showed this was being interpreted as emotion (below) and tried #emote, rather than the specific KP

Emotional Analysis:
EMOTION WORD = get (effect)

As a workaround I just bumped up the rank of the KP until it took priority, but that doesn't seem like the best practice, so wondered if there's a better way around it?

NEW 2 months ago #108
Why would you want to override emotion locked keyphrase/seek? I am just curious. I mean, you can just add new seek with specific requirement copy the first restricted response and use gotos. I am usually not using emotion system at all anyway. If you want to restrict the user for some reason, you can always just create new memory with yes/no value, or some numerical memory. E. g. memory for number of compliments or memory whether the user has been on date already. Whatever.

NEW 2 months ago #109
Hi palacinkyman,

It's possible I didn't explain very well. I'm not trying to override an emotion locked KP, I wrote a fresh KP using 'get+s' as part of the KP, and the AI engine was determining that 'get' is a word warranting an emotional response, and serving #emote rather than the responses within my KP.

NEW 2 months ago #110
Thanks for explanation.

NEW 2 months ago #7751
i don't achieve to implement Aiscripting in my bot.
Even folowing the guide samples, noothing never work. Is there some tips or a tuto to make ai scripting working ?

NEW 2 months ago #106
Okay i solve it.

NEW 2 months ago #107
Glad to hear that.

NEW 1 month ago #7752
Anyone knows how to use short-term memories?

NEW 1 month ago #111
Used with Plug-ins. See Chapter 11, Short-Term Memory

NEW 1 month ago #112
So they are not usefull for creating seeks and responses?

NEW 1 month ago #7753
Hello, i try without succes to use Goto in responses
I always have the same response : I have too many gotos in a row.

Even when I create a single keyphrase with only one reponse.

Do anyone has a idea to help me solve it ?

NEW 1 month ago #114
I think this happens when you have goto to another goto. Although I think you can have 2 gotos in a row. The number of responses doesn't matter, only number of gotos in the seek tree.

NEW 1 month ago #7754
Also I have another question. On keyphrase word is systematically redirect on #insult reponse. I cannot buil any response in it. Is there a reason for that ? This keyphrase is 'pussy' this is not a insult

NEW 1 month ago #113
You can try to use the key phrase "pussy" as raw, "raw" should be written in "AI script" window under your key phrase. Additionally you can try to increase the number if "rank" next to the key phrase, to give it higher priority.

NEW 1 month ago #116
Thanks for your help in those too posts I am going to try that

NEW 1 month ago #117
No problem.

NEW 6 days ago #7755
So, I don't know what I'm misunderstanding from How To Build Chatbots, but does anyone know how to change a numeric memory from a keyphrase? For example if I have a bot with an AIScript Initialization representing its age, like:

default "age" = 39

And I want to create a keyphrase that would catch something like:

User: you are 29
Bot: OK, I am 29.
User: you are 53
Bot: OK, I am 53.

What are the keyphrase/response scripts to make that work every time? It seems like it should be easy but I'm doing something wrong.

NEW 5 days ago #118
Chatbot Workshop -> Build -> Settings

AIScript Initialization:

def "dunno" as "age";

I range age from 1-30

With an additional memory for 1-17 considering underage (locked out of certain content)

Example: 'I am 22'

Underage Keyphrase:

(I am|im) (1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|under age|underage) *


rem "Under-age" as only "age";

Of age from 18-30 Keyphrase (New keyphrase every number)

(I am|im|my age is) 18 *


rem "18" as only "age"

Then said memory can be used via:

(mem-age) for responses to user

if (mem-age) is "18"; for conditionals

NEW 5 days ago #119
My idea was to make a bot with a customizable age (18-60) that the user can change at any it unnecessary to set this limit in the Initialization? I currently have it set up like this:

default "age" = 39 {18, 60}

That was how the How To says you define limits, but maybe it's redundant?...Or are numeric variables just not a good way to do the whole age thing?

Sorry for my confusion lol.


OK, I tried it your way and it seemed to work...I just figured a numeric memory would be kind of obvious for something like this but I guess not. Thank you for the help.

NEW 4 days ago #120
Usually try to avoid numeric memories they leave a stain on your memory system (aka can't delete em fully) and if I remember correctly they don't get checked when you'd like em to~

But it's been a minute since I've messed with em

NEW 4 days ago #121
Yeah, I recently figured out that you can't permanently erase the numeric memories...hopefully that eventually gets sorted out because they seem like a good idea in principle.

(Log in or create an account to post messages.)

Create a free account to be able to make your own AI chatbots, post in forums, and chat with other botmasters.

Create Account

» More new posts: Doghead's Cosmic Bar