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,727 - 7,738 of 7,743

New replies


6 months ago #7701
ummm Hello...
I have few questions about numbers...
Any chance to make ">" and "<" work?
And how can I do something like this (mem-#-Power) - ((mem-Level) * 3); in keyword script

6 months ago #26
i think what you want to do could be learned from these webpages.

https://www.personalityforge.com/developers/memories.php

https://www.personalityforge.com/developers/responses-conditional.php

6 months ago #27
Thanky! I get about "><" but I have another question that Idk how to do
I have X = y * 2;
X and y it's memory numbers. what I need to write in script to do this?

6 months ago #28
i do not know.

6 months ago #29
There's no way to do math between different numeric memories at this time. But it's a good idea. I'll add that to my list of things to add. Does anyone else think that would be useful?

6 months ago #33
It would open up some interesting possibilities

6 months ago #38
I will wait:3 I wanted to do some kind of test based rpg and I need this there:3

NEW 2 months ago #89
Would definitely allow for more sophistication with bot behavior.

It is possible to implement some limited calculation functionality, though tedious, for example:

def "atk" = 4;
def "increase" = 2;

keyphrase 1: level up attack
-response: goto 3
-AIScript: if (mem-#-increase) = 1;
-response: goto 4
-AIScript: if (mem-#-increase) = 2;
-response: goto 5
-AIScript: if (mem-#-increase) = 3;
-response: goto 6
-AIScript: if (mem-#-increase) = 4;

keyphrase 2: handle atk calculations
-response: goto 7
-+seek 3: atk up one
-+AIScript: (mem-#-atk) + 1;
-+-response: goto 7
-+seek 4: atk up two
-+AIScript: (mem-#-atk) + 2;
-+-response: goto 7
-+seek 5: atk up three
-+AIScript: (mem-#-atk) + 3;
-+-response: goto 7
-+seek 6: atk up four
-+AIScript: (mem-#-atk) + 4;
-+-response: goto 7

keyphrase 7: output atk
-response: Your attack has been increased to (mem-#-atk)!

If you had the idea of trying to use recursive gotos with conditions to incrementally decrease/increase two variables, don't bother. As unfortunately, that just gives you a "too many gotos in a row" error. I believe the maximum number in a row is 2, but possibly is three. Changing this limit is something that might be worth exploring too for more creative scripting applications, but I feel like most things could be accomplished just being able to do math between numerical memories.
Reply

The AI Engine


4 months ago #7727
If I could make a request, it would be great if apostrophes weren't removed when I import new material. The only time apostrophes stick is if I edit online, but if I try to import something new it removes all the apostrophes and makes things look weird. I'll becomes Ill, I'm becomes Im, etc.

4 months ago #7728
i got a email that a bug was fixed for skyla grey.but the link in the email you sent me there is nothing there.
somebody removed my bug report
for skyla grey.

4 months ago #7729
Does anyone know a way to have responses come up in order in an individual keyphrase, rather than at random? I know I could probably do this with memories, but it seems like a bit of an unnecessarily elaborate solution for a simple problem.

4 months ago #7730
why don't you use goto's with keyphrases.
you could use seeks to.
read how to build chatbots in the build menu at the top of the page.

3 months ago #7731
How can I make some seek responses (or responses at all) to come out more often then the other?

3 months ago #76
You'll need to have it multiple times.
Reponses:
A
A
B
"A" will come up 2/3 times.

3 months ago #77
Ad then talk about inflating the AI score lol. Just for simple thing like this. I guess I give up this option for now as I don't want to totally mess up clarity. Perhaps I could try to add only gottos into responses instead.

3 months ago #80
Yeah, for now Zeig Wolf's idea would work.
Reply

3 months ago #7732
If a weighted value could be added in the future that'd be nice~

3 months ago #78
Yeah. That would be great.
Reply

3 months ago #7733
I would really like to see some improvements to the AIscript Initialization and memories as a whole~

1. Can Initialization be in a list format? It's kinda just a jumbled mess atm so it takes time to find the defaults I need~ c:




2. A way to force replace memory with another, aka lets say:

Replacing
"def "visitor" as "relationship";" with def "guest" as "relationship";

A option to update/replace all instances of visitor and/or relationship replaced with your respected request.

Includes replacing if's/rem's/mem's within Aiscript in the language center~



3. Having a "active aiscript" section within the bot would be nice so it'll check all current states of memories so changes to memories from the normal ai script can effect more than what's written in the keyphrase's response~

Main benefit would be a change of one memory effecting another without the need of having the second one written in the response keyphrase


3 months ago #84
For #2, I highly recommend working offline. Search and replace (You'll need a few - replace "visitor with "guest [only leading quotation marks to catch escaped chars from prior offlines - though escape chars break stuff in the defaults field], and replace -visitor with -guest - might need slightly more restrictive search and replace if you'll have -visitor and "visitor, though I feel that's unlikely. Might depend on your grammar style.), and you're done. I've done similar before, quite smoothly.

For 3, I'm struggling to parse you. Do you mean visible in the debug/chat window? Would be useful in the debug one sometimes. Or are you wanting to automatically propagate changes to one aiscript to another? In which case, what purpose does having two memories there serve?

I'd probably recommend working offline for #1, too. Lets you search for the default you're after. More of a temp fix, though?
Reply

NEW 3 months ago #7734
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.

NEW 3 months ago #7735
How can i increase my bot ai level

NEW 3 months ago #85
Just add more content to it.
Reply

NEW 3 months ago #7736
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.

NEW 2 months ago #88
Popularity represents what others think about your chatbot. It's an average of the emotional reactions of all other bots towards your bot. It should move gradually up or down. If it's jumping about, there could be an issue. It's just a number though - nothing depends on it.
Reply

NEW 3 months ago #7737
Is there a phrase to match various animals? I tried (p:animal) but it doesn't seem to work.

NEW 2 months ago #87
You can search for keywords like "animals" on the Plug-ins page, which is linked from your Language Center.

NEW 2 months ago #90
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.

NEW 2 months ago #91
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.

NEW 2 months ago #92
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)

NEW 2 months ago #93
Strange.
Reply

NEW 2 months ago #7738
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):


Posts 7,727 - 7,738 of 7,743

» More new posts: Doghead's Cosmic Bar