This looks great. I really think a good use case for the current generation would be to be able to extend it with your own data.
Having internal users ask questions then have a ChatGPTesque system answer with injected data would be nice. Would be very tightly controlled (or it couldn't answer what it doesn't have).
Something between a rigid chatbot that's exists now and ChatGPT that just makes up plausible answers.
That sounds amazing! Where would be a good place to start digging into chatbot tech? Specifically, I'm wondering how to dynamically rewrite scripted dialogue and it is a deceptively deep topic.
I would think if any human-speakable language were promoted for AI uses, it would be the machine parsable language based on formal logic, Lojban. I've thought for a while that this is the perfect halfway-point for human-computer communication.
Any tech stack will work. That being said, I'd optimize for something that has enough power for NLP, but still makes it easy to work with sometimes unreliable chat services. Javascript and Python are both common options, Go and Elixir would be newer more experimental choices.
There is nothing about a chatbot like framework that precludes any given technology.
Sure. But if you combine the understanding that this chatbot has with a Wolfram Alpha backend, you could build an even more amazing system. I'm sure someone is working on hooking up language models to math backends (anywhere from a simple calculator to Wolfram Alpha).
I see what you're saying, but you're assuming that consumer products are always chatbots (and that a small language model can buy time interacting with the user while possibly providing additional context). That being said, I would be interested to see such a system in practice - any examples you can point me to? My more general point was not chat-related; much of the research around RAG seems to use LLMs to parse or route the user's query, improve retrieval, etc. which doesn't often work in practice.
I had a bit of fun with chatbots. If you want OS and easy way, you have 3 choices really:
- AIML engine
- MegaHAL engine
- proper parsers (most of them are written in lisp-like languages for some reason)
Now it really depends on what you want to do - only waste someone else's time? MegaHAL will do just fine. You can feed it conversations all the time and it will learn to interact in some environment rather quickly.
If you want some basic scripting, you should look at AIML-based soft. You can write your scripts and basic expression reduction in XML. There's a "javascript" tag in the specification, but noone really supports it. I map it to python functions in my bot and it works quite well. You will never parse more exotic sentences though - just basics. And your bot will not learn automatically.
If you want to use it for something really useful, look at the http://www.generation5.org/ articles. You'll find a lot of code that's easy to port to your favourite language there. Serious language parsers connected to something like word-net are the only way to go if you want good quality. And you need to create a lot of stuff yourself - afaik there are no standard response libraries like alice, because the parse format is not really standardised.
Should be easy nowadays to have a chat-based AI which, given some provided requirements, suggest similar tools that have been built by other SBUs.
Even if only to look at the code.
Good points man! You really covered the topic well. And chat and conversation is a nice building block to not only get stuff accessible in places that are low bandwidth and low-tech but also prepare for future developments in voice interaction as what you learn and cover in text you can easily move to voice once voice is good enough.
I also like the approach of Viv here to build complex queries dynamically over different hooks. These kinds of technologies will be key to enabling more complex use cases with bots.
reply