WordPress + RAG + ChatGPT = Buscador Semántico
Llevo tiempo dándole vueltas a crear un buscador semántico para la web, porque en la era de la IA, la mayoría nos estamos acostumbrando a escribir mal en los buscadores e inputs y que eso ya no sea un problema, ya que los LLMs «lo entienden».
Pero claro, te vas a cualquier eCommerce o blog, y si escribes algo mal (un par de letras traspuestas) o algo no exacto, te encuentras con el típico: «No posts were found»
Lo primero que viene a la cabeza es un wrapper de ChatGPT y todos contentos, pero …
- ¿Cómo le paso la info de mis productos o posts? Tengo unos poquitos 😳
- Y si la gente se dedica a preguntarle por el tiempo 🌤️
- ¿Money? 💵
Vamos a usar un RAG (es el proceso de optimización de la salida de un modelo de lenguaje de gran tamaño, de modo que haga referencia a una base de conocimientos autorizada fuera de los orígenes de datos de entrenamiento antes de generar una respuesta. — by AWS) para darle el conocimiento que nosotros queremos, el de nuestros artículos o productos.

El proceso será:
- Troceamos nuestros posts y creamos un embedding (vector para base de datos vectoriales, que nos lo dará chatGPT)
- Eso va a Pinecone (base de datos vectorial).
Ya tenemos nuestra base de conocimiento.
Ahora el proceso de búsqueda de un usuario:
- Inserta para la Búsqueda un término o frase
- Se la mandamos a chatGPT para que nos de el embedding.
- Hacemos la busqueda en Pinecone. Esto nos dará los trozos de texto más «cercanos» en significado a nuestra búsqueda.
- Ya podemos mostrar a los usuarios los posts resultado, hasta con un % de similitud.
La idea de resultado sería algo como esto:

Esto no sólo nos dará un buscador semántico, sino que al tener el contenido ya preparado para darle al LLM de turno la info que es relevante, podremos hacer que el usuario pueda «hablar» con o sobre el contenido, llevando el buscador a un flujo de conversación.
Y aunque la idea inicial fue un buscador semántico, para ecommerce, se puede aplicar a por ejemplo la wiki de la empresa, donde podremos preguntar por los procesos, con quien tengo que contactar para X o como tengo que hacer Y … o si tienen un membership site, puedes dar esta funcionalidad sólo a los usuarios miembros, dándoles un valor añadido, o si tienes un LMS, los alumnos tendrán otra forma de buscar y consultar el temario … sólo tienes que pensar tu caso de uso y verás las posibilidades que tiene.
La solución
Opté por crearlo a modo de plugin para WordPress, para que cualquiera pueda instalarlo y tener un buscador que te flipas en su web/ecommerce/intranet/…
El usuario necesita 3 puntos:
- El plugin, que lo he puesto en mi tienda, pero si necesitas una prueba pídemela: https://growthplugins.com/plugin/rag-wordpress-ai-powered/
- Una cuenta en Pinecone, donde tendremos nuestra BBDD vectorial: https://www.pinecone.io/
- Una API KEY de chatGPT (no te preocupes, los precios de la API ya empiezan a ser ridículos): https://platform.openai.com/api-keys
Una vez tenganos todo enganchado (es más fácil de lo que parece), es hora de empezar a indexar contenido.
Indicamos los custom post types que queremos enganchar y cuando se creen o editen, serán troceados, creados los embeddings y metidos en Pinecone.
Ya estamos casi casi, ahora es usar el shortcode en una página o donde querramos y tendremos nuestro buscador:
Y ya todo listo para que el usuario empiece a encontrar nuestros productos o información y adios a los No posts were founds, 🥳 🥳 🥳 🥳 🥳
Extra
… y quien dice un buscador, dice un chatBot, pero recuerda, con nuestro contenido.


