Python Code
Python Code te permite escribir unas líneas de código Python para hacer con tus datos justo lo que necesitas: calcular importes, limpiar y reorganizar información, combinar campos o aplicar reglas propias de tu negocio. El componente recibe los datos del paso anterior, ejecuta tu código de forma aislada y entrega lo que tu código devuelva.
También puede trabajar como herramienta de un agente: el agente lo llama cuando lo necesita y le pasa los valores que haya decidido.
Cuándo usarlo
- Calcular totales, descuentos o impuestos a partir de los datos de un pedido.
- Reorganizar la información que devuelve un servicio para que encaje con el siguiente paso.
- Aplicar reglas propias, como clasificar clientes según su volumen de compra.
- Darle a un agente una operación concreta que debe hacer siempre igual.
Configuración
| Campo | Qué hace |
|---|---|
| Input Data | Los datos con los que trabaja tu código. Conéctalo a la salida del componente anterior. Admite mensajes, datos y archivos. |
| Python Code | El código que se ejecuta. Los datos de entrada están disponibles en data y el resultado es lo que indiques con return. Si no escribes return, el componente no entrega nada. |
Lo que tu código tiene a mano
data: los datos de entrada. Un registro llega como un conjunto de campos, por ejemplodata["importe"]; una lista llega como una lista de registros.env: las variables del entorno asignado al flujo, por ejemploenv.get("MONEDA"). Si el flujo no tiene entorno, está vacío.components: lo que han devuelto otros componentes del flujo en esta ejecución, cuando el componente trabaja como paso del flujo.args: los valores que envía el agente cuando el componente trabaja como herramienta.toolsymodels: las herramientas y los modelos que conectes al componente (ver las opciones avanzadas). Conreturn toolsoreturn modelsves cuáles tienes disponibles y cómo llamarlos.print(): lo que escribas conprint()aparece en el registro de la ejecución, pero no forma parte del resultado.
Un ejemplo sencillo que calcula el total de un pedido:
total = data["cantidad"] * data["precio"]return {"pedido": data["pedido"], "total": round(total, 2)}Opciones avanzadas
| Campo | Qué hace |
|---|---|
| Packages | Módulos adicionales que necesita tu código, uno por línea. La primera vez que se usan puede tardar unos segundos más. |
| Volume Directory | Nombre de una carpeta de tu almacenamiento donde el código puede guardar archivos que se conservan entre ejecuciones. En el código, la ruta de esa carpeta está en volume. Déjalo vacío si no necesitas guardar archivos. |
| Python Version | Versión del lenguaje con la que se ejecuta tu código. Por defecto, 3.13. |
| Enable Tools Input | Añade la entrada Tools para conectar herramientas y llamarlas desde el código con tools["nombre"](...). Desactivado por defecto. |
| Enable Models Input | Añade la entrada Model para conectar modelos de IA y llamarlos desde el código con models["nombre"]("tu pregunta"). Desactivado por defecto. |
Uso como herramienta
Estos campos se aplican cuando conectas la salida Tool a un agente.
| Campo | Qué hace |
|---|---|
| Tool Name | Nombre con el que el agente ve la herramienta. Por defecto, py_tool. |
| Tool Description | Explica al agente para qué sirve la herramienta y cuándo usarla. |
| Tool Input Schema | Los valores que el agente debe enviar al llamar a la herramienta. Llegan a tu código en args. |
Resultado
- Processed Data: lo que devuelve tu código. Un conjunto de campos se convierte en un registro, una lista en una lista de registros (cada conjunto de campos como un registro, cualquier otro valor como un registro con él en el campo
text), y un texto o un número en un registro con ese valor en el campotext. - Tool: el componente como herramienta para un agente. Al conectar una de las dos salidas, la otra se oculta.
Para aplicar el código a cada elemento de una lista por separado, usa Batch Mode.
Ejemplo
Recibes pedidos de tu tienda con cantidad y precio unitario, y tu hoja de facturación necesita el total con impuestos. Conectas los pedidos a Python Code y escribes un código que multiplica la cantidad por el precio, suma el 21 % y devuelve el número de pedido con su total. La salida Processed Data va directamente al componente que escribe en la hoja.
Buenas prácticas
- Termina siempre con
return. Para ver cómo llegan tus datos, empieza conreturn datay ejecuta el componente. - Guarda las claves y direcciones de servicios en el entorno del flujo y léelas con
env, en lugar de escribirlas en el código. - Si una tarea ya la hace otro componente, como filtrar o unir datos, usa ese componente: el flujo será más fácil de entender.