Just fyi that I've started adding a Koog AI agent ...
# confetti
j
Just fyi that I've started adding a Koog AI agent to the Confetti project (in following branch https://github.com/joreilly/Confetti/compare/koog?expand=1). The project had been using Gemini directly before (if key was present) for providing recommendations but having an agent like this (along with associated tools) is a lot more flexibile). This is still focussed on the active conference but be cool at some point to be able to query across different conferences.
b
Very cool! Can this use a local LLM (LiteRT I guess?)
j
Haven't tried it yet but should be able to....and an Ollama model on desktop
πŸ‘ 1
Looking to update this to use Koog's embedding/RAG support.....basically (at least as I understand it right now) we can create embeddings for all the conference info which LLM can use.....still learning exactly what it is right now πŸ˜ƒ
πŸ‘ 1
this may btw turn out to be something that's more suited to the backend.....could perhaps maintain the associated vector database there.....along maybe with agent itself
cc @mbonnin
m
Sorry I don't understand any of those words πŸ˜…
πŸ˜‚ 2
j
I vaguely understand them as of maybe 10 minutes ago πŸ˜ƒ
b
my overly simplified understanding of RAG is "semantic hash"
j
I've tried out the embedding "thing" locally here with info for one conference and seems to work quite well
this is what Claude is telling me it's doing "A text embedding is a fixed-length vector of floats produced by a model. The geometry of that vector space encodes meaning β€” two texts about the same topic land close together (high cosine similarity), even if they share no words. The Gemini gemini-embedding-001 model returns ~768-dim vectors. So "AI" and "machine learning" point in roughly the same direction; "AI" and "database migrations" don't."
πŸ‘€ 1
with that in place I can now do something like this
πŸ‘ 1
b
that's so cool!
j
once we do this for all conferences we have we can then I think do some pretty interesting queries
b
So we would need (on the backend) to run every conf description to a model to get an embedding and surface it through the API - then the client can make a vector of the query, and list the closest matches. Is that right? Or the query would need to run on the server?
j
that part I'm not certain about......might be better in that case to have the agent running on the backend
b
Except for server costs I guess πŸ˜„
j
true!
my son is working on AI agent development in HPE as part of his internship there and has been telling me about RAG/embeddings etc for a while now and I think I'm starting to finally understand what it is πŸ˜ƒ
b
Very cool! I saw a talk about it in a meetup a while ago, I think I mostly understood back then - but of course forgot most of it since πŸ˜…
j
it seems like a good fit for something like this
πŸ’― 1
b
I guess if all the talk descriptions (for one particular conf) can fit in the LLM context, that could work too. But yes I think RAG is the "correct" way to do this.