Odoo 18 / 19 · Ollama · Guía práctica

De las notas del cliente al siguiente paso.

Configura una acción que lea las notas de un contacto, extraiga el siguiente paso indicado y guarde la respuesta en su historial de Odoo. Todo el recorrido está aquí, con los prompts para copiar.

Por Javier Rico Rodríguez, creador de AI Engine · 14 de septiembre de 2026

Qué vas a conseguir

Un resultado guardado para revisión. Esta acción no envía correos ni crea reuniones. El ejemplo usa datos ficticios y el módulo comercial AI Engine de JVR Labs.

Antes de empezar

  • Odoo 18 o 19 en Odoo.sh o un servidor que permita módulos Python de terceros. Odoo Online no es compatible.
  • AI Engine 18.0.1.1.0 o 19.0.1.1.0 instalado y acceso de administrador. El módulo depende de base, mail, requests y Jinja2.
  • Acceso a los contactos y una instancia de Ollama accesible desde el servidor Odoo. Empieza en una base de pruebas.

La prueba real se ejecutó en Community 18 y 19. No valida las funciones específicas de Enterprise ni las conexiones con proveedores de pago.

1. Configura Ollama y el modelo

Con Ollama instalado, descarga el pequeño modelo utilizado en este ejemplo:

ollama pull qwen2.5:0.5b

En AI Engine → Configuration → AI Providers, crea un proveedor con la plantilla Ollama (Local). Usa la dirección real de tu servidor Ollama, terminada en /v1. En una instalación donde Odoo y Ollama comparten el mismo entorno de red local, puede ser http://localhost:11434/v1.

Si Odoo está en Docker, localhost apunta al contenedor. En nuestra prueba con Docker Desktop usamos http://host.docker.internal:11434/v1. Esa dirección no sirve automáticamente en Odoo.sh ni en un servidor remoto. No expongas Ollama sin protección a Internet.

Para una instancia local de Ollama sin autenticación, escribe ollama en el campo obligatorio API Key: es un valor de relleno, no una clave real. Si tu servidor tiene autenticación, utiliza su configuración real. Crea después un modelo llamado exactamente qwen2.5:0.5b y asígnalo al proveedor.

Modelo y documentación de Ollama

2. Prepara un contacto ficticio

Crea un contacto llamado Alex — Demo customer. Pega este texto en sus notas internas (campo comment) y guarda el registro. Se conserva el texto en inglés de la prueba original:

Customer asked for a demo of AI Engine for Odoo 18. They want to summarize customer notes. Next step: send the product guide. No meeting has been scheduled.

3. Crea la acción y copia los prompts

Activa el modo desarrollador y abre Settings → Technical → Actions → Server Actions. Crea una acción con esta configuración; los nombres de los menús pueden variar según el idioma:

Nombre
AI Engine · Extract the next action
Modelo
Contact (res.partner)
Tipo
Execute AI Prompt
AI Provider / AI Model
Ollama / qwen2.5:0.5b
Temperature / Max Tokens
0.2 / 180
Output Mode
Log to Chatter

System Prompt

Extract the next action explicitly stated in the notes. Return only that action as one short sentence. Do not invent information.

User Prompt

What is the next action for {{ record.name }}? Notes: {{ record.comment | striptags }}

Las variables se sustituyen por el nombre y las notas del contacto. El filtro striptags retira las etiquetas HTML de las notas.

4. Revisa y ejecuta sobre un contacto

Guarda la acción y abre Preview & Test para revisar el prompt renderizado. Comprueba el nombre del registro de muestra: el asistente toma un registro reciente del modelo y puede no ser Alex. Test with AI hace una llamada real y muestra una respuesta de prueba; no sustituye la ejecución de la acción sobre el contacto elegido.

Pulsa Create Contextual Action en la acción guardada. Vuelve al contacto Alex y ejecuta AI Engine · Extract the next action desde el menú Actions. Si no aparece, recarga la vista. Ejecuta solo sobre este contacto de prueba.

5. Comprueba el resultado y el consumo

En nuestra ejecución de Odoo 18, la respuesta guardada en el chatter fue exactamente:

send the product guide

AI Engine → Usage and Costs registró 86 tokens de entrada y 5 de salida. Tu texto y el consumo pueden variar. Sin tarifas configuradas en el modelo, un coste mostrado como cero significa que no hay estimación, no que la infraestructura sea gratuita.

El modelo pequeño funcionó para esta extracción concreta, pero en otras pruebas produjo un borrador impreciso. Revisa cada respuesta antes de utilizarla y evalúa tus propios ejemplos antes de automatizar más registros.

Ver la demostración de 34 segundos

Si algo falla

  • No conecta: comprueba la dirección desde el servidor Odoo, no solo desde tu navegador.
  • Modelo no encontrado: verifica que el nombre coincida con un modelo descargado en esa instancia de Ollama.
  • Notas vacías: revisa el contacto seleccionado y que el texto esté en comment.
  • No aparece la respuesta: revisa el chatter, Output Mode y el registro de errores en Usage and Costs. Una acción que termina sin ventana de error no garantiza que la llamada haya funcionado.

¿Encaja con tu instalación?

AI Engine tiene un precio de referencia de 199 USD por licencia de pago único. Consumo de API o infraestructura aparte. Comprueba la versión, el precio final y las condiciones en Odoo Apps.