Woah. I am doing something very similar also using lancedb https://github.com/nicholaspsmith/lance-context
Mine is much more basic than yours and I just started it a couple of weeks ago.