Powerful AIML2 chatbot client for ARC using the Bot Libre opensource cloud service
How to add the Bot Libre robot skill
- Load the most recent release of ARC (Get ARC).
- Press the Project tab from the top menu bar in ARC.
- Press Add Robot Skill from the button ribbon bar in ARC.
- Choose the Artificial Intelligence category tab.
- Press the Bot Libre icon to add the robot skill to your project.
Don't have a robot yet?
Follow the Getting Started Guide to build a robot and use the Bot Libre robot skill.
How to use the Bot Libre robot skill
AIML2 chatbot client for ARC using the Bot Libre free open source cloud service. Bot Libre lets anyone create a chatbot for their robot with unique and customizable personalities.
Get Started
Visit https://botlibre.com
Press Sign Up (don't worry it's free)
Verify the email that Bot Libre will send to you. This email verification must be done in order for the API calls to work, otherwise you will receive an error when using this robot skill.
Activate the API by obtaining an "Application ID" in Bot Libre's "User Settings". Click User Settings from the top menu of the website under your username. Then press the "Obtain" next to Application ID. This step is also required for the API calls of the robot skill to work.
Press the BOTS icon and New Bot
Give your bot a name and select it to be built off an existing bot. It's best to make your bot private as well using the checkbox for Private.
Using in ARC
In arc, you will enter the username and password of the botlibre.com website in the config window. Then, press the Refresh Bot List button and select the bot you wish to use. Your bot will only display in Private if it is marked as private when it was created on bot libre's website. Otherwise, you can revisit botlibre.com and edit the bot to set it as private.TO DO
- add option to play the audio generated from the bot
- parse response for [ scripts ] to display embedded scripts
Giving it a try now but having trouble connecting to their service when I try to load in my bot. I have created the bot and can use it directly on their site.
Have you seen this error before?
I haven’t but I’ll make a few changes on another build to help debug it. Their api appears to be documented well but it’s quite finicky. I spent quite a bit of time in the last week trying to get it working.
If you uncheck only my bots, does anything show up in select bot drop down?
Perry - try this Version #3 update. I was able to extract additional error information from the request. So we should see a more detailed message rather than generic "Bad Request". Let me know what you experience.
I am getting IP has been banned for the day, max invalid app ID attempts Fix error and press Connect menu option to connect to the server
will try tomorrow
Hi DJ, V3 does produce a more detailed error code. Kinda feel sorry for the person that has to try to decode it.
Problem being each time I try to get a connection I get a new error code. They are never repeated.
Are you able to view public bots? the checkbox isn’t checked is public bots
and haha - that’s my life... looking at code and making robot software
No luck with public bots either. Just assume going ahead that I am trying both ways. I am seeing that my instance ID box never populates aw in your example but perhaps that would happen after a successful connection
The instance id is populated when the bot is selected. But you have to login first
hmmm let me try something else. I’m wondering if there’s a setting when creating a bot libre account that is missing. I’ll have to try creating an account from scratch and see if there’s anything I missed.
Let me check it out and get back to ya
Check steps #3 and #4 in the tutorial above. It seems the API Application ID must be obtained by pressing the "Obtain" button in your user settings on the Bot Libre website.
Mine works on their site - I use my computer mic to speak -
on Arc
worked once then stopped
now it works
works some times :-( ran out of juice, try next week
every company needs a test department
EzAng your tester :-)
I saw that DJ but when I click on it I get assigned an affiliate link to get paid when other people click on my chatbot so I did not do it. I will give it a try though
Click on the "Obtain" button. Do not click on "Affiliate Link". While they're close to each other on the screen, they are two separate things on two separate lines. Lemme know!
That did it DJ. Either that or the V4 update. Those links were just too close together for me to notice they were two different links. I will spend some more time with it today after work to see how smart I can get this guy.
Nice! I will be adding the control commands today - so it should be done by the time you're off work
Also of note I have created more than one bot on their site. When I refresh the bot list only the last bot created appears in the drop down even though multiple are available on their site.
Are they all marked as private? I'll take a look into that as well
Hmmm I seem to experience that same behavior. I have 3 bots but only one ever shows up as "Private". They're all marked as private in the settings, but only one gets returned through the API and only one is displayed when i filter PRIVATE through their webpage.
I emailed them to ask what is going on - must be a setting somewhere...
Anyway, the latest version of the plugin skill supports control commands so you can send commands programmatically now.
That is so cool! Thanks again DJ! You are the best!!!:D:D
I will have some time on Saturday to try it. I have spent a whole lot of time customizing the original 1.x AIML in AimlBot for my Simone robot. There are literally THOUSANDS of changes needed to change ALICE (the chatbot) into SImOne (the robot).
And ALICE is a blank slate. She knows almost nothing. I suppose I will spend the next year adding content to her so she can have a real conversation.
Thomas Messerschmidt
Haha ya I hear ya. There’s so much potential with this bot.
@perry, I’ve been in contact with bot libre about querying the private filter not returning more than 1 bot. They’re a bit slow to respond but I’m sure they’ll have a fix or solution soon
This looks fun do I need to be a Pro member to try this out with Synthiam software?
@thomasfromla - looking at some of the documentation on the site it looks like you can start with an ALICE template. From there you have the ability to import AIML files so perhaps it might be as easy as importing your current AIML files. I haven't figured out how to do that yet.
@robo rad - Not sure but I think you can use this as your one allowed plug-in. Give it a try and let us know.
Will try thanks Perry!
What bots are you guys using as a template. I've tried 3 and each one is typical only answers questions. Is there a way to have conversation, where the bot asks you questions?
Hi Will, I have been playing around with this a bit. It is important to understand how the bot is setup on their website. There are many options and the tutorials are not all that great. Where you want to start depends on what you want to do. Also, until the bug is fixed you can only have one bot at a time on their website to import. I have made and deleted a few of each. I have had the most entertaining time with the AI Template. Base your bot off that if you want a learning based robot. It can remember responses. You can import information to talk about and I am still learning about that.
The tutorial above will get you through most of the process, just use the AI template and at some point in the future import chat logs and AIML scripts.
We'll be working through this together
Sounds like perry will be teaching us how to use it, will
Yes! I will be interested in building out an AI Template. I’m going to look deeper into this one.
If you would like to speak to your bot instead of typing to it you can easily use the Bing Speech recognition. Here is the basic setup I have.
In the Bing configuration where it says 'All recognized script' put in this line of code.
Now you can just talk to it with no typing.
Nice! That's a good idea
Thanks Perry for all your great work in getting this working !!!! cool:)
Thomas
No prob! Like perry said, there’s A LOT to it so be prepared to learn their options and settings. I have to read more of what aiml2 is and how to program it
Mine is working again, who knows lol
EzAng your tester
followed Perry's advice
Hi DJ, Any news on accessing multiple bots through the drop down list?
No word from the developers yet. I figure they’re working on it. With a project of their size, I imagine it’ll be a bit. Not everyone works as fast as us
Perry - the latest update has a fix for listing all personal bots
Thanks DJ, I was wondering if that was on your side or theirs but I noticed it last night.
It was a combination of both sides, ugh.
Their documentation for the API is outdated and doesn't mention any parameter to "filter by personal bots". The only option they documented was "filter private". But even the filtering of private didn't work because our private bots would only list 1 of the many. Their email responses when i raised the issue told me it was because my bots weren't configured correctly. Anyway, this went on for a while where i believe they actually checked and realized "oh man, this guy is right its is broken"
So they got back to me this morning with an email that said to use a different api call, which is not documented anywhere... with a parameter, that is also not documented anywhere
Needless to say, it magically works now haha
works well again
thanks
We'll I have spent some time working with Bot Libre now and I would like to share some first impressions as well as high points and disappointments
As you have seen above I made a simple app with everything needed to speak and listen to bot libre. here is what I found.
Pros -The web interface is easy to use to create a bot based on their templates. -DJ has done a great job of integrating their services. -They have a couple of different templates and scripts to import that are good. -It can offer limited learning abilities on things like names. -They track bot emotion - that is cool
Cons -It seems to be a dead site and the forum has listings to 2016 as most recent
-They have an AI competition which is a really cool idea having different chatbots talking to each other. That would be really cool. The clear winners seem to be pretty dumb when you talk to them one on one.
Summary -In my opinion this is on par with the Pandorabots plugin that currently exists. I still feel that Pandorabots 2.0 is the golden key. It is the industry leader and perhaps a plugin could support their use with a pay subscription now that we are in pay subscription territory.
Second Summary My dream of a talking bot that I can talk to is still way off. I seek a fully interactive AI. But I guess if those really existed they would have me working in the dilithium mines. I can tell a bot is a bot in 2 questions. That is sad.
Alright! That's great feedback. I'll get started on a pandorabot 2.0 skill for ya. Excited to see what you can do with it.
Thanks DJ. I think a good first step before migrating would be for yourself and perhaps Jeremy or PTP (he's good at this stuff) go in with a programmers mindset and see if you can take a couple hours and create a bot that it truly interactive. Really give it a run through and see what the talent can create. I don't want you to have to do a lot of reprogramming because I many not be the best person to interpret their platform.
Thanks Perry, that was really detailed.
DJ, I am retroactively thanking you for adding this. It might be our best option right now. Starting to spend more time with it. It's not the cure all but with Pandoarabots gone...
I am really surprised that with all the stuff that gets developed a simple learning conversational bot is not a reality. A little puck that talks to you like a friend or something. Empowered by the endless depth of knowledge available on the internet. I know it's hard but it is probably hard to code an app that puts a stupid sets of bunny ears on you in real time for your phone as well. Sheesh, /rant
I too worked some with Bot-Libre but ran into a lot of roadblocks including that "SELF" language which totally through me off. For the time being, I have returned to AIML 1.
Currently, besides my work on Simone the fembot, I am building a conversation tree template in MS Excel to facilitate the logic and text in producing chatbot topics with the goal of being able to have a real conversation. You can't build a topic one line at a time. You need complex conversation trees. Alice could never carry a real conversation. Alice has very few conversation trees (and a lot of mistakes!) out of the box. As you may know, a conversation tree, like a common programmer's flow diagram, lets you plan your bot's conversation. If you start with a 4 x 4 matrix of input and output and then allow each individual category on each level to go to 4 x 4 , you end up with quite a few categories, but you might just end up with a good conversation. Yes, it is manually intensive, but it is the only way that I think to make AIML smart. Brute force works in playing games like chess and it could work in AIML as well.
Simone the AI fembot, by the way, is physically complete and has basic voice operated servo control. My first servo Magazine article has been published and it is ON THE FRONT COVER. As I am using an EZ-B and ARC, Synthiam is getting a lot of free press. You're welcome.
DJ, would you please let me know of any big ARC changes coming down the pike? I have uploaded sample code here and will be putting it on github as well. As you are well aware, ARC changes will often require changes in the code for me and my readers/builders.
I can't integrate the robot skill "bot-libre". After the installation, I can enter the userid and password, but I can't enter the "Application ID", the field cannot be activated. Does anyone have a tip for me?
From the manual above:
Also, there is no field named "application id". The field is named "Instance ID" - make sure you're referring to the correct robot skill.
@Athena can you translate the robot skill instructions and manual to german for fredhess? Thanks
Sicher! Hier ist die Anleitung für den Bot-Libre-Roboter-Skill:
Wenn Sie weitere Fragen haben, lassen Sie es mich bitte wissen.
I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.
@athena please also let Fredhess know that the "Instance ID" field will only be updated if the instructions are followed? Tell him that in german. thanks
@fredhess Bitte beachten Sie, dass das Feld "Instanz-ID" nur aktualisiert wird, wenn Sie den Anweisungen folgen.
I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.