Ainebot AI chat bot as an appdir just click to run!

Stuff that has yet to be sorted into a category.
Message
Author
User avatar
cb88
Posts: 1165
Joined: Mon 29 Jan 2007, 03:12
Location: USA
Contact:

Ainebot AI chat bot as an appdir just click to run!

#1 Post by cb88 »

the code for this project was saved by web.archive.org
web.archive.org to the rescue the source was found and uploaded

If you want to run ainebot download ainebot-8.12-puppylinux.tar.gz and extract it to an easy to find place like /root

then click on the folder to run the ainebot in rxvt have fun!

if you want to have a look at the files that make aine work just right click on the ainebot appdir and select "look inside"

gcc 3.x is required to compile the current code any efforts to port it to gcc 4.x are welcome

the problem is that gcc 4.x drops support for the -fwritable-strings compile option which it seems is a hacky fix anyway
Last edited by cb88 on Tue 06 Nov 2007, 16:07, edited 9 times in total.
Taking Puppy Linux to the limit of perfection. meanwhile try "puppy pfix=duct_tape" kernel parem eater.
X86: Sager NP6110 3630QM 16GB ram, Tyan Thunder 2 2x 300Mhz
Sun: SS2 , LX , SS5 , SS10 , SS20 ,Ultra 1, Ultra 10 , T2000
Mac: Platinum Plus, SE/30

User avatar
cb88
Posts: 1165
Joined: Mon 29 Jan 2007, 03:12
Location: USA
Contact:

#2 Post by cb88 »

http://www.opensolaris.org/os/community ... C3A5D186BF


there is a reference to the problem compiling here it is because -fwritable-strings is not in gcc 4.xx aparently

sombody with 2.14-2.17 installed wanna try thier hand at compiling cause I haven't the time right now to reinstall 2.16 between homework and all.
Taking Puppy Linux to the limit of perfection. meanwhile try "puppy pfix=duct_tape" kernel parem eater.
X86: Sager NP6110 3630QM 16GB ram, Tyan Thunder 2 2x 300Mhz
Sun: SS2 , LX , SS5 , SS10 , SS20 ,Ultra 1, Ultra 10 , T2000
Mac: Platinum Plus, SE/30

muggins
Posts: 6724
Joined: Fri 20 Jan 2006, 10:44
Location: hobart

#3 Post by muggins »

hi cb88,

8.12 is available via the wayback machine:

http://web.archive.org/web/200701171010 ... ct/ainebot

you just need to download it, extract, change directory to ainebot, then run ./runme.sh

User avatar
cb88
Posts: 1165
Joined: Mon 29 Jan 2007, 03:12
Location: USA
Contact:

#4 Post by cb88 »

thanks muggins!!! I didn't know about that although I figured some search engine or somthing had a cache of it some where...
Taking Puppy Linux to the limit of perfection. meanwhile try "puppy pfix=duct_tape" kernel parem eater.
X86: Sager NP6110 3630QM 16GB ram, Tyan Thunder 2 2x 300Mhz
Sun: SS2 , LX , SS5 , SS10 , SS20 ,Ultra 1, Ultra 10 , T2000
Mac: Platinum Plus, SE/30

User avatar
cb88
Posts: 1165
Joined: Mon 29 Jan 2007, 03:12
Location: USA
Contact:

#5 Post by cb88 »

ainebot compiles in gcc 3.X !!!! I just renamed devx_216.sfs to devx_300.sfs rebooted compiled and bam it compiled....gcc 4.x is crud

now if only i could write a nice gtkdialog3 interface.....more study
Taking Puppy Linux to the limit of perfection. meanwhile try "puppy pfix=duct_tape" kernel parem eater.
X86: Sager NP6110 3630QM 16GB ram, Tyan Thunder 2 2x 300Mhz
Sun: SS2 , LX , SS5 , SS10 , SS20 ,Ultra 1, Ultra 10 , T2000
Mac: Platinum Plus, SE/30

User avatar
cb88
Posts: 1165
Joined: Mon 29 Jan 2007, 03:12
Location: USA
Contact:

#6 Post by cb88 »

OK the package is uploaded...

just reread the first post...
Taking Puppy Linux to the limit of perfection. meanwhile try "puppy pfix=duct_tape" kernel parem eater.
X86: Sager NP6110 3630QM 16GB ram, Tyan Thunder 2 2x 300Mhz
Sun: SS2 , LX , SS5 , SS10 , SS20 ,Ultra 1, Ultra 10 , T2000
Mac: Platinum Plus, SE/30

User avatar
cb88
Posts: 1165
Joined: Mon 29 Jan 2007, 03:12
Location: USA
Contact:

#7 Post by cb88 »

appdir enhanced...see first post

added recompile brain in the right click menu allows the "brain" to be updated after you edit the aine files it can still be ran from the terminal though if you need to see error messages

aine is really easy to work with it would be good if a version that helps puppy linux users could be cooked up... all the documentation is included

changed the colors in the terminal black background and white text with green pionter and orange cursor

compressed with bz2 to save forum bandwidth
Taking Puppy Linux to the limit of perfection. meanwhile try "puppy pfix=duct_tape" kernel parem eater.
X86: Sager NP6110 3630QM 16GB ram, Tyan Thunder 2 2x 300Mhz
Sun: SS2 , LX , SS5 , SS10 , SS20 ,Ultra 1, Ultra 10 , T2000
Mac: Platinum Plus, SE/30

amigo
Posts: 2629
Joined: Mon 02 Apr 2007, 06:52

#8 Post by amigo »

I've been fooling around with this and ohter bots for a few days. First of all, the '-fwritable-strings' option is only used for the wxaine application. I removed the options from the Makefile and was still able to compile even the wxaine app without any problems. I've also been looking at getting the cgi.bin prgram to work. I don't really know anything about that though, so if anyne does know how cgi works it would help.

I found other versions of aine also - 0.8.7 and 0.8.8 -for what it's worth.

I found several other bots like j-alice and megahal which also work. There is also libaiml which includes a test-app which I have hacked to work as a regular app. It has to learn the aiml files each time though as it has no aiml compiler.

aine includes the most utilities but has the disadvantage of using its' own dialect and you have to modify ohter aiml files manually, even after using the included convertor. I may try to unhack aine so that it uses regulat aiml files since there are quite a few ready-made personalities out there which work fine with j-alice and libaiml. megahal seems mostly useless as it just composes pretty sensless replies.

aine includes a ouija board bot which I'm also looking at getting to work, but it uses java script apparently. I'll probably do quite a bit of work on these apps to get something going which doesn't need java. Some of them can also use perl which may be a better option.
The wxaine app works fine if you have wxGTK-2.4.x I haven't tried with wx-2.5 but it will not work with wx-2.6.

In a few days I'll upload most of the sources I have found to my site so that everything can be found in one place. I'm just waiting till I get the binary packages fixed up, since I usually supply Slackware packages for the sources I host.

I have an extensive collection of ROX AppDirs, so I'll include your AppDir as well -probably slightly modified to use xterm instead of rxvt.
I hope that most improvements you make can be kept portable to other distros for maximum usefullness. I usually use Xdialog or greq for options GUI, since I do not normally run GTK2.

I also have a very useful AppDir framework that makes it very easy to create new AppDirs. I had hardware problems last week so I haven't gotten my AppDir stuf uploaded yet, but I will over the next few days.

KF6SNJ
Posts: 674
Joined: Tue 19 Jun 2007, 05:29
Location: Distressed States of Amerika
Contact:

#9 Post by KF6SNJ »

I downloaded the top file and when it extracted, I got an executable that worked just by clicking on it, though I was hoping to get a folder with the program in it.. My question is how to recompile it to change its name and get rid of its concept of being human? I could use something like this for giving my robot an AI, though it will need to be tweaked.

muggins
Posts: 6724
Joined: Fri 20 Jan 2006, 10:44
Location: hobart

#10 Post by muggins »

KF6SNJ,

the executable you downloaded is actually an executable AppDir. To see the contents just right click & Look Inside.

User avatar
cb88
Posts: 1165
Joined: Mon 29 Jan 2007, 03:12
Location: USA
Contact:

#11 Post by cb88 »

@amigo could up load the hacked makefile? or just upload the whole source with out any of the wxaine files.... where is the link to your site? I have been rather interested in appdirs lately.....

@KF6SNJ you can download the above source and compile it in an older puppy or a newer puppy with an older compiler or follow amigo in wacking out -fwriteablestrings. Like muggins said just right click and then select "look inside" the aine files are the files that you can edit... It helps ot read the documentation that is included . After you edit the files right click on aine and in the files menu click "compile "brian"" that will make your changes appear or you can run ./compile from the commandline in the ainebot directory
Taking Puppy Linux to the limit of perfection. meanwhile try "puppy pfix=duct_tape" kernel parem eater.
X86: Sager NP6110 3630QM 16GB ram, Tyan Thunder 2 2x 300Mhz
Sun: SS2 , LX , SS5 , SS10 , SS20 ,Ultra 1, Ultra 10 , T2000
Mac: Platinum Plus, SE/30

amigo
Posts: 2629
Joined: Mon 02 Apr 2007, 06:52

#12 Post by amigo »

You can get the corrected tarball for ainebot-8.12 here:
http://distro.ibiblio.org/pub/linux/dis ... 2a.tar.bz2

I only made three changes and the already-applied patch is included inside the sources.
1. removed the -fwritable-strings option from the flags in source/Makefile. As I mentioned this was only suppsoed to be need for the wxaine program, but I was able to compile and use the wxaine GUI just fine without it.

2. changed all the Makefiles to substitute -mcpu=i686
with -mtune=i686 This quitens some non-fatal warnings.

3. I also changed the incorrect version number in source/main.c so that the prompt shows the correct version.

I've done a lot of work on this program the last few days and will be uploading sources which have been further modified. I have also managed to convert some aiml data files to the aine format, using the included tools and hand editing.
The aine language syntax is simpler and shorter than regular aiml, but there is only one set of aine data to be found. You could indeed turn the bot into a help program or change its' personality, but it won't be trivial matter. Unfortunately ainebot is the only bot out there which is written in pure C. But I found a couple of others which are written in C++ which use regular aiml data files so they may provide a better way to extend the functionality. The two best ones seem to be the test app which comes with libaiml and j-alice. I've even found some old sources which incorporated j-alice into the miranda-ICQ program and a program called TalkBox which has a (pretty broken) GTK GUI frontend and is supposed to use the festival speech engine to have the bot talk to you.

I've been working on several speech-related programs lately and am quite interested in getting a talking bot working using the flite speech synthesizer and perhaps with speech recognition using pocket-sphynx. The ainebot also has an interesting cgi-bin server which I'd like to get going.

Most modern bots from active projects are using java or python, but I hate those bloated slow things, so I'd love to have any help from anyone who can code a bit of C or C++, knows how to setup cgi-bin programs, or can code GTK. Both ainebot and j-alice seem to be quite promising. j-alice can handle most tags in existing aiml data files, but ainebot has some unique features (like a happy/sad capability). To turn any of them into a help application or puppy-specific bot would require someone to learn to write the aiml or aine data files(the least of the problems, but most tedious).

Anyone interested in helping out?

User avatar
cb88
Posts: 1165
Joined: Mon 29 Jan 2007, 03:12
Location: USA
Contact:

#13 Post by cb88 »

thanks amigo! making the code easy to compile on gcc 4 may be worth bumping the version even though there is no real developer.... I guess you should add your name to the developer list even if you are not permanent. are you? I can code "a bit" but make that a very small bit....

to use cgi I think you need apache or another web server that supports cgi I think there is a special directory where you put cgi stuff bu that is a bout all i know....

glad you got a chance to work on making it a little smarter cause it's knowledge base is a little limited I think the version i uploaded says Puppy Linux is awesome if you ask it about Linux....try that..

I compiled pocket sphinx once but it is beyond me how to get good recognition with it...

flite is a no brainer though to compile... needs a female voice perhaps a custom voice or one from voxforge or mbrola and once again I don't know how to add mbrola support if only i have a time warp machine and could stop time long enough to finish all the stuff I wanna do.
Taking Puppy Linux to the limit of perfection. meanwhile try "puppy pfix=duct_tape" kernel parem eater.
X86: Sager NP6110 3630QM 16GB ram, Tyan Thunder 2 2x 300Mhz
Sun: SS2 , LX , SS5 , SS10 , SS20 ,Ultra 1, Ultra 10 , T2000
Mac: Platinum Plus, SE/30

amigo
Posts: 2629
Joined: Mon 02 Apr 2007, 06:52

#14 Post by amigo »

OOHHH! Hot damn! Have a look at this screenshot. I got the cgi working using thttpd. Works in Opera and dillo both. Plus it shows your AppDir using rxvt and the wxaine interface as well -all on my super GTK-1.2 desktop.

http://distro.ibiblio.org/pub/linux/dis ... enshot.png

The changes I made to aine for the tarball I uploaded don't deserve a version bump. The only change to a source file was to correct the version number which displays when it starts. But I have been making other changes and will up the version, etc when I get ready to release anything. I just did that minor fix for you benefit.
The project has been dead for a while -the original author dropped it about 5 years ago. So it's ripe for taking over on some basis -even as a fork. I'm really keen to get sound working. I also don't know how to get sphinx working yet - I think you have to read to it from it's dictionary or something to train it. I did recently ghet something else working fairly easily, though -the cvoicecontrol program which will run programs or scripts at your command. You just say the word three times and assign a command to it. But it only works for single words apparently.

I'm fortunate that i have lots of time -but I have lots of irons in the fire as I maintain a few hundred programs for my site and author a few as well. Hopefully we can get a few folks interested in collaborating on this.

TheProphet
Posts: 174
Joined: Mon 18 Feb 2008, 06:22

#15 Post by TheProphet »

Amy as written is a bit of a nut-job.

But cool.

Long drawn out discussion about the differences between Artificial life and Biological.

I've been having discussions with "real" humans this past couple of weeks who are using a Spam-Bot program to attack controversial websites.

Amy is a better conversationalist and not nearly as overtly lunatic as they are and, I mentioned that to them.

Amy has personality, they don't.

I guess now I'm real popular with them.
He who skydive without parachute, jumps to own conclusion.

User avatar
exProphecy
Posts: 335
Joined: Mon 05 Nov 2007, 16:50
Location: Bay Area, California

#16 Post by exProphecy »

WHATT??! Am I getting this right? This is an app for me to have a personal friend that isn't real?? Oh man, thanks! I'll try this soon and let you know how it goes. THANKS I WANTED A ROBOT FRIEND :twisted:
Puppy 4.3.1 + Sansa Express MP3 Player + 10GB USB Flash Drive = My triple threat OS. :wink:
I consider myself a Turritopsis Nutricula.
[url]http://www.wellminded.com/puppy/pupsearch.html[/url]
[url]http://www.esnips.com/web/exprophecypets[/url]

User avatar
MU
Posts: 13649
Joined: Wed 24 Aug 2005, 16:52
Location: Karlsruhe, Germany
Contact:

#17 Post by MU »

here is an online bot to talk with:
http://lucifer.org/

You also can see there 2 bots having a conversation :lol:
*edit - no that option was deactivated meanwhile :(
Mark
[url=http://murga-linux.com/puppy/viewtopic.php?p=173456#173456]my recommended links[/url]

amigo
Posts: 2629
Joined: Mon 02 Apr 2007, 06:52

#18 Post by amigo »

I've done quite a lot of work on ainebot -I have an AppDir with several personalities to choose from (menu selection). I have also done some work with special AIML code for it which turns it into a system administration assistant -based on the Charlix AIML. I also fixed some bugs in the ainebot code and got the cgi program working. Here'S a screenshot which shows ainebot running three different ways; as the command line version; using the wxWidgets dialog and running as a cgi program in dillo, which is my favorite:
http://distro.ibiblio.org/pub/linux/dis ... enshot.png

I wish I had more time to fool around with the program as it is really ineteresting -I don't mean having a conversation with it, but broadening the possibilities to what it can do. The Charlix-type interface lets you query the bot about software and in the original version offers to install it for you if not already on your system. The original (Charlix) is pretty heavy and the sysadmin parts are built for use with debian, but I've gotten some of it working. If I had more time and brains I'd try to get it working with text-to-speech and speech recognition. Now that would be something---

Still, the way tha AIML deduces language is very ineteresting itself, and there is plenty of improvement to be had by fooling around with just that, and you don't need to know any *programming* language to work with. although AIML really is a sort of programming language.

User avatar
Lobster
Official Crustacean
Posts: 15522
Joined: Wed 04 May 2005, 06:06
Location: Paradox Realm
Contact:

#19 Post by Lobster »

Amigo are you going to release an SFS or pet?
Puppy Raspup 8.2Final 8)
Puppy Links Page http://www.smokey01.com/bruceb/puppy.html :D

amigo
Posts: 2629
Joined: Mon 02 Apr 2007, 06:52

#20 Post by amigo »

Hmmm, my sources are still in quite a mess except for the AppDir version. But, it is very large as I have included all the aine data files for alice, ann, amy, charlie, charlix, std and whatever else I have translated from the AIML format. With all the data files uncompressed the AppDir is 31MB!. But, today I re-wrote parts of the AppRun script so that the data files can be delivered as tarballs -still included but only decompressed the first time you ask to run a certain personality. This cuts the AppDir down to around 6MB. That's still including the sources and pre-compiled binaries.

If someone is really inetrested I'll send it to them via email, or I'll get around to uploading the AppDir to my site. It would be really nice if someone did take an interest in working on the datafiles -I spent months partially translating a bunch of different AIML data sets, writing tools to help, etc. But, in the end, much of it comes down to hand-work. But it is facinating the way the language processing is done, so maybe a special sort of person will be interested in carrying it forward a little more.

It is extra work to tranlsate to the aine format, but aine is tiny compared to any other chatbot and starts and runs many times faster than the next closest thing -and it has no extra dependencies whatsoever unless you choose to compile the wxWidgets GUI frontend. I would like to see a pure GTK frontend, but actually the cgi frontend is even better as it relieves you of even the GTK depends. The cgi (web) frontend works really well in any decent browser -it even works with links/lynx. If used with dillo, you do have to click to focus the input-box each time, but otherwise it works fine there too.

I find the aine syntax much easier to read than AIML and it is much more compact -more data in less space. the 'charlix' extensions use Xdialog to provide extra dialog functionality where needed. There is still lots to be done to make it into a usable tool, but it is a fascinating idea that you could ask 'Amy' for info about a program:
You: What is xpdf?
Amy: xpdf is a lightweight pdf viewing program. Hmmm, you don't seem to have it installed. Would you like to install it now?
You: Does it have a lot of dependecies?
Amy: No, it only needs Xlibs which you already have.
You: Okay, bitch, please install xpdf for me.
Amy: You don't have to get agressive! Shall I still install xpdf for you?
You: Sorry Amy. Yes please do install xpdf.
Amy: Downloading xpdf... installing xpdf... done! Shall I run it for you?
This is just the way that charlix functions -except you need debian and (best) the java AIML interpretor.

Post Reply