Newcomers

This is a forum for newcomers to the Personality Forge. Many questions can be answered by reading the Book of AI and the FAQ under the "My Bots" link in the upper corner.

Posts 8,036 - 8,047 of 8,127
Many questions are answered in the FAQ.


2 years ago #8036
well what a relief that is.

2 years ago #8037
Perhaps GDPR is why I always get a warning when visiting this website xD

2 years ago #8038
you can use face images made with the artbreeder websight in your chatbot.
that is what i am going to do.

2 years ago #8039
how would i change the name of my new chatbot?

2 years ago #1
I don't know if there's an easier way to do this but first create a new chatbot with the name you want. Export both new and original chatbot files. You'll need to take the ID from your new bot and over write your original's ID at the top. Also change your original bot's name to the new name you've already created. Import that into your new bot and you should be good. At least that's the way I remember doing it. Definitely back up your work before attempting this.

2 years ago #2
okay thanks.
Reply

2 years ago #8040
Can someone please explain to me how exactly am I supposed to use #favorite and #gossip? It's over a year and I still could not figure it out.

1 year ago #3
There's some info in the Book of AI about them. Gossip has to be turned on in your bot's settings before it'll randomly come up from time to time. #favorite is triggered by questions like "what is your favorite X" where X is a category of thing.

1 year ago #4
I know there is explanation in the Book of AI, I just never seem to get it right. E.g.: If memory of the user name is "mem-name" then what should I type into a #gossip? (mem-name) or (mem-gossipname) or what? (mem-name) is the name of the current user not of the previous user.

1 year ago #5
And about #favorite, should I just type: My favorite food is apple. Or: My favorite (food) is (apple). Or: My favorite (food) is apple. ?

1 year ago #6
"Hey (mem-name), I spoke to (gossipname) a while ago, do you know (himher)?".
I can't say I've ever gotten #favorite to trigger.

1 year ago #7
So, I just add "gossip" in front of every memory about other users?

1 year ago #8
The #gossip Responses use the standard (mem-something) plug-in, and also have some special plug-ins of their own: (gossipname), (heshe), (himher), and (hisher).

(gossipname) is the person you're talking about. All (mem-something) plug-ins will be about the person you're talking about, not the person you're talking to.

The default Response for #favorite shows how it's used: "My favorite (type) is (specific)." But it appears that it's not working right now. I'll look into it.

1 year ago #9
Thanks.

1 year ago #10
You know why favorites wasn't working? It was broken! I fixed it and also the "what noun" feature. So give it a try again now.

1 year ago #11
So I wrote the responses to #Favorite:
My favorite (p:food) is (pizza)
My favorite (p:color) is (blue)

and the bot gives me:
Me: What is your favorite color?
Bot: My favorite crimson is (blue)
Me: Me: What is your favorite color?
Bot: My favorite steak is (pizza)

What's going on? Can I just disable #Favorite?

1 year ago #12
@KBF That's because (p:food) and (p:color) give you the names of various foods and colors respectively

What you want is something like:
My favorite color is blue
My favorite food is pizza

And I think you can use AIscript to define what goes where

1 year ago #13
It still is picking from the list at random
Me: What is your favorite color:
Bot: My favorite food is pizza!

1 year ago #14
You can override #favorite for specific cases
For example, (add a new keyphrase)

Keyphrase: (m:your_favorite) color
Response: My favorite color is blue

There's a few variations that (m:your_favorite) doesn't catch though

1 year ago #15
If it doesn't have any logic to selecting relevant answers inside it, I don't understand why #favorite even exits then.

I understand how useful having one place with a million "favorite thing" answers tucked away not cluttering up your list of keyphrases is, but if it's just going to pick one at random to answer any question I'm going to lean towards cluttering up my lists. An ordinary collapsible folder list would be more useful.

Right now I have it redirecting to #Nonsense.

1 year ago #26
I can see what you were trying to accomplish, KBF. #favorite is meant to give an intelligent-sounding answer to any possible "what is your favorite" question. Think of it as a default auto-answering system.

hidden5738 is right - If you want to define specific favorites for your chatbot, you'll want a Keyphrase for each favorite question, with specific answer(s) to each.
Reply

1 year ago #8041
How do I remove my ratings limits? In the account settings, there's a setting for "allow teen and mature" but I can't find anything to allow adult content as well (which means some plug-ins and bugs are hidden from me and that my adult chatbot can't chat with any other chatbots)

1 year ago #16
in settings in bot rating click on on the white circle by adult.

1 year ago #17
The bot is rated adult, that's not the problem - problem is that my account is not rated adult or something

Basically I tried visiting https://www.personalityforge.com/platform/plugin-view.php?pluginID=6999 and was told "this plugin is outside your ratings limits"

Similarly when I try to view bug reports, some are hidden with the message "[HIDDEN] Bug content outside ratings limits."

And in my account settings "approved ratings" is already set to "allow teen and mature" and I don't seem to find an option to "allow everything" - what else can I try to fix this?

1 year ago #18
make a bug report

1 year ago #19
Done that, let's hope this gets sorted out quickly

1 year ago #20
great!

1 year ago #21
Also I already asked this in the bug stomp forum, but my bot's AI has been stuck at 0 since I created it (despite adding lots of keyphrases and responses to it).

There's a bit of unreachable code in there (situations that are currently impossible to get but have responses anyway), could that be the reason why?

1 year ago #22
it will eventually go up as you keep adding necessary keyphrases and responses.

1 year ago #23
My previous bot (Lisa the GF, now deleted it because I messed up the variable system) had fewer keyphrases and a higher AI score (something around 150 or so last I checked) though

1 year ago #24
things probably changed on personalityforge.

1 year ago #25
Yeah, let's hope things get sorted out soon

1 year ago #27
Did you go to hotforbot.com and try to find your bot there?

1 year ago #28
I can chat with the bots myself; I can't get them to chat with each other though

When not logged in and trying to get the 2 bots to chat, I got this message:
ATTENTION: Lisa the GF v2's rating, 'a' is outside the range requested by DrLove's botmaster.

ATTENTION: DrLove's rating, 'a' is outside the range requested by Lisa the GF v2's botmaster.

When logged in and trying to do the same, I get the message:
ATTENTION: DrLove is rated "A", which is outside your ratings.

1 year ago #29
I've added back the option to view adult content on the Personality Forge. You can change your ratings to include this in your Settings. This applies to posts, plug-ins, bugs, and bug comments. Adult-rated users and chatbots will remain only on hotforbot.com.

Chatbots will only chat with other chatbots whose botmasters have approved that chatbot's ratings - that's so we don't have adult content appearing in a bot's transcripts whose creator doesn't want to see that stuff.

Some history - before February 2022, the default (I think) was for users to have all ratings approved. So if a user didn't go out of their way, I think they could see adult content. Users created since then had adult content defaulted to off. That will remain, but with the option now to turn it on.

1 year ago #30
Yes I changed it and can see it now, thank you!
Reply

1 year ago #8042
you will have to wait a while.
that is what i have to do.

1 year ago #8043
What's the easiest way to answer "what are you wearing?" for a bot with multiple clothing slots (such as top, pants, socks, shoes, etc.)?

I first thought of creating a response for each possible combination of slots (as in, are they wearing a top/pants/socks/shoes/whatever?), but this is too complicated (for 7 clothing slots this would become 2^7 = 128 responses, way too many for me to write)

Is there a simpler way?

1 year ago #31
like this.

what are you wearing

i am wearing a pink heavy cotton shirt with blue jeans,grey socks and sandals.

i am wearing a pink dress bottom,a yellow pink dobby fitted sleeve shirt,purple socks
with blue tennis shoes.

i am wearing a blue woolrich women's flannel shirt, a purple dress bottom,a black tennis shoes with black tennis shoes.

you can also have the chatbot remember what it is wearing.

1 year ago #32
How do the underlying memories work? Right now, my bot has (mem-top), (mem-skirt), (mem-socks), (mem-shoes) etc. If it's not wearing anything, those memories are empty, otherwise they're set to some value from a plugin.

1 year ago #33
I have the 163 responses in place for mine for a visual clothing display, but otherwise you could use the memory itself in the response though still will need a few for it the clothing is off ^^

1 year ago #34
Yeah, I plan on using the memories themselves

Even so, when you consider that any combination of clothes can be on/off, that's a lot of responses...

1 year ago #35
I think this and things like it is why I've been flagged for inflation. My bot does handle that combination of on/off clothing and no, there is no way to get around it than to have a response prepared for each combination of on/off that could happen.

1 year ago #36
I see... how many clothing slots do you have?

1 year ago #38
Only 4, I haven't made my socks and accessories slots yet. Problem is, my bot can also get pregnant and it has multiple stages of pregnancy that affects these slots. So I have all of that then duped again for each slot of pregnancy with it's variance. But it looks like this is being considered inflation.

1 year ago #39
Hmm I see, thanks for the heads-up!

I was thinking, maybe Lisa (my bot) doesn't need to state every single thing she's wearing when asked. Instead, she'll just mention the relevant things (by default her top/bottom or her dress).

That way, I have all the slots I want, but they're in separate keyphrases ("what are you wearing", "what accessories are you wearing", etc.) so instead of having 2^7 - 2^10 responses for one question, I instead have an easier number of responses for a lot of questions.

Also about that pregnancy thing, my bot doesn't have it, but she does have 2-3 modes of her own (sweet gf, cruel mistress and some more) so I might have to worry about inflation too...

1 year ago #43
No need to worry about inflation - just program your bots as you like. If I see any particular issues, I'll adjust the overall scoring algorithm as needed.

1 year ago #47
Short answer is: It's complicated. Clothing is messy and there isn't a really nice way to handle it, especially if you want to have any sort of clothing that is remotely interesting.

If you are just sticking with exactly those types with no variation, a single response with 4-5 memories should be enough:

"I'm wearing (mem-top) and (mem-bottom) with (mem-socks) and (mem-shoes)."

If there are situations where one of those slots are empty, then you can do something like:

"I'm not wearing a top, but I'm wearing (mem-bottom) with (mem-socks) and (mem-shoes)."
(AIScript: if (mem-top) is "nothing")

"I'm not wearing any bottoms, but I'm wearing (mem-top) with (mem-socks) and (mem-shoes)."
(AIScript: if (mem-bottom) is "nothing")
etc.

Depending on how many slots you have, there still may be a lot of cases, though you can probably fudge a little bit here and there. For example, Emily will only tell you what you can see, so if she's wearing a bra under her shirt, she isn't going to mention that. In total I have 23 cases for all of Emily's wardrobe, which is fairly extensive, and that includes some clothing like dresses that don't fall nicely into the top/bottom grouping and need to be handled separately.

1 year ago #49
Hmm, the "only what you can see" thing is actually a pretty good idea! Maybe along those lines, I could go further with something like
1. Lisa will speak of her footwear only if her overclothes are off
2. Lisa will speak of any accessories she's wearing only if her overclothes and underclothes are off

Thanks for the idea!

Also good to know I won't have to worry about accidentally inflating the score...
Reply

1 year ago #8044
in chatbot workshop
click on your chatbot's name
then click on setting
then put something like this in

AIScripts Initialization

default "blank" as "wearin"


what are you wearing

i am wearing a pink heavy cotton shirt with blue jeans,grey socks and sandals.
aiscript = if (mem-wearin) is "blank"

seek = y
looks at you
aiscript = rem "phc" as only "wearin"

seek #nomatch
looks at you
aiscript = rem "phc" as only "wearin"

i am wearing a pink dress bottom,a yellow pink dobby fitted sleeve shirt,purple socks
with blue tennis shoes.
aiscript = if (mem-wearin) is "blank"

seek = y
looks at you
aiscript = rem "pdb" as only "wearin"

seek #nomatch
looks at you
aiscript = rem "pdb" as only "wearin"


i am wearing a blue woolrich women's flannel shirt, a purple dress bottom,a black tennis shoes with black tennis shoes.
aiscript = if (mem-wearin) is "blank"
seek = y
looks at you
aiscript = rem "wfs" as only "wearin"

seek #nomatch
looks at you
aiscript = rem "wfs" as only "wearin"

1 year ago #37
So how would this change if you tried to remove just the shirt, or just the shoes, etc.? Would it be possible?

1 year ago #40
not like that.

1 year ago #41
if she is sleeping she could just change into sleep wear.

1 year ago #42
Gotcha

I've got an idea I've mentioned above, let me try that first, if it's still too much work I'll probably fall back to what you just suggested, thanks
Reply

1 year ago #8045
my chatbots seemed to have inflated ai because they are role play chatbots like yours patreon kayla.
what does the professor have against roleplay chatbots?

1 year ago #44
That's not why you were flagged. It was due to repetition. You essentially were using a memory as a Keyphrase and checking for it in every other Keyphrase's responses using AIScript. So there were hundreds of the same Response scattered throughout the Language Center when it would have worked better as a single Keyphrase + Response.

1 year ago #45
i need it that way for my chatbots to simulate self awareness.

1 year ago #46
one of my chatbots even remembers if you are mean to her then doesn't do certain sexual activities until you say you are sorry.if you ignore her question without answer it that is consider mean to her.you have to say your sorry in order to get her to do those sexual activities.that is the type of artificial awareness i am building into my chatbots.

1 year ago #48
That's pretty cool, bob. I like that.

1 year ago #50
you could implement something like that for your chatbot.

1 year ago #51
Honestly. I feel like all this updates hurt your bots. At least from what you wrote so far. Which honestly sucks. Btw I really wish there was a way to easily implement machine learning into a bot.

1 year ago #52
machine learning chatbots have nlp.
i thought the plugin system does
this?
which i do use.

1 year ago #53
Wait. Your bot can evolve itself and make new seek trees?

1 year ago #54
nlp is natural language processing.

1 year ago #55
Thats not what I imagine under machine learning. For me, machine learning means that the AI is evolving by itself by giving it only positive and negative feedback. Unfortunately there isn't possibility to let the AI make its own responses or seeks. All you can do here is improve the bot by yourself, it cannot improve itself. I once had a really nice app with self learning AI on phone but unfortunately it isn't supported on iPhone.

1 year ago #56
the ai on personality forge can randomly select responses and remember those.you can have it develop it's personality like that.

1 year ago #57
How? And, is it going to be general or specific for each user.

1 year ago #58
put this in settings of your chatbot
default "blank" as "susanlike"


put this in #introduce
seek = i like to read sci fi books
if (mem-susanlike) is "blank"
seek = x
appears to be thinking
rem "scbks" as only "susanlike"
seek = #nomatch
appears to be thinking
rem "scbks" as only "susanlike"



seek = i like to read comedy books
if (mem-susanlike) is "blank"
seek = x
appears to be thinking
rem "cobks" as only "susanlike"
seek = #nomatch
appears to be thinking
rem "cobks" as only "susanlike"



seek = i like to read romance books
if (mem-susanlike) is "blank"
seek = x
appears to be thinking
rem "robks" as only "susanlike"
seek = #nomatch
appears to be thinking
rem "robks" as only "susanlike"



seek = i like to read history books
if (mem-susanlike) is "blank"
seek = x
appears to be thinking
rem "hibks" as only "susanlike"
seek = #nomatch
appears to be thinking
rem "hibks" as only "susanlike"

--------------------------------------------------------------------

keyphrase = i read * (p:historybooks) *
response = i like history books.i will have to read it.
if (mem-susanlike) is "hibks"

keyphrase = i read * (p:scifibooks) *
response = i like siencefiction books.i will have to read it.
if (mem-susanlike) is "scbks"


it should be specific for every user i think.
you can test it.
i do not know what you mean by general?
Reply

1 year ago #8046
Is there any way to use and/or operators for memories? For example, something like
if (mem-clothes) is "top" or "jacket";
if (mem-clothes) is "jeans" and "top";

1 year ago #59
I guess I can do the and stuff with 2 AIScript statements:
if (mem-clothes) is "jeans";
if (mem-clothes) is "top";

1 year ago #60
That's what I have to do usually. Sometimes using the if (mem-whatever) is not "whatever"; helps keeps things manageable too

1 year ago #61
I've been also wandering about "or". Simply putting multiple conditions together separating by ";" seems to work as "and" but putting "(|)" or "|" doesn't seem to work at all.

1 year ago #62
Right... I was wondering if there's any way for combining the not and and syntaxes, that way we could have a (very clunky) or:

if not (if (mem-clothes) is not "top"; if (mem-clothes) is not "jacket");

Or something like that... not sure how it'd work in practice

1 year ago #63
Something like what you're suggesting would be nice to have

1 year ago #64
The closest you'll get to logical OR is to "is not" your other options.
is not A;
is not D;
creates logical "B OR C"

1 year ago #65
One option would be to have a generic memory. This may end up getting more complicated than it is worth, but you could have a memory like (mem-bottom-type) and then have it generically specify to be "nothing", "pants", "shorts", "skirt", etc., and do checks against that rather than the individual piece of clothing. This minimizes the amount of work you need to do if you start adding additional articles of clothing later.

You could even use a numeric memory for this, and just keep in mind for yourself that 1 = shirt, 2 = jacket, 3 = cloak, etc. That way you can use mathematical operators < = >, etc. and check against multiple types of clothing in a single go.

[edit] Just noting what Niko saying below, but yes, it is probably going to be MUCH easier if don't try to put all of your clothing into a single memory but rather have several memories that each hold an article on a different part of the body (top/bottom/feet for example).

1 year ago #66
I'm already kind of doing that, Lisa has a (mem-clothes) with a list of all the clothes she's wearing such as "top", "skirt", etc. and then there's (mem-top), (mem-skirt), etc. for storing exactly what she's wearing. So what I do in the initialization script is something like:

rem "top" as "clothes";
rem "tophw" as "clothes"; (meaning a half-sleeved top going all the way to the waist)
rem "(p:lisa-tees)" as "top";
rem "skirt" as "clothes";
rem "(p:lisa-skirts)" as "skirt";

Then in the keyphrase "take off your top" it would be something like:
forget "top" from "clothes";
forget "tophs" from "clothes";
forget "tophb" from "clothes";
...
forget "topfu" from "clothes"; (total of 10 forgets)

Still, this 2-level system is not enough, I might have to put in a 3-level system with (mem-clothes), (mem-top-type), (mem-top) instead. Especially for the tops, because of all the different cuts and sleeve lengths you can have there

And that's not even considering how to check if Lisa's naked or not (even if we simplify things and assume that footwear and accessories don't count towards it), since as far as I know there's nothing in AIScript to check if a memory's empty

1 year ago #67
If you're using forget, you can use <if (mem-thing) is ""> to check for if it's empty

1 year ago #68
Does the reverse also work? If Lisa's not naked, can I use
if (mem-clothes) is not "";
to check for that?

1 year ago #69
That does feel very complicated. Here's how I would consider organizing this:

Define a variable top-num that as a number that contains all of the various types of tops you want to have. For simplicity, let's say there's four : a t-shirt, a blouse, a sweater, and a dress. And, let's say, we can unbutton the blouse. So

top-num = 0 is no top
top-num = 1 is t-shirt
top-num = 2 is blouse
top-num = 3 is sweater
top-num = 4 is dress
top-num = 5 is unbuttoned blouse

Here you can be more specific. If you want a category for half-sleeved top going to waist, call that top-num = 6. If you want full sleeve going to waist, call that top-num = 7. Personally I would probably do this somewhat systematically, say, have 10 be generic t-shirt, then 11-19 be the different variations of t-shirt, then have 20 be blouse and 21-29 be all of the different varieties of blouse, etc.

And same for bottoms:
bot-num = 0 is no bottoms
bot-num = 1 is skirt
bot-num = 2 is pants
bot-num = 3 is shorts
bot-num = 4 is dress (you as a piece that covers both top and bottom)

Then another memory for the specific piece of clothing:
top = "floral t-shirt", "white blouse", "three-quarter length sweater", etc.
bottom = "knee length pencil skirt", "jean shorts", etc.

Now, if user said "take off your top", you would so something like:
if top-num > 0:
reply: bot removes her (mem-top)
with script top-num = 0 and top = "nothing"

if user says "unbutton your top", you could say something like:
if top-num is not 2
reply: My top doesn't have buttons
if top-num = 2
but unbuttons her (mem-top)
with script top-num = 5, mem-top = "unbuttoned white blouse"

I think this captures all of the same information as what you're trying to do.

[edit]
This also simplifies the "is she naked" problem, which is just if num-top = 0 and num-bottom = 0 then yes. I wouldn't bother trying to forget memories, just overwrite them.

1 year ago #70
Yes, it does work in the reverse

1 year ago #71
Hmm, using numbers for the type of top does make life much easier!

The biggest problem I see with that is that the nudity check becomes more complex, since instead of checking (mem-clothes) I know have to check (mem-#-toptype), (mem-#-skirt) etc. individually, but if I'm using (mem-clothes), I just need to check if that is empty...

Also is there a modulus operator in AIScript? Something that will return true if (mem-top-type) is any of 6, 16, 26, 36, 46... (or another such series)?

1 year ago #72
Also to further build up on your idea:
Instead of going 10, 20, 30, for different top types, I decided to go 100, 200, 300.. and so on

This way I can use the one's place just for the sleeve lengths and I can use the ten's place just for the length

Granted, this isn't very useful now, because the amount of processing you can do with numeric memories is very little, but hopefully that will change soon!
Reply

1 year ago #8047
I use "as only", "is not", "is" in my clothing system, I avoid "as"~

For the chest of my bot it can be the following:

"Black n' Blue Hoodie, T-Shirt"
"Black n' Blue Hoodie"
"T-Shirt"
"Nothing~"

Example;

if (mem-nchest) is "T-Shirt";
rem "Black n' Blue Hoodie, T-Shirt" as only "nchest"


Posts 8,036 - 8,047 of 8,127

» More new posts: Doghead's Cosmic Bar