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,690 - 7,701 of 7,766

2 years ago #7690
@bobstack
I think if you want to use (postkey) you don't have to add the * symbol
So rather than : cause us to appear to *
It will be : cause us to appear to
I presonally would leave it that way: cause us to appear
Because the ''to'' is necessary for the verb that follows in case of repetition with the (postkey).

2 years ago #3
Yep, exactly.

2 years ago #4
okay i will try that.
Reply

2 years ago #7691
could you add a feature. where if a user picks a particular race the chatbot could show a a face of a woman of the particular race?
that the botmaster uploaded to personalityforge.

2 years ago #6
No, sorry, that's way too specific to be of general use.

2 years ago #7
maybe someone else will make it for their chatbots.
i thought it was a good idea.

2 years ago #8
-wo Bobstack look into making a personal external site with the use of the Api then it's perfectly reasonable to implement with api data sent along with the response.

2 years ago #9
that costs money i don't have

2 years ago #10
how do i retrieve what was selected from default "blank" as "likedr".
example
engage
chatbot = what do you like to drink master?
script = if (mem-likedr) is "blank"
user = i like to drink scotch

chatbot = i did not know you liked to drink scotch

rem (postkey) as "likedr"

engage=
chatbot = what else do you like to drink master
script = if (mem-likedr) is not "blank"
user = user = i like to drink coca kola
chatbot = i did not know you liked to drink kola
rem (postkey) as "likedr"
engage
chatbot = would you like to drink some (mem-likedr) master
script = if (mem-likedr) is not "blank"
user = yes
chatbot = walks to the kitchen then walks back in 3 minutes later with your (mem-likedr)
script = if (mem-likedr) is not "blank"
how do i keep the chatbot from selecting again?can i retrieve what the chatbot selected?
with your
Reply

2 years ago #7692
since google's pathways language model can talk.i think it can be made to script.they did that with gpt-3.
it would be great if it would be allowed to program a chatbot on personalityforge.

2 years ago #11
When working on the AI Teddy Bear project a few years ago, I had it working with TTS (text-to-speech) and Speech Recognition. The PF was the AI Engine. You could have conversations out loud with the toy. It was pretty amazing.

2 years ago #12
did you make a youtube video of it?

2 years ago #13
Would it be possible to do something similar with Alexa?

2 years ago #14
I have one video of it. Let me ask if it would be okay to publish here. It's a crazy story: there's corruption, hacking, foreign government trickery, even death. It was a crazy few years.

2 years ago #15
okay with me
Reply

2 years ago #7693
Wow, that sounds like a wild story!

There's also the Tasker script mentioned in these forums somewhere that allows you to talk to your bot. I hooked it up to Love Agent, and it was pretty awesome to talk to her on my phone. I learned that the faster pace of the conversation paired with it being verbal really changed the feel, both in how I interpreted her responses and what I decided to say.

2 years ago #7694
does time Time-Based Responses work in seeks?
because it is not working in #initiate in my bobred xa1 ai chatbot

response = you see a half white black male sitting on a sofa reading a popular mechanics magazine in what seems like a living room.
seek = x
response = let's talk
chrono: week(MTWRFU);
chrono: hour(80-180);
rem "day" as only "timeda"

response = let's start talk

chrono: week(MTWRFU);
chrono: hour(190-23:59);
chrono: hour(00-7:59);
rem "night" as only "timeda"

1 year ago #21
Yes, they should. By listing the chrono statements separately, they're acting as one OR the other. Is that what you're intending?

When you say it's not working, do you mean it's coming up when it shouldn't? Or not coming up when it should?
Reply

2 years ago #7695
Perhaps an odd request but, Professor could you please turn off automatic conversion of emojis?

1 year ago #22
You can use "raw" to access those.

1 year ago #47
They might mean in the forums though; given that this request immediately follows bobstack's post where tons of their time-based AI code got converted to emoji.

Reply

1 year ago #7696
Is there a way to have the bot respond to a number? Or a series of numbers?

I've created a memory variable to keep the number, but it never uses any of the responses I have for something like

AI Script: if (mem-number) is (10);

Never gets called, even when the bot has had (mem-number) set to 10 by hand in the Inner Life system. How is this different than when I use text in the variables?

Ai Script: if (mem-somethingElse) is (true);
and
Ai Script: if (mem-somethingElse) is (blue);


Has worked just fine for me else where.

I feel like I'm missing something incredibly obvious.

1 year ago #23
The value you're checking should be in quotes, not parenthesis.

AI Script: if (mem-number) is "10";

But as of yesterday, you can use numeric memories. Search for "numeric memories" in the Book of AI. If you set it up as numeric, it would be this:

AI Script: if (mem-#-number) = 10;

1 year ago #25
we do not know what you consider junk in our chatbots.
i hope i am not in any danger.
Reply

1 year ago #7697
are you trying to make a game for your chatbot?
i have made games for my chatbots.

1 year ago #7698
KBF you do it like this.
if (mem-number) is "10";
if (mem-somethingElse) is "true";
if (mem-somethingElse) is "blue"

1 year ago #7699
Sorry if I was unclear, I'm only interested in numbers. "True" and "Blue" variables were just used as examples, and do not have anything to do with the particular script. There is only one variable I'm trying to catch.

I have a generic answer without AI script that seems to be taking priority over answers for specific numbers, even when the bot is given numbers.

I'm unclear if the bot can't recognize the numbers themselves, or there's a prioritization problem where the generic answer is overriding the script answers. If so, is there some way to change that?

1 year ago #16
My only thought here is that you're setting the memory in the keyphrase and trying to recall it in the response. New memories won't be checked that quickly. Though above you say you've tried setting it by hand, so perhaps I'm misunderstanding or missing something?

What I would generally suggest is a different keyphrase for important numbers, and just (number) for everything else

1 year ago #17
i have had the same problem.
here is a example of what i do.
keyphrase = my clan number is *
response=okay i will remember your clan number
script=if (mem-clan) is "blank"
seek = x
response= looks at you
rem (postkey) as only "clan"
seek = #nomatch
response= looks at you
rem (postkey) as only "clan"

response = i remember that your clan number is 2
if (mem-clan) is "2"



i hope it helps

1 year ago #18
Zeig Wolf - "By hand" I mean in the bot's Inner Life menu, for the user KBF, I set the variable Mem-number= 10 to ensure the bot isn't responding to some other number and I haven't realized it.

bobstack- is there a way to have the bot respond to the number in the same sentence?

(Example) keyphrase = my clan number is *
(Desired) response=Oh, I like clan (ANumberGoesHere)!
-or-
(Desired) response=Oh, I used to visit clan (OtherNumberGoesHere)!
(Desired) response=Wow, I've never heard of clan (UnsupportedNumberGoesHere)!

Because all I get is: response=Wow, I've never heard of clan (UnsupportedNumberGoesHere)!

No matter what I say. Even if I tamper with the bot (see above) to make sure there it's a known number.






1 year ago #19
you can have multiple responses per keyphrase.

1 year ago #20
How I would handle this:

Keyphrase1 - my clan number is (number)
Response - Wow, I've never heard of clan (key1)!

Keyphrase2 - my clan number is (1|2|3)
Response - Oh, I like clan (key1)!

Keyphrase3 - my clan number is (4|5|6)
Response - Oh, I used to visit clan (key1)!

Keyphrase 2 and 3 might need a boost to their rank to overcome keyphrase 1.

1 year ago #24
That worked, thanks!
Reply

1 year ago #7700
(Example) keyphrase = my clan number is *

(desire) Oh, I like clan (postkey)

1 year 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

1 year 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

1 year 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?

1 year ago #28
i do not know.

1 year 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?

1 year ago #33
It would open up some interesting possibilities

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

1 year 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


Posts 7,690 - 7,701 of 7,766

» More new posts: Doghead's Cosmic Bar