AI Zone Admin Forum Add your forum

NEWS: Chatbots.org survey on 3000 US and UK consumers shows it is time for chatbot integration in customer service!read more..

RiveScript Bot Hosting BETA
 
 

A while back I posted here with screenshots of a bot hosting service I was working on, as a RiveScript version of Pandorabots. I then proceeded to procrastinate a lot, but now I’ve got the code ready for a little beta period. smile

You’ll have to make an account on RiveScript.com (I had programmed in Facebook Login to my site a long time ago, but they’ve changed things since then so Facebook logins will be coming back shortly), and then go to http://www.rivescript.com/chatterbots to create a bot.

This service is a bit like Pandorabots, but is powered by RiveScript. I have an example Alice bot you can chat with here: http://www.rivescript.com/chatterbots/chat/X2JQfUlh

Unlike Pandorabots, when you make a new bot based on Alice (for example), it doesn’t create a full clone of Alice for you to work with. Instead, the service behaves more like RunABot - you write your own responses, and your replies have priority over the base brain (Alice or Eliza). Only if none of your replies match the user’s message is the base brain consulted.

You can add and edit responses using a convenient web based interface, and you can download your bot’s whole brain as a zip file. You can also upload individual RiveScript documents, or a zip file or tarball containing multiple documents.

Using Perl objects in your code isn’t allowed for security purposes. JavaScript objects probably won’t be supported either. If you want to take advantage of those features you’ll have to run your own bot the old fashioned way. wink

The service has an API for developers to use. It’s not documented anywhere yet, but basically, if you want API access to a page you’re looking at, just add “?ajax=1” (or any true value) to get a JSON version of the page. Here’s a specific example for the page that most people will want API access to—the bot chatting page!

http://www.rivescript.com/chatterbots/chat/X2JQfUlh?action=msg&username=soandso&message=who+is+dr+wallace&ajax=1

Where the relevant fields are the username and message. The “X2JQfUlh” is the bot’s unique ID—every bot gets their own unique code, so you’d wanna replace that with your own bot’s as well.

Anyway—this service is in beta, so let me know if you run into any problems with it or if you find any imaginative ways to break it. smile

 

 
  [ # 1 ]

WAAAY COOOL… THANK YOU, THANK YOU, THANK YOU… NOAH !!

I made a bot and got the API working in Yahoo! Pipes.  Will try downloading and uploading KB next.

Something funky was happening with uploading of profile pic….  There seems to be too much mess in the profile; I’d prefer to have all the options optional….

 

 
  [ # 2 ]

Thank, Noah! I do believe I’ll have to make time for this. smile

 

 
  [ # 3 ]

“Download your bot’s brain” doesn’t seem to include “Base brain” (for instance, Alice).  I’d like to be able to see the “Base brain” too in order to compare side by side with AIML; because, I need to use offline power tools to bulk convert my AIML into RiveScript.  Unless you have a AIML-to-RiveScript converter already?  In fact would be a cool feature to be able to upload AIML and have it auto-convert into RiveScript….  ;^)

 

 
  [ # 4 ]

There’s an AIML to RS converter here: https://github.com/kirsle/aiml2rs

I zipped up the Alice base brain and put it here: http://www.rivescript.com/files/sets/alice-base.tar.gz

I have some concerns about the performance of the service for extremely large bots. For example, loading Alice in the Perl RiveScript takes about 8 seconds. Currently, the chat page for the bots is just a part of my content management system, which uses FastCGI so there is *some* sharing of process space, but for the most part, RiveScript has to be initialized and load your custom brain for each request. If everybody has Alice sized brains, this will probably put a lot of stress on the server.

My workaround is to have one “shared” Alice brain that runs as a persistent service. When your local brain doesn’t get a response, it connects to the shared Alice brain to get a reply. I have yet to look into workable solutions for letting everyone have large brains.

 

 
  [ # 5 ]
Marcus Endicott - Oct 23, 2012:

WAAAY COOOL… THANK YOU, THANK YOU, THANK YOU… NOAH !!

I made a bot and got the API working in Yahoo! Pipes.  Will try downloading and uploading KB next.

Something funky was happening with uploading of profile pic….  There seems to be too much mess in the profile; I’d prefer to have all the options optional….

What problem were you having with the profile pic? I saw yours turned out solid black, but I tested an upload and it worked for me.

As for the messy collection of profile fields, I wrote the back-end CMS code for a more general purpose social website and some 90% of those fields aren’t useful or relevant for RiveScript.com… so they’ve been trimmed down quite a bit. smile

 

 
  [ # 6 ]

Hey, Noah? I’m getting the same issue with image uploading that Marcus did. I tried using images from both my computer and the web, with the same results: Just a solid black square. I assume that you’re using a script function that uses the GD library? Or with it being PERL (I’m assuming), is it using the ImageMagik functions?

 

 
  [ # 7 ]

It’s ImageMagick… I’m wondering if its because you’re uploading images smaller than the site expects (it creates a handful of different sized avatars, and you and Marcus are uploading small avatars). Going to the main image view page shows the avatar, its just all the pages in between that shows a black square. I’ll have to do some more poking at it and figure out what’s wrong. smile

 

 
  [ # 8 ]

I’m not as familiar with ImageMagick as I am with the GD libraries, so I don’t think I could be much help. Heck, it’s been over a decade since I wrote a PERL script smile However, that said, if I can assist, just yell. smile

 

 
  [ # 9 ]

Hi Noah, nice work!  I’m curious which version of ALICE you’re using.  The “latest and greatest” ALICE AIML may be found at http://code.google.com/p/aiml-en-us-foundation-alice/

 

 
  [ # 10 ]

> http://apiary.io/

I’ve recently found an “API documentation generator” (@apiaryio), which might help document the API.

> http://www.mashape.com/

It might be worth looking into offering the RiveScript API on @mashape (Cloud API Hub); for example, @pannous offers their “virtual assistant” API on Mashape (below).

> http://www.mashape.com/pannous

 

 
  [ # 11 ]

Noah, help!  I got snagged by two things.  The first was getting your converter to run on Windows.  As much as I hate to admit it, I’m having trouble using github and running Perl under Windows….  Yes, I’ve followed heaps of online tutorials, but spent a tremendous amount of time and without success.

> http://www.meta-guide.com/home/about/best-of-the-best-videos/best-github-windows-videos

> http://www.meta-guide.com/home/about/best-of-the-best-videos/best-perl-windows-videos

The second snag was the capacity issues you mentioned above.  Is it really worth all the time and effort to convert my AIML into RiveScript if the performance of your system can’t handle it?  What are the knowledgebase size limitations?

What might help me with your converter would be some kind of flow chart or screencast for Windows quickstart….

 

 
  [ # 12 ]

Noah,

Just wanted to say that I was able to set up and account and build a module that connected RICH to your API very quickly. I found it to be very straight forward and easy to use. Good job! I havent had a chance to play with the online controls very much, but what I was able to do was likewise very easy to use and I look forward to using it more.

Vince Gilbert

 

 
  [ # 13 ]

Okay I know this is old but is there a updated link for the rivescript hosting site for chatbots?

 

 
  [ # 14 ]

I discontinued this one due to lack of interest (there were hardly any users on it and the ones that there were had no custom replies either, etc.)

I bolted the code for this on top of an existing site codebase I had at the time, which was written in Perl and had its own problems (memory leaks, etc.); I may revisit this again in the future and write it in something more capable of scaling and being self-contained/easy to deploy, like Golang.

 

 
  login or register to react