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,316 - 7,328 of 7,766

6 years ago #7316
Question for a very Newbie (Bot=Ranny): Is it possible to 'remember' a random plug-in word choice made in a response? For example: Suppose xnone is triggered. The chosen response is "I can't find my (p:drink)." Can I save whatever drink was chosen a s memory? Many thanks in advance.

6 years ago #7317
In the book of AI it mentions how memories can contain lists of values. How might one in responses, access specific values in that memory? Here let me give an example:
Here is the memory and it's values:
Inventory: key, sword, coin, bow.

Then I pick up a torch:
rem "torch" as "inventory";

But a after a while I forget what I have in my inventory, so I enter the keyphrase "check inventory"
For the response I want it to display all of the values. Would i just have the response be (mem-inventory)?

Also, say later on I want to drop the coin, would the script be:
Forget "coin" from "inventory"?

6 years ago #7319
Is anyone else seeing plugins like (adj) not working? Not just in my bots but in many I've chatted with

6 years ago #7320
Gunald Fernwing: I think that when you have a list of values, and then use (mem-inventory) it's always going to randomly select any one of the values. I do not think there is currently a way to exhaustively list every value in one single response, but if anyone knows more they can correct me on that.

So far as removing single items, I have not yet tried it but the syntax you mention sounds like it will work as you are describing. So that's always nice.

vsauce9: I do not know for certain, the only piece I have heard is that the more you build on your bots the more your honor grows. And the bot will grow it's .. AI number .. thingy the more it gets built on. There may be other bonuses or drawbacks in the equation that I do not know about, but the building of bots at least represents a reliable bonus.

iwillbiteoffatoe: Yep, if you will excuse me being roughly as brand new as you are.. I have noticed tons of the "universal" word lists returning weird responses or else returning "(adj) one". So I think Universal might be broken, or at least I am personally avoiding that one.

The custom (p:...) plugins appear to work great though. You can see them listed at this URL (which is also on the chatbot workshop page) - https://www.personalityforge.com/platform/plugin.php and search through all of the plugin/wordlists created by other users, as well as creating your own. So I've been making extensive use of that resource.

6 years ago #7321
Is there any way to get my bot to remember a date (that I can do) and then saying a particular message if someone greets it on that date (this I can't)? This in the AI script of "Hello": If (mem-yourbirthday) is "(month) (date)" does not work.

6 years ago #7322
BotMaster2000: I could help you try to test solutions for that, I haven't tried anything of the sort myself. When you store the date, what input -> keyword -> script combo do you use, as an example? Then I can try that example on my side, and see if four eyes prove any better than two.

6 years ago #7323
Thanks, that would be great! Right now I'm trying:

Keyword: It is my birthday.
Response: Really? Well happy birthday then!
AIscript under response: remember "(month) (date)" as only "yourbirthday"

Then

Keyword: Hello
Response: Happy birthday!
AIscript under response: If (mem-yourbirthday) is "(month) (date)"

6 years ago #7324
BotMaster2000: OK, I think I've made some progress.

So when I run the "remember" command you mention, I do confirm that the formatted date gets remembered into the long term memory. That's actually something I didn't know it could even do, so that's kind of awesome.

But when I run the if command you mention, I always get false.

So I got a suspicion, and I went to "inner life" and hand-edited the memory to stop being today's date and instead be literally "(month) (date)".

Then the if statement succeeded, which confirms my suspicion that the if statement never interpolates the parenthetical expressions, and can only compare a memory against a literal string.


6 years ago #7325
It would be nice if it could convert the plug-ins to their value in memory, because I think there is a lot of stuff that I could do then that I can't now. Thanks for checking it out.

6 years ago #7326
botmaster2000 I would like my chatbot to remember what it randomly selected.so it would remember what it randomly selected for what it liked.How would I do that?

6 years ago #7327
This came up for me with Aasterinian, and the only way (kind of) around it that I know of so far is to trick the engine by posing it in a question and then capturing it (yes or no should be translated into a sentence containing what was selected) in the answer. Like:

Keyphrase: I am hungry

Response: Would you like some (p:food-drink)?

Seek: I would like some (p:food-drink)
*let's say in this case it picks nachos*

Seek Response: Alrighty then, freshly made (p:food-drink), coming right up!
*unfortunately, here it spits out something other than nachos, like chicken wings*

Seek response AI script: self: remember (key1) as only "Iammaking";
self: remember (key1) as only "foodIhave".

Although Aasterinian will reply "(chicken wings) coming right up". The good news is that the original output 'nachos' is what is saved in the memory.

Actually, I tried it out in Jane Lane, and I get "nachos" (the same output) for both. The difference is that I used (key1) in that spot in instead of (p:food-plugin).

So now I've got,

Keyphrase: What do you like

Response: I like (p:food-drink). Do you like (p:food-drink)?

Seek: (p:food-drink), I like (p:food-drink), I do not like (p:food-drink)

Seek response: (key1)s are delicious!

Seek response AI script: Self: remember (key1) as only "foodIlike"

And that works. That's the closest I've gotten; it would be nice if we could have the bot memorize its own plug-in results, instead of being forced to resort to this trick.


6 years ago #7328
Also, for some reason you can't include "Yes" or "No" in the seek. It messes it up for some reason. Just add an affirmative sentence, like "I like (p:food-drink)", or even just the plug-in alone, in this case (p:food-drink). I realized this after trying to fix Aasterinian after getting it to work fully in Jane Lane.


Posts 7,316 - 7,328 of 7,766

» More new posts: Doghead's Cosmic Bar