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,691 - 7,702 of 7,766

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"

2 years 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?

2 years 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

2 years 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.

2 years 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

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

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

2 years 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?

2 years 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

2 years 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

2 years 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.






2 years ago #19
you can have multiple responses per keyphrase.

2 years 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.

2 years ago #24
That worked, thanks!
Reply

2 years 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

1 year ago #7702
If I may suggest another feature to add to the list, an 'include' and 'exclude' script would be nice.

exclude - only select this response if there are no other matches.
Like keeping a regular response from triggering until your <scripted> ones don't match, as it stands you have to "is not" all of them. While a valid check, it gets a bit tedious.

include - always select this response if it matches.
The other way around. Say you have a specific number triggered response, but also have other valid responses with it, it's a 50/50 it gets picked, risking your window of opportunity.

In theory, this is a Rank system for responses. exclude being -1 and include being +1

1 year ago #30
Hmm.. an interesting idea. Let me think about the possibilities of that. You could do a lot, potentially. Does that sound useful to anyone else?

Maybe I should have a "Feature Request" area kind of like bug stomp where people can vote on ideas.

1 year ago #34
I could see myself using of that script occasionally. And yeah, a feature request would be cool too.

1 year ago #36
I would like this as well. I've had lots of trouble getting my bot to prioritize it's responses.

1 year ago #43
A feature request section would be pretty cool

1 year ago #45
Response ranking would be pretty nice! It'd especially help out with complicated things that need a lot of AIScript such as clothing systems and similar stuff
Reply


Posts 7,691 - 7,702 of 7,766

» More new posts: Doghead's Cosmic Bar