Creamos un chatbot que puede resumir y recomendar blogs en el sitio web de Redis.com basado en la consulta del usuario.

Este pequeño proyecto utiliza 2 modelos de IA
En este proyecto, nuestro objetivo es demostrar
La forma más fácil de usar una imagen de Docker utilizando el siguiente comando
docker run -d -p 6379:6379 -p 8001:8001 redis/redis-stack:latestSi no desea usar una imagen de Docker, puede registrarse para obtener una suscripción gratuita de Redis Cloud aquí.
Descargar el repositorio
git clone https://github.com/mar1boroman/ask-redis-blogs.git && cd ask-redis-blogs
Preparar y activar el entorno virtual
python3 -m venv .env && source .env/bin/activate
Instale bibliotecas y dependencias necesarias
pip install -r requirements.txt
Tenemos una amplia base de conocimiento en el blog Redis Let's Ejecutar el primer script que es un ccers web, este script raspará el sitio web y creará un archivo CSV que contiene los datos de todos los blogs disponibles.
python 0_ext_redis_blogs.pyTenga en cuenta que este repositorio ya tiene los blogs actualizados hasta el 19 de septiembre de 2023, ejecutar este script solo descargará los nuevos blogs. El archivo CSV se guarda en redis_blogs.csv
En este paso, generamos la incrustación de contenido de texto de cada blog y los almacenamos en un formato hash
python 1_load_redis_blogs.pyPuede explorar el contenido de su base de datos Redis en RedisInsight en su navegador en http: // localhost: 8001
Ahora que hemos almacenado los blogs y sus incrustaciones en Redis, ¡es hora de ver el chatbot en acción!
streamlit run 3_ui.py
Ejecutemos una búsqueda de similitud vectorial simple en nuestros blogs.

Asegúrese de que la casilla de verificación 'Auto resumir' no esté marcada
Ingrese un mensaje. Por ejemplo
Triggers and Functions
Obtendrá 3 recomendaciones de blog en milisegundos. La respuesta también incluye el tiempo necesario para devolver la respuesta. En este caso, la búsqueda ocurre completamente en Redis, excepto que el aviso se ejecuta a través de All-MPNET-Base-V2 antes de ejecutar la búsqueda de similitud
Vamos un poco más avanzados.

Asegúrese de que se verifique la casilla de verificación 'Auto resumir'
Ingrese un mensaje. Por ejemplo
Triggers and Functions
Cuando ingrese este indicador por primera vez, las siguientes cosas sucederán
Esto lleva mucho tiempo, alrededor de 30 s
Por lo tanto, almacenamos la respuesta y el aviso en Redis. Verifique su VIGN REDISINS en el navegador y verá una clave creada con el prefijo LLM_CACHE
Una vez que la respuesta regresó, el aviso y la respuesta se almacenan en caché, y lo más importante es que el mensaje se ejecuta a través de All-MPNET-Base-V2 y su incrustación correspondiente también se almacena en caché
Ahora intente ejecutar la misma solicitud (o un mensaje similar). Por ejemplo
About Triggers and functions
Obtendrá la respuesta almacenada en caché basada en la búsqueda de similitud vectorial brumosamente rápida entre las solicitudes de incrustación y la respuesta que se almacenó en caché en el paso anterior.
Podemos ver claramente los beneficios de usar almacenamiento en caché semántico aquí.
Una versión del chatbot está disponible en la versión CLI
python 2_vecsim_redis_blogs.py