Kowal AI Product Feed para OpenAI Vector Store e LLMS
Kowal AI Product Feed é um módulo Magento 2 para construir a camada de dados para AI, que prepara os conteúdos da loja num formato pronto a ser utilizado pelo OpenAI Vector Store, assistentes AI, motores de pesquisa semântica, pipelines RAG e mecanismos públicos de descoberta de conteúdos, como llms.txt e feeds NDJSON.
Não se trata de uma exportação comum do catálogo de produtos. O módulo organiza, normaliza e publica o conhecimento da loja de forma a permitir alimentar com segurança sistemas AI, mantendo o controlo sobre a atualidade dos dados, o âmbito dos conteúdos e a estrutura dos documentos.
Assim, o Magento pode tornar-se uma fonte real de conhecimento para:
- chatbots e copilotos de produto,
- atendimento ao cliente inteligente,
- pesquisa semântica,
- respostas geradas por AI,
- automação de conteúdos,
- integrações AI externas baseadas em feeds públicos ou privados.
O que o módulo faz na prática
O módulo recolhe dados do Magento e cria a partir deles documentos de conhecimento estruturados. Suporta não só conteúdos de produto, mas também canais de conteúdo adicionais que são importantes do ponto de vista da AI e das vendas.
Atualmente, pode trabalhar com conteúdos como:
product.core- dados básicos do produto, descrições, URL, atributos e categorias,product.faq- perguntas e respostas sobre produtos,product.docs- documentação e ficheiros Markdown,blog.article- artigos de blogue,category.content- conteúdos de categorias,cms.page- páginas CMS.
Cada documento é guardado localmente, comparado por checksum e sincronizado apenas quando sofreu realmente alterações. Isto reduz uploads redundantes, estabiliza o processo de sincronização e dá maior controlo sobre os custos e a qualidade dos dados.
Endpoints públicos de AI e LLM
Na nova versão, o módulo também pode publicar dados em endpoints públicos de frontend:
/llms.txt/ai-feed/{storeCode}/index.json/ai-feed/{storeCode}/{contentType}.ndjson
Isto significa que a loja pode não só sincronizar dados com o OpenAI Vector Store, mas também disponibilizar uma camada de conteúdos controlada para agentes AI externos, crawlers e ferramentas de integração.
O módulo pode ainda:
- adicionar um sinal à secção
headda página através de uma ligação parallms.txt, - mostrar opcionalmente uma ligação para
llms.txtno rodapé, - publicar feeds por store view e por idioma,
- manter a consistência entre os conteúdos da loja, a camada AI e a camada pública de descoberta de conteúdos.
Porque é importante do ponto de vista do negócio
Em muitas lojas, os dados necessários para implementar AI estão dispersos: uma parte está nas descrições dos produtos, outra nas FAQ, outra no blogue e outra em materiais técnicos separados. Sem uma camada de integração, é difícil construir soluções AI estáveis com base nisso.
Kowal AI Product Feed resolve este problema porque:
- centraliza o conhecimento da loja numa única arquitetura de exportação e sincronização,
- organiza os dados para utilização por modelos de linguagem,
- reduz o custo de construção de novas integrações AI,
- encurta o tempo de implementação de chats, assistentes e motores de pesquisa semântica,
- permite desenvolver uma estratégia de
AI SEO,AEOeLLM discoverability, - fornece a base para implementações AI multilingues em Magento 2.
Isto traduz-se num lançamento mais rápido de novas funcionalidades, maior consistência das respostas geradas por AI e melhor aproveitamento dos conteúdos que a loja já possui.
A quem se destina este módulo
O módulo destina-se a:
- lojas Magento 2 que implementam chat AI ou AI assistant,
- empresas que constroem motores de pesquisa semântica e RAG com dados de e-commerce,
- equipas técnicas que integram Magento com
OpenAI, - lojas que desenvolvem bases de conhecimento de produto multilingues,
- agências e software houses que implementam AI em Magento,
- marcas que pretendem preparar a loja para futuros canais de descoberta de conteúdos por LLM.
Como outros módulos o utilizam
Outros módulos podem utilizar o Kowal AI Product Feed como fonte central de conhecimento e camada de integração, em vez de criarem exportações separadas, serializações de dados próprias e processos de sincronização próprios.
Exemplos de utilização:
- o módulo de AI chat pode colocar perguntas ao
Vector Storee responder com base no conhecimento atual sobre os produtos, - o módulo FAQ pode enriquecer a base de conhecimento comum com perguntas e respostas adicionais,
- o módulo de documentação pode alimentar a AI com conteúdos instrutivos e técnicos,
- o módulo de apoio ao cliente pode utilizar os mesmos dados para respostas contextuais,
- o módulo de recomendações pode usar conteúdos organizados para melhor correspondência de produtos,
- os módulos de conteúdo podem expandir a camada de conhecimento com blogue, CMS e tipos adicionais de documentos.
O mais importante é que outros módulos não precisam de conhecer os detalhes técnicos da sincronização, checksums, exportação de ficheiros ou upload para OpenAI. Recebem uma camada de dados pronta, consistente e evolutiva.
Principais vantagens
- camada de dados AI pronta para Magento 2,
- suporte para
OpenAI Vector Store, llms.txtpúblico e feedsNDJSON,- sincronização apenas dos conteúdos alterados,
- suporte para vários canais de conteúdo,
- preparação para
AI SEO,AEOe integrações LLM, - compatibilidade com a arquitetura de store view e versões linguísticas do Magento,
- base sólida para o desenvolvimento contínuo da automação AI na loja.
Kowal AI Product Feed - instalação e configuração
Objetivo do documento
Este documento descreve o processo completo de instalação, arranque e configuração do módulo Kowal_AiProductFeed no Magento 2. Foi preparado para permitir passar da implementação técnica à primeira exportação funcional e à publicação de llms.txt.
Âmbito funcional do módulo
O módulo permite:
- exportar conteúdos da loja para ficheiros
JSONeJSONL, - sincronizar dados com o
OpenAI Vector Store, - suportar vários canais de conteúdo, como produto, blogue, categoria e CMS,
- publicar endpoints públicos:
/llms.txt/ai-feed/{storeCode}/index.json/ai-feed/{storeCode}/{contentType}.ndjson
- adicionar uma ligação para
llms.txtna secçãohead, - adicionar opcionalmente uma ligação para
llms.txtno rodapé da loja.
llms.txt funciona por Store View atual. Isto significa que cada versão linguística pode devolver o seu próprio manifesto e as suas próprias ligações para feeds.
Requisitos prévios
Antes da instalação, certifique-se de que:
- o Magento 2 está a funcionar corretamente,
- tem acesso SSH ao diretório raiz do Magento,
- o
Composerestá disponível no ambiente, - o processo PHP tem permissão de escrita no diretório
var/, - tem uma chave
OpenAI API Keyativa, se quiser utilizar a sincronização com oOpenAI Vector Store.
Instalação do módulo
1. Adicionar o repositório Composer
Se o módulo for instalado a partir de um repositório Git:
composer config repositories.ai.product.feed vcs https://github.com/kowalco/module-ai-product-feedSe o repositório for privado:
composer config --global --auth github-oauth.github.com 2. Instalação do pacote
composer require kowal/module-ai-product-feed3. Ativação do módulo
bin/magento module:enable Kowal_AiProductFeed4. Atualização do Magento
bin/magento setup:upgrade5. Compilação e cache
Em ambiente de produção, execute adicionalmente:
bin/magento setup:di:compilebin/magento cache:flushEm ambiente de desenvolvimento, normalmente basta:
bin/magento cache:flushSe existir uma camada de cache adicional à frente do Magento, execute também purge do lado de:
VarnishCloudflareNginx fastcgi/proxy cache- outro reverse proxy ou CDN
6. Confirmação do estado do módulo
bin/magento module:status Kowal_AiProductFeedLocalização da configuração
A configuração do módulo está disponível no painel:
Stores -> Configuration -> General -> Kowal AI Feed
Modelo de configuração recomendado
A melhor prática é configurar ao nível de Store View, especialmente se a loja funcionar em vários idiomas.
Recomendação:
- um
Store View= um idioma, - um
Store View= umVector Store ID, - um
Store View= uma camada pública separada de feeds AI.
Exemplo:
PLstore view ->Vector Store IDem polacoENstore view ->Vector Store IDem inglês
Configuração dos campos
Enable Module
Ativa o módulo para o âmbito selecionado.
Recomendação:
- defina
YesnessesStore Viewque devem gerar dados AI
OpenAI API Key
Chave API global utilizada para comunicar com OpenAI.
Obrigatória se:
- quiser sincronizar ficheiros com o
OpenAI Vector Store
Não é obrigatória se:
- quiser usar apenas exportações locais,
- quiser usar apenas
llms.txte feeds públicos.
Vector Store ID
Identificador do OpenAI Vector Store para um Store View específico.
Recomendação:
- configurar ao nível de
Store View, - definir um identificador separado para cada idioma.
Feed Location
Caminho relativo para o diretório onde serão guardados os ficheiros de exportação.
Valor predefinido:
var/ai-feeds
Recomendação:
- manter o diretório em
var/, - não expor este diretório diretamente através do servidor web.
Enable Public AI Feed
Ativa os endpoints públicos:
/llms.txt/ai-feed/{storeCode}/index.json/ai-feed/{storeCode}/{contentType}.ndjson
Ative esta opção apenas para as vistas de loja cujos conteúdos possam estar publicamente disponíveis.
Importante:
/llms.txtnão é um índice global de todas as lojas- cada versão linguística da loja devolve o seu próprio manifesto
- o próprio
/llms.txtnão exige a existência de ficheiros gerados para responder corretamente
Show LLMs.txt Link in Footer
Adiciona uma ligação visível para /llms.txt no rodapé da loja.
Recomendação:
Nopor predefinição,Yes, se quiser comunicar de forma explícita a disponibilidade da camada AI a parceiros, integradores ou bots.
Docs Location
Caminho relativo para o diretório com documentação de produto em Markdown para product.docs.
Exemplos:
var/ai-docsvar/ai-docs/pl
São suportados, entre outros, os ficheiros:
{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
Tamanho do lote para exportação de produtos.
Valor inicial:
500
Reduza o valor se:
- o catálogo for muito grande,
- o ambiente tiver memória limitada,
- operações AI adicionais aumentarem a carga.
Sync Product Core
Ativa o tipo de conteúdo product.core.
Recomendação:
Yes
Sync Product FAQ
Ativa product.faq.
Utilize se a loja tiver dados na tabela kowal_zapytajoprodukt_pytania.
Sync Product Docs
Ativa product.docs.
Utilize se a documentação Markdown já estiver preparada.
Sync Blog Content
Ativa o canal blog e o tipo blog.article.
Sync Category Content
Ativa o canal category e o tipo category.content.
Sync CMS Pages
Ativa o canal cms_page e o tipo cms.page.
Max Retries
Número máximo de tentativas para operações API.
Por predefinição:
3
Polling Timeout
Tempo máximo de espera pela conclusão do processamento do ficheiro do lado do OpenAI.
Por predefinição:
600
Polling Interval
Intervalo entre verificações sucessivas do estado.
Por predefinição:
5
HTTP Timeout
Tempo máximo de um único pedido HTTP para OpenAI.
Por predefinição:
60
Ordem recomendada de configuração
Após a instalação, configure o módulo por esta ordem:
- Ative o módulo para o
Store Viewpretendido. - Adicione
OpenAI API Key, se planear sincronização comOpenAI. - Defina
Vector Store IDpara cada idioma. - Verifique
Feed Location. - Defina
Docs Location, se utilizar documentação Markdown. - Ative os tipos de conteúdo e canais necessários.
- Ative
Enable Public AI Feed, se os endpoints tiverem de estar disponíveis publicamente. - Opcionalmente, ative
Show LLMs.txt Link in Footer. - Limpe a cache do Magento.
bin/magento cache:flushPrimeira execução
Dry run
Primeiro, execute um teste a seco para um único Store View:
bin/magento kowal:ai-export:sync --channel=product --store=1 --dry-runExportação real
Em seguida, execute a sincronização efetiva:
bin/magento kowal:ai-export:sync --channel=product --store=1Verificação do estado
bin/magento kowal:ai-export:status --store=1Verificação dos endpoints públicos
Se Enable Public AI Feed estiver ativado, verifique:
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.ndjsonSe a loja tiver versões linguísticas separadas no URL, verifique também:
curl -i https://twoja-domena.pl/en/llms.txtcurl -i https://twoja-domena.pl/de/llms.txtComportamento esperado:
/llms.txtdevolve um manifesto apenas para oStore Viewatual/llms.txtfunciona mesmo quando ainda não existem ficheiros de feed gerados/ai-feed/{storeCode}/index.jsonmostra apenas os feeds existentes para a loja em causa/ai-feed/{storeCode}/{contentType}.ndjsonsó funciona quando existem os respetivos ficheiros de origem
Verificação de cabeçalhos de cache:
curl -I https://twoja-domena.pl/llms.txtcurl -I https://twoja-domena.pl/ai-feed/pl/index.jsonDeverá ver:
- para
/llms.txt, cabeçalhos que praticamente desativam a cache, - para
index.json, um tempo de vida curto da cache e revalidação forçada.
Verificação HTML:
- no código-fonte da página deverá surgir uma ligação na secção
headpara/llms.txt, - se tiver ativado a opção de rodapé, deverá surgir uma ligação
LLMs.txtno footer.
Comandos CLI
Sincronização
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_blogImportação de fontes do blogue
bin/magento kowal:ai-blog-source:import --source=amasty_blog --store=1Alias antigo de produto
Ainda disponível por compatibilidade retroativa:
bin/magento kowal:ai-feed:generatebin/magento kowal:ai-feed:generate --store=1 --content-type=product.core --sku=example-sku --dry-runCron
O módulo utiliza três tarefas cron:
kowal_ai_blog_source_importkowal_ai_feed_generatekowal_ai_feed_cleanup
Certifique-se de que o cron do Magento está a funcionar corretamente no ambiente.
Problemas mais frequentes
/llms.txt devolve 404
Verifique:
- se foi implementada a versão atual do módulo com frontend routing,
- se executou
bin/magento setup:upgrade, - se em production mode executou
bin/magento setup:di:compile, - se executou o deploy standard de static content de acordo com o processo do projeto,
- se limpou a cache,
- se executou o purge da camada CDN / reverse proxy,
- se
Enable Public AI Feedestá ativado.
Se https://twoja-domena.pl/llms.txt?v=123 funcionar, mas https://twoja-domena.pl/llms.txt não, isso normalmente significa que ainda existe uma cache partilhada antiga no caminho.
/llms.txt funciona, mas os feeds estão vazios
Isto normalmente significa que:
- a exportação ainda não foi executada,
- não existem conteúdos ativos para o canal em causa,
- as respetivas flags de sincronização estão desativadas.
Este comportamento está correto. O próprio manifesto pode funcionar antes dos feeds propriamente ditos.
Sem ficheiros em var/ai-feeds
Verifique:
- se o módulo está ativo no
Store Viewcorreto, - se os tipos de conteúdo necessários estão ativados,
- se o Magento tem permissões de escrita em
var/, - se o processo de sincronização foi executado.
Problemas com a sincronização para OpenAI
Verifique:
- a correção da
OpenAI API Key, - a correção do
Vector Store ID, - a disponibilidade de ligações HTTP de saída,
- os valores de timeout e retry.
Resumo
Após uma instalação e configuração corretas, o módulo dá ao Magento 2 uma camada de dados pronta para AI:
- local,
- multilingue,
- sincronizável com
OpenAI, - pronta para publicação através de
llms.txte feedsNDJSON, - evolutiva para futuras integrações e módulos AI.






















