Actualizando la ficha de productos con chatgpt

1 de noviembre de 2025 por
Gustavo Orrillo
| Sin comentarios aún
 

Un problema en muchas empresas (sobre todo pequeñas empresas que distribuyen cientos de productos) es actualizar la ficha de productos de centenares de SKUs que tienen disponibles para la venta. Esta ficha de productos es fundamental para su promoción en marketplaces como Mercadolibre, o en los sitios de comercio electrónico.

Como pueden hacer para automatizar la actualización de la descripción de los productos? (no es una buena idea tener a un empleado haciendo copy & paste de la información de otros websites). Una forma válida que surgió en los últimos años es hacerlo mediante inteligencia artificial. 

En este caso estoy trabajando con un cliente que tiene decenas de productos para publicar en internet. Y la idea es simple; mediante xmlrpc nos conectamos a Odoo para obtener la lista de productos. Luego mediante el SDK de OpenAI obtenemos la descripción del producto, y luego actualizamos el campo description_sale del producto mediante xmlrpc.

El primer paso es obtener una cuenta en chatgpt y obtener el key de la misma (no voy a mostrar como hacerlo aca). Y luego instalar el SDK de openai

pip3 install openai

Luego importamos el SDK en nuestro script y nos conectamos mediante el key que nos provee OpenAI

from openai import OpenAI
param_api_key = 'XXX'
openai_client = OpenAI(api_key=param_api_key)

Luego buscamos todos los productos que se van a publicar en el e-commerce de Odoo


product_tmpl_ids = sock.execute_kw(dbname,uid,pwd,'product.template','search',[[['website_published','=',True]]])
for i,product_tmpl_id in enumerate(product_tmpl_ids):
print(i,product_tmpl_id,len(product_tmpl_ids))

El paso siguiente es leer el nombre del producto en cuestión, para luego hacer la llamada a chatgpt pidiendo la descripción del producto

product_data = sock.execute_kw(dbname,uid,pwd,'product.template','read',[[product_tmpl_id],['name']])
product_name = product_data[0].get('name')
prompt = ( f"Genera una descripción atractiva para e-commerce del producto '{product_name}'. " f"Incluye características, beneficios y lenguaje profesional. " f"Si hay descripción técnica existente: {product_description or 'sin datos técnicos'}" )
response = openai_client.chat.completions.create( model="gpt-4o-mini", messages=[{"role": "user", "content": prompt}], timeout=20 )
content = response.choices[0].message.content.strip()
print(content)

Basicamente lo que hacemos es completar un prompt en chatgpt pidiendo la ficha del producto. Por último, actualizamos el producto con la respuesta

return_id = sock.execute_kw(dbname,uid,pwd,'product.template','write',[[product_tmpl_id],{'description_sale': content}])
print(return_id)

Para obtener un resultado como el siguiente


Lo mismo que acabamos de hacer con xmlrpc lo podemos hacer en un módulo en Odoo. Y los escenarios donde me imagino podemos utilizar esta técnica es para comercio electrónico o Mercadolibre. 

Este post no cubre las limitaciones que imponen las cuentas de OpenAI u otros servicios de inteligencia artificial. Pero dichos costos siempre van a ser menores a tener un empleado actualizando en forma manual los productos, y además van a hacer un mejor trabajo. Que van a hacer dichos empleados? Monitorear el flujo del proceso de actualización y publicación de los productos en el e-commerce o en Mercadolibre.

Gustavo Orrillo 1 de noviembre de 2025
Compartir
Archivar
Identificarse dejar un comentario