Saltar al contenido
Especialista3D

ChatGPT para Python y programar con la API de Revit

¿Puede ChatGPT hacer la programación de Python con la API de Revit por mí?

Si acabas de aterrizar por aquí buscando una respuesta rápida a la pregunta: ¿puedo ahorrarme todo el rollo ese de aprender a programar y que ChatGPT automatice las tareas de Python y Revit por mí? vamos a por una contestación clara. La propia respuesta proporcionada por los creadores de Chat GPT.

ChatGPT sometimes writes plausible-sounding but incorrect or nonsensical answers. Traducción: "ChatGPR a veces puede escribir respuestas que suenen plausibles pero incorrectas o carentes de sentido"

Así que NOPE. No puedes confiar todavía en una tecnología que puede dejarte a ti o a tus clientes colgados. Dar una respuesta de chat GPT por buena sin la ayuda de un experto sería un enorme riesgo. Así que, respuesta rápida, hoy por hoy no. Hoy todavía ChatGPT no  puede hacer la programación por ti y tendrás que comprobar sus respuestas exhaustivamente. Si venías a por la solución rápida ya la tienes. Si no es como te esperabas te invito a que vuelvas de aquí a unos años, tal vez la respuesta haya cambiado para entonces.

Fiarte de ChatGPT hoy por hoy se parece mucho a confiar en esa persona que se hace el enteradillo de la oficina. ¿Quién no ha caído alguna vez en esa trampa?

Oye, que yo soy la primera que amo la automatización. Si ves mi lista de Youtube completa dedicada a add-ins o plugins de Revit, te darás cuenta de que apuesto 100% por un futuro en el que las automatizaciones funcionan de la mano de los expertos.

Ok, entonces: ¿he descartado ChatGPT por ser poco fiable? ¿Hasta dónde podemos utilizar esta tecnología para ayudarnos? Vamos a abordarlo aquí.

Nota de la autora: Este artículo ha sido generado completamente por mí. Soy una persona y no una IA, :). Así que los errores, erratas, atisbos de personalidad o especulaciones son culpa de mi materia gris. Nada de eso de hacerte leer hasta el final y luego decir «choprecha, esto lo escribió una IA». 

Tabla de contenidos

Primero lo primero: ¿qué es ChatGPT?

ChatGPT es un modelo entrenado de IA que interactúa con quien le escribe de forma conversacional. Te permite hablarle, corregirle si se equivoca y no acepta solicitudes «inadecuadas».

ChatGPT es realmente impresionante, aunque si te encuentras con que no funciona por momentos, es porque actualmente están promocionando su uso gratuito :(.

En el mejor de los casos ChatGPT puede ahorrarte tiempo, expandir tu conocimiento de algunos campos y darte inspiración cuando estás corto de ideas. No bromeo, parece un robot bueno sacado de una peli de ciencia ficción. No se si has visto «The Good Place», si la has visto ChatGPT cuando funciona es como una Janet buena. Si aún no has conocido a Janet piensa en ChatGPT como la versión escrita del móvil de la peli de Her.

Pero OJO: esa es la SENSACIÓN que da, no es lo que realmente está ocurriendo con esta tecnología.

Lo que ChatGPT no es ni puede ser para un programador BIM o de Revit

Te hago una lista breve de lo que ChatGPT NO ES:

  • No es una enciclopedia, 
  • Y tampoco una base de datos de conocimiento inequívoco. 

Suena confiado en sus respuestas cuando pueden ser incorrectas. Ups…! Parece que la podemos liar ¿verdad?

Dato interesante para programadores: StackOverflow recientemente ha prohibido de forma temporal las respuestas proporcionadas por esta IA. Artículo sobre esta prohibición. Si no conoces StackOverflow, es el foro más grande de programación en la red en estos momentos. Se caracteriza por su fiabilidad porque los usuarios votan la utilidad de las respuestas recibidas… y actualmente no se fía del criterio de ChatGPT a la hora de programar.

En mi opinión, que StackOverflow tome esta decisión en estos momentos es una bandera roja del tamaño de una plaza, en cuanto al riesgo en la fiabilidad de las respuestas autogeneradas.

Ok Luisa: entonces, ¿me estas diciendo que no me suba al carro de la ultraproductividad? nope, te estoy avisando de sus limitaciones. Te voy a explicar que sí puedes hacer por ella y hasta dónde llega la herramienta.

Cómo sí sacarle partido a ChatGPT

Ok, una vez establecidos los límites de la herramienta y entendido un poquito cómo funciona. ¿Cómo recomiendo utilizar esta herramienta? Depende de tu nivel de programación.

Si estás iniciándote con Revit y Python y su API

Si estás empezando a programar directamente te desaconsejaría, hoy por hoy, el uso de estar herramientas. Vas a aprender mucho más leyendo documentación oficial, visitando vídeos de expertos o formándote con un ser humano experto.

En serio, se que puede parecer muy tentador y hasta gracioso pedir ejemplos de programación. El problema viene cuando tomas apuntes y piensas que te está diciendo la verdad la máquina. Ya te digo yo que se equivoca bastante.

Si tienes cierto conocimiento de las herramientas de programación de Revit

Si ya te sabes manejar con la API de Revit y con Python o C# puedes utilizar ChatGPT como apoyo. Te invito a que pienses en esta herramienta como lo harías en una persona recién iniciada en la programación, que tiene a su disposición miles de libros de programación, y que está dispuesta a ayudarte. Uno que tiene muchísimas ganas de aprender y que ha leído un montón de documentación pero que tiene todo absolutamente hecho un lío en su cabeza. Y además este principiante lleva un par de copas de vino que le dan un extra de confianza al responder.

Los tres ejemplos que hemos probado con ChatGPT y programación de distintos niveles

En este vídeo puedes ver el testeo completo que hicimos con ChatGPT con 3 niveles de dificultad de programación y las conclusiones extraídas del testeo.

Ejemplo más sencillo: pedimos a ChatGPT seleccionar muros

Uno de los ejemplos más sencillos que hemos podido encontrar es el de la selección de muros en el modelo, le pedimos a ChatGPT que seleccione los muros de más de 3 metros de alto. Abajo tenéis lo que hizo ChatGPT a la izquierda y la corrección a la derecha.

chatGPT y Dynamo Python Revit API_Prompt1_Respuesta de la IA
chatGPT y Dynamo Python Revit API_Prompt1_Respuesta corregida por especialista3d

¿Qué rarezas introduce la IA? pues planta un doc en la línea 13 sin haberlo definido previamente, le faltan referencias para cargar librerías, asume que trabajamos en milímetros y, por último, no obtiene ningún resultado.

Aún así, habría ayudado bastante.

Ejemplo medio: pedimos a ChatGPT seleccionar escaleras del Nivel 1 en Python Dynamo Revit 2022

Segundo intento, le pedimos algo un poco más difícil y nuestro chat empieza a enloquecer un poquito más.

  • Se le olvidan las bibliotecas,
  • Asume que el ID de las escaleras es el 1 porque, ¿por qué no?
  • Empieza a confundie un poco el entorno
2_chatGPT y Dynamo Python Revit API_Prompt2_Respuesta de la IA

Incluso con estos fallos ChatGPT te ahorra un rato de escribir código y es posible su corrección una vez entiendes la confusión que puede tener con el ID.

Testeos de ChatGPT para Python y la API de Revit: ¿Cuándo funciona y cuándo no?

Por supuesto para poder escribir este artículo he testeado la herramienta dándole órdenes de nuestra especialidad. Quería saber hasta dónde llegaba y la confianza de sus respuestas en nuestro campo.

Cuando funciona: respuestas a preguntas muy sencillas y con las preguntas muy afinadas

Las mejores respuestas las da cuanto más preciso seas con dos parámetros: el contexto y la exactitud de tu pregunta. Cuanto más afines la pregunta más acertada será la respuesta.

El contexto en las consultas de Python y Revit

Ejemplo de contexto: «Imagina que eres un experto en programación para Revit y que tienes que programar lo siguiente desde Dynamo con Python». Esto ayuda a que la IA se situé tanto del tipo de respuesta que esperas como del medio en el que estás programando. Acotará las consultas al medio de Dynamo. Si no haces esto el riego es que te mezcle respuestas compiladas de visual, con otras de py revit y sus métodos y otras de Dynamo. Ojo.

La exactitud de la pregunta

Cuanto más concreta sea tu pregunta más opciones de la máquina de aceptar. 

  • Ejemplo de pregunta concreta con contexto: «Usando Revit programando con Dynamo y Python, ¿cómo selecciono los muros cuyo parámetro altura sea mayor de 3 metros?». 
  • Ejemplo de pregunta no concreta: «Dime formas de seleccionar con la API de Revit».

La primera, al ser más precisa, tiene más posibilidades de darte una respuesta adecuada. La segunda es donde puede empezar a darte el batiburrillo de diferentes opciones de programación que, simplemente, no se deben mezclar.

Conclusiones: un uso reflexivo de la nueva tecnología

ChatGPT de momento no puede reemplazar a un programador Revit con experiencia ni a tu profesor de la materia. Esto es una buena y una mala noticia:

  • La buena: seguirá haciendo falta, y cada vez más, programadores BIM.
  • La mala: a los que habéis entrado a este artículo imaginándoos con un daikiri mientras vuestro portátil trabaja por vosotros… mal váis. 

Tampoco este artículo parará las decenas de vídeos que espero ver pronto en youtube tratando esta nueva tecnología como si del descubrimiento de la pólvora se tratara.

ChatGPT sí puede ser un apoyo para proporcionarte respuestas o una aproximación creativa en tus programas. Eso es estupendo, siempre que tengas en cuenta que tendrás después que revisarlos para que verdaderamente funcionen.

Lo importante, que te sirva para ampliar tu conocimiento y no para equivocarlo o lastrarlo.

¡Espero que este artículo te ayude a comprender mejor qué nos trae la nueva tecnología!

Un saludo y mucho BIM.

Documentación mencionada.

CC BY-NC 4.0 ChatGPT para Python y programar con la API de Revit por Especialista3D está licenciado bajo una Licencia Creative Commons Atribución-NoComercial 4.0 Internacional.