Kowal AI Product Feed para OpenAI Vector Store y LLMs
Kowal AI Product Feed es un módulo de Magento 2 para crear una capa de datos para AI, que prepara el contenido de la tienda en un formato listo para ser utilizado por OpenAI Vector Store, asistentes AI, buscadores semánticos, pipelines RAG y mecanismos públicos de descubrimiento de contenido como llms.txt y feeds NDJSON.
No se trata de una simple exportación del catálogo de productos. El módulo ordena, normaliza y publica el conocimiento de la tienda de una forma que permite alimentar con seguridad sistemas AI, manteniendo el control sobre la actualización de los datos, el alcance del contenido y la estructura de los documentos.
Gracias a ello, Magento puede convertirse en una fuente real de conocimiento para:
- chatbots y copilotos de producto,
- atención al cliente inteligente,
- buscadores semánticos,
- respuestas generadas por AI,
- automatización de contenido,
- integraciones AI externas basadas en feeds públicos o privados.
Qué hace el módulo en la práctica
El módulo obtiene datos de Magento y construye a partir de ellos documentos de conocimiento estructurados. Admite no solo contenido de producto, sino también canales de contenido adicionales que son importantes desde la perspectiva de la AI y las ventas.
Actualmente puede trabajar con contenidos como:
product.core- datos básicos del producto, descripciones, URL, atributos y categorías,product.faq- preguntas y respuestas de producto,product.docs- documentación y archivos Markdown,blog.article- artículos del blog,category.content- contenido de categorías,cms.page- páginas CMS.
Cada documento se guarda localmente, se compara mediante checksum y se sincroniza solo cuando realmente ha cambiado. Esto limita las subidas redundantes, estabiliza el proceso de sincronización y proporciona un mayor control sobre los costes y la calidad de los datos.
Endpoints públicos de AI y LLM
En la nueva versión, el módulo también puede publicar datos en endpoints públicos del frontend:
/llms.txt/ai-feed/{storeCode}/index.json/ai-feed/{storeCode}/{contentType}.ndjson
Esto significa que la tienda no solo puede sincronizar datos con OpenAI Vector Store, sino también exponer una capa de contenido controlada para agentes AI externos, crawlers y herramientas de integración.
Además, el módulo puede:
- añadir una señal a la sección
headde la página mediante un enlace allms.txt, - mostrar opcionalmente un enlace a
llms.txten el pie de página, - publicar feeds por store view y por idioma,
- mantener la coherencia entre el contenido de la tienda, la capa AI y la capa pública de descubrimiento de contenido.
Por qué esto es importante desde el punto de vista del negocio
En muchas tiendas, los datos necesarios para implementar AI están dispersos: una parte está en las descripciones de producto, otra en las FAQ, otra en el blog y otra en materiales técnicos independientes. Sin una capa de integración, es difícil construir soluciones AI estables sobre esta base.
Kowal AI Product Feed resuelve este problema, porque:
- centraliza el conocimiento de la tienda en una sola arquitectura de exportación y sincronización,
- organiza los datos para su uso por modelos de lenguaje,
- reduce el coste de crear futuras integraciones AI,
- acorta el tiempo de implantación de chats, asistentes y buscadores semánticos,
- permite desarrollar una estrategia de
AI SEO,AEOyLLM discoverability, - proporciona una base para implementaciones AI multilingües en Magento 2.
Esto se traduce en una puesta en marcha más rápida de nuevas funciones, una mayor coherencia de las respuestas generadas por AI y un mejor aprovechamiento del contenido que la tienda ya posee.
Para quién es este módulo
El módulo está pensado para:
- tiendas Magento 2 que implementan un AI chat o un AI assistant,
- empresas que desarrollan buscadores semánticos y RAG sobre datos e-commerce,
- equipos técnicos que integran Magento con
OpenAI, - tiendas que desarrollan bases de conocimiento de producto multilingües,
- agencias y software houses que implantan AI en Magento,
- marcas que quieren preparar su tienda para futuros canales de descubrimiento de contenido por LLM.
Cómo lo utilizan otros módulos
Otros módulos pueden utilizar Kowal AI Product Feed como fuente central de conocimiento y capa de integración, en lugar de crear exportaciones independientes, serializaciones de datos propias y procesos de sincronización propios.
Ejemplos de uso:
- un módulo de AI chat puede realizar preguntas al
Vector Storey responder en función del conocimiento actual sobre los productos, - un módulo FAQ puede enriquecer la base de conocimiento común con preguntas y respuestas adicionales,
- un módulo de documentación puede alimentar la AI con contenido instructivo y técnico,
- un módulo de atención al cliente puede utilizar los mismos datos para respuestas contextuales,
- un módulo de recomendaciones puede usar contenido estructurado para una mejor adaptación de productos,
- los módulos de contenido pueden ampliar la capa de conocimiento con el blog, CMS y nuevos tipos de documentos.
Lo más importante es que otros módulos no necesitan conocer los detalles técnicos de la sincronización, los checksums, la exportación de archivos o la subida a OpenAI. Reciben una capa de datos ya preparada, coherente y ampliable.
Principales ventajas
- capa de datos AI lista para Magento 2,
- compatibilidad con
OpenAI Vector Store, llms.txtpúblico y feedsNDJSON,- sincronización únicamente del contenido modificado,
- soporte para múltiples canales de contenido,
- preparación para
AI SEO,AEOe integraciones LLM, - compatibilidad con la arquitectura de store view y versiones idiomáticas de Magento,
- base sólida para seguir desarrollando la automatización AI en la tienda.
Kowal AI Product Feed - instalación y configuración
Objetivo del documento
Este documento describe el proceso completo de instalación, puesta en marcha y configuración del módulo Kowal_AiProductFeed en Magento 2. Se ha preparado para poder pasar desde la implantación técnica hasta la primera exportación funcional y la publicación de llms.txt.
Alcance funcional del módulo
El módulo permite:
- exportar el contenido de la tienda a archivos
JSONyJSONL, - sincronizar datos con
OpenAI Vector Store, - gestionar múltiples canales de contenido, como producto, blog, categoría y CMS,
- publicar endpoints públicos:
/llms.txt/ai-feed/{storeCode}/index.json/ai-feed/{storeCode}/{contentType}.ndjson
- añadir un enlace a
llms.txten la secciónhead, - añadir opcionalmente un enlace a
llms.txten el pie de página de la tienda.
llms.txt funciona por Store View actual. Esto significa que cada versión idiomática puede devolver su propio manifiesto y sus propios enlaces a los feeds.
Requisitos previos
Antes de la instalación, asegúrese de que:
- Magento 2 funciona correctamente,
- dispone de acceso SSH al directorio raíz de Magento,
Composerestá disponible en el entorno,- el proceso PHP tiene permisos de escritura en el directorio
var/, - dispone de una clave
OpenAI API Keyactiva, si desea usar la sincronización conOpenAI Vector Store.
Instalación del módulo
1. Añadir el repositorio Composer
Si el módulo se instala desde un repositorio Git:
composer config repositories.ai.product.feed vcs https://github.com/kowalco/module-ai-product-feedSi el repositorio es privado:
composer config --global --auth github-oauth.github.com 2. Instalación del paquete
composer require kowal/module-ai-product-feed3. Activación del módulo
bin/magento module:enable Kowal_AiProductFeed4. Actualización de Magento
bin/magento setup:upgrade5. Compilación y caché
En el entorno de producción, ejecute además:
bin/magento setup:di:compilebin/magento cache:flushEn el entorno de desarrollo, normalmente basta con:
bin/magento cache:flushSi delante de Magento existe una capa de caché adicional, realice también un purge en:
VarnishCloudflareNginx fastcgi/proxy cache- otro reverse proxy o CDN
6. Confirmación del estado del módulo
bin/magento module:status Kowal_AiProductFeedUbicación de la configuración
La configuración del módulo está disponible en el panel:
Stores -> Configuration -> General -> Kowal AI Feed
Modelo de configuración recomendado
La mejor práctica es configurar a nivel de Store View, especialmente si la tienda funciona en varios idiomas.
Recomendación:
- un
Store View= un idioma, - un
Store View= unVector Store ID, - un
Store View= una capa pública independiente de feeds AI.
Ejemplo:
PLstore view -> polacoVector Store IDENstore view -> inglésVector Store ID
Configuración de campos
Enable Module
Activa el módulo para el ámbito seleccionado.
Recomendación:
- establezca
Yesen aquellosStore Viewque deban generar datos AI
OpenAI API Key
Clave API global utilizada para la comunicación con OpenAI.
Obligatoria si:
- desea sincronizar archivos con
OpenAI Vector Store
No es obligatoria si:
- desea usar solo exportaciones locales,
- desea usar solo
llms.txty feeds públicos.
Vector Store ID
Identificador de OpenAI Vector Store para un Store View concreto.
Recomendación:
- configurarlo a nivel de
Store View, - establecer un identificador independiente para cada idioma.
Feed Location
Ruta relativa al directorio en el que se guardarán los archivos de exportación.
Valor predeterminado:
var/ai-feeds
Recomendación:
- mantener el directorio en
var/, - no exponer este directorio directamente a través del servidor web.
Enable Public AI Feed
Activa los endpoints públicos:
/llms.txt/ai-feed/{storeCode}/index.json/ai-feed/{storeCode}/{contentType}.ndjson
Active esta opción solo para aquellas vistas de tienda cuyo contenido pueda estar disponible públicamente.
Importante:
/llms.txtno es un índice global de todas las tiendas- cada versión idiomática de la tienda devuelve su propio manifiesto
/llms.txtpor sí solo no requiere la existencia de archivos generados para responder correctamente
Show LLMs.txt Link in Footer
Añade un enlace visible a /llms.txt en el pie de página de la tienda.
Recomendación:
Nopor defecto,Yessi desea comunicar de forma explícita la disponibilidad de la capa AI a socios, integradores o bots.
Docs Location
Ruta relativa al directorio con la documentación de producto en Markdown para product.docs.
Ejemplos:
var/ai-docsvar/ai-docs/pl
Se admiten, entre otros, los archivos:
{docsLocation}/{SKU}.md{docsLocation}/{SKU}.markdown{docsLocation}/{storeCode}/{SKU}.md{docsLocation}/{storeCode}/{SKU}.markdown{docsLocation}/{SKU}/*.md{docsLocation}/{SKU}/*.markdown{docsLocation}/{storeCode}/{SKU}/*.md{docsLocation}/{storeCode}/{SKU}/*.markdown
Max Products Per Batch
Tamaño del lote para la exportación de productos.
Valor inicial:
500
Reduzca el valor si:
- el catálogo es muy grande,
- el entorno tiene memoria limitada,
- las operaciones AI adicionales aumentan la carga.
Sync Product Core
Activa el tipo de contenido product.core.
Recomendación:
Yes
Sync Product FAQ
Activa product.faq.
Úselo si la tienda tiene datos en la tabla kowal_zapytajoprodukt_pytania.
Sync Product Docs
Activa product.docs.
Úselo si la documentación Markdown ya está preparada.
Sync Blog Content
Activa el canal blog y el tipo blog.article.
Sync Category Content
Activa el canal category y el tipo category.content.
Sync CMS Pages
Activa el canal cms_page y el tipo cms.page.
Max Retries
Número máximo de intentos para operaciones API.
Por defecto:
3
Polling Timeout
Tiempo máximo de espera para la finalización del procesamiento del archivo en el lado de OpenAI.
Por defecto:
600
Polling Interval
Intervalo entre comprobaciones sucesivas del estado.
Por defecto:
5
HTTP Timeout
Tiempo máximo de una única request HTTP a OpenAI.
Por defecto:
60
Orden de configuración recomendado
Después de la instalación, configure el módulo en este orden:
- Active el módulo para el
Store Viewde destino. - Añada
OpenAI API Keysi planea sincronizar conOpenAI. - Configure
Vector Store IDpara cada idioma. - Verifique
Feed Location. - Configure
Docs Locationsi utiliza documentación Markdown. - Active los tipos de contenido y canales necesarios.
- Active
Enable Public AI Feedsi los endpoints deben estar disponibles públicamente. - Opcionalmente active
Show LLMs.txt Link in Footer. - Limpie la caché de Magento.
bin/magento cache:flushPrimera puesta en marcha
Dry run
Primero, ejecute una prueba en seco para un único Store View:
bin/magento kowal:ai-export:sync --channel=product --store=1 --dry-runExportación real
A continuación, ejecute la sincronización real:
bin/magento kowal:ai-export:sync --channel=product --store=1Comprobación del estado
bin/magento kowal:ai-export:status --store=1Verificación de endpoints públicos
Si Enable Public AI Feed está activado, compruebe:
curl -i https://twoja-domena.pl/llms.txtcurl -i https://twoja-domena.pl/ai-feed/pl/index.jsoncurl -i https://twoja-domena.pl/ai-feed/pl/product.core.ndjsonSi la tienda tiene versiones idiomáticas separadas en la URL, compruebe también:
curl -i https://twoja-domena.pl/en/llms.txtcurl -i https://twoja-domena.pl/de/llms.txtComportamiento esperado:
/llms.txtdevuelve el manifiesto solo para elStore Viewactual/llms.txtfunciona incluso cuando todavía no existen archivos feed generados/ai-feed/{storeCode}/index.jsonmuestra solo los feeds existentes para esa tienda/ai-feed/{storeCode}/{contentType}.ndjsonsolo funciona cuando existen los archivos fuente correspondientes
Verificación de cabeceras de caché:
curl -I https://twoja-domena.pl/llms.txtcurl -I https://twoja-domena.pl/ai-feed/pl/index.jsonDebería ver:
- para
/llms.txt, cabeceras que prácticamente desactivan la caché, - para
index.json, un tiempo de vida de caché corto y revalidación forzada.
Verificación HTML:
- en el código fuente de la página debería aparecer un enlace en
heada/llms.txt, - si ha activado la opción del pie, debería aparecer en el footer un enlace
LLMs.txt.
Comandos CLI
Sincronización
bin/magento kowal:ai-export:sync --channel=productbin/magento kowal:ai-export:sync --channel=product --store=1bin/magento kowal:ai-export:sync --channel=product --store=1 --content-type=product.core --identifier=example-sku --dry-runbin/magento kowal:ai-export:sync --channel=blog --store=1 --source=amasty_blogbin/magento kowal:ai-export:sync --channel=category --store=1bin/magento kowal:ai-export:sync --channel=cms_page --store=1Estado
bin/magento kowal:ai-export:statusbin/magento kowal:ai-export:status --store=1bin/magento kowal:ai-export:status --channel=blog --store=1bin/magento kowal:ai-export:status --channel=blog --store=1 --source=amasty_blogImportación de fuentes del blog
bin/magento kowal:ai-blog-source:import --source=amasty_blog --store=1Alias antiguo de producto
Sigue disponible por compatibilidad con versiones anteriores:
bin/magento kowal:ai-feed:generatebin/magento kowal:ai-feed:generate --store=1 --content-type=product.core --sku=example-sku --dry-runCron
El módulo utiliza tres tareas cron:
kowal_ai_blog_source_importkowal_ai_feed_generatekowal_ai_feed_cleanup
Asegúrese de que el cron de Magento funciona correctamente en el entorno.
Problemas más frecuentes
/llms.txt devuelve 404
Compruebe:
- si está desplegada la versión actual del módulo con frontend routing,
- si ha ejecutado
bin/magento setup:upgrade, - si en production mode ha ejecutado
bin/magento setup:di:compile, - si ha realizado el despliegue estándar de static content según el proceso del proyecto,
- si ha limpiado la caché,
- si ha realizado el purge de la capa CDN / reverse proxy,
- si
Enable Public AI Feedestá activado.
Si https://twoja-domena.pl/llms.txt?v=123 funciona y https://twoja-domena.pl/llms.txt no, normalmente significa que sigue existiendo una caché compartida antigua en algún punto intermedio.
/llms.txt funciona, pero los feeds están vacíos
Normalmente esto significa que:
- todavía no se ha ejecutado la exportación,
- no hay contenido activo para ese canal,
- las flags de sincronización correspondientes están desactivadas.
Este comportamiento es correcto. El propio manifiesto puede funcionar antes que los feeds reales.
No hay archivos en var/ai-feeds
Compruebe:
- si el módulo está activo en el
Store Viewcorrecto, - si están activados los tipos de contenido necesarios,
- si Magento tiene permisos de escritura en
var/, - si se ha iniciado el proceso de sincronización.
Problemas con la sincronización con OpenAI
Compruebe:
- la validez de
OpenAI API Key, - la validez de
Vector Store ID, - la disponibilidad de conexiones HTTP salientes,
- los valores de timeout y retry.
Resumen
Tras una instalación y configuración correctas, el módulo proporciona a Magento 2 una capa de datos lista para AI:
- local,
- multilingüe,
- capaz de sincronizarse con
OpenAI, - lista para publicarse mediante
llms.txty feedsNDJSON, - ampliable para futuras integraciones y módulos AI.
























