Adding my own web service with Program AB

Hello Everyone, I am new in here, hoping to learn a lot. 

I recently started testing Program AB and I find it really powerfull. My intention is to let my bots use my own web services to answer some of the questions.

I understand that is what the tag sraix is there for, but I can't find any documentation explaining how to connect it with my server.

I know this can be done because when I download ProgramAB and I test it, many of my questions are answered via a webservice (ie, "whats the weather like in Berlin"), but I can't seem to understand how to add mine.

Any tips will be appreciated,

Thanks!

 

kwatters's picture

OOB Tags = MRL messages

Hi Kyo,

  Welcome, and that sounds great!  You should definitely be able to do that by using the OOB tags in ProgramAB.  OOB means "out of band".  We have special integration with OOB tags where you can call any method on any service in MyRobotLab from  an OOB tag in AIML.

So, as part of your "template"  you could have an OOB tag that invokes something.

 

Lets say you have a python script that has the following method

 

def doStuff():

  print "hello world"

 

You could trigger that with an aiml template that uses the OOB tags like the following

 

  <category>
    <pattern>OOB TEST</pattern>
    <template>OOB Tag Test<oob>
        <mrl>
          <service>python</service>
          <method>exec</method>
          <param>doStuff()</param>
          <param></param>
        </mrl>
      </oob>
    </template>
  </category>

 

 

The above would invoke the method "exec" on the "python" service with the first arg being "doStuff()"

MyRobotLab also has a HttpClient service, so if you wanted you could invoke something that way also. 

 

Good luck!

  -Kevin

 

KYO's picture

Thanks Kevin! I will

Thanks Kevin! I will definetely will be testing based on your example! ... excpect more questions though :p

 

Thanks again!

kwatters's picture

Ask away!

Good luck with adding a personality to your Robot...  as you want to do more complicated things, please ask away.  There are a lot of services in MRL already and we can definitely add more!