Recientemente, se agregó langchain4j-memory-store-redis a la extensión de Quarkusio langchain4j. Básicamente, utiliza Redis en lugar de la RAM para mantener el contexto del chat durante una conversación.
Pero podrías pensar: ¿Cuál podría ser el caso de uso?
Aquí hay uno: Imagine un pod de chatbot sin servidor (por lo que se reduce a 0) ¡pero eso debe mantener el contexto! Además, en caso de que sea necesario, puede ampliarse y realizar un seguimiento de múltiples sesiones/contextos
Puedes ver en este breve screencast que incluso después de que el pod se redujera a 0, fue capaz de recordar mi nombre en la segunda solicitud.
Algunas cosas interesantes sobre esta demostración (el blog seguirá):
- Estoy usando, por supuesto, Quarkus/langchain4j compilado de forma nativa con GraalVM
- Estoy usando el sandbox de openshift porque es gratuito y tiene los operadores que necesito
- Está usando mi proyecto favorito en torno al ecosistema k8s: Knative
- Para la parte de Redis, estoy usando el ultrarrápido DragonflyDB
Ejecución en Aiven
Recently langchain4j-memory-store-redis was added to the langchain4j Quarkusio extension. Basically it uses Redis instead of the RAM to keep the chat context during a conversation.
But you might think : What could be the use case ?
Here is one : Imagine a serverless chatbot pod (so scaling back to 0) but that needs to keep the context ! Also in case it's needed it can scale up and keep track of multiple sessions/contexts
You can see in this short screencast that even after that the pod scaled back to 0, it was able to remember my name at the second request.
Some cool stuff about this demo (blog will follow) :
- I'm using of course Quarkus/langchain4j compiled natively with GraalVM
- I'm using the openshift sandbox because it's free and it has the operators I need
- It's using my favourite project around the k8s ecosystem : Knative
- For the Redis part, I'm using the blazing fast DragonflyDB
running on Aiven