Skip to content

Case study

Self-learning chatbot

An early chatbot that added to its own answer set from the conversations it had, written in 2021 when building one meant writing the matching logic yourself.

Overview

Written in early 2021, before a hosted language model was something you could just call. Building a chatbot then meant writing the matching yourself, and this one grew its own answer set from the conversations it had rather than only from what it was seeded with.

Worth keeping in the record for what it shows about the years either side of it. The support chatbot built two years later solved a similar-sounding problem in a completely different way, and the difference between the two is the whole shift in the field.

Complexities tackled

Learning from users is a trust problem, not a storage one. Accepting new answers from conversation means the quality of the bot is now the quality of whoever talked to it last. Deciding what gets accepted, and what is quietly discarded, matters more than the mechanism for storing it.

Matching without embeddings. No vector search, no semantic similarity as a service. Getting reasonable behaviour meant normalising input and scoring candidates by hand, which is a good way to learn exactly what embeddings do for you.

Stack

Python.

Working on something similar?

Tell me what you are building and what is in the way. I will tell you honestly whether I am the right person for it.

Start a conversation

Last updated: