[Request for Feedback] Gen-AI Assistant from Dynamo Team

Greetings from the Dynamo team!

It has been a while since I wrote here to share some new progress made by our team. If you have been following our blog posts, you may know we have released Dynamo 3.0 – our latest release, loaded with some awesome features and UX improvements. What is even more exciting is that our team has been looking closely at the possibility of integrating a Generative AI (Gen-AI) assistant experience based on Chat-GPT into Dynamo. An AI-powered assistant could offer efficiency, interactive troubleshooting or optimization when integrated into a visual programming tool with a somewhat steep learning curve.

We are exploring the following possibilities of a Chat-GPT like experience in Dynamo! Given this is early days, we cannot guarantee if and when they will be available in Dynamo, or if they will look anything like this, but we are committed to exploring this space and seeing how it can empower Dynamo and shift existing paradigms forward. As with all AI/ML projects, the trick is with data and model fine tuning. So whipping up a concept is super easy and fast, but getting it ready for general use will take a long time. You can think of this as a ratio of days to months. Your opinions would help us greatly as we continue to evaluate the value of such a tool.

Ever felt like the warning messages on certain nodes are not so helpful? You can ask the Gen-AI assistant to explain the graph to you and troubleshoot for you based on its own analysis. In the example above, the Gen-AI assistant explains that the value output from the Code Block node should be a number instead of a string.

In the other example above, the Gen-AI assistant explains that there is an error in the range expression in Code Block node and how to fix it.

Ever wonder if the graph could be simplified or optimized? You can ask the Gen-AI assistant to identify unnecessary nodes or optimize node connections. The above is an example of graph optimization suggested by the Gen-AI assistant to remove the extra node in the workflow, achieving the same result with fewer nodes.

To the same goal, let’s see if we make this problem harder, how would the Gen-AI assistant respond? In this trial, it seems the Gen-AI assistant is aware of the optimization principles, but it is not well trained with enough data yet to Combine Operations for the user. We were expecting the Gen-AI assistant to suggest removing the whole list manipulation block of nodes but it did not specify. Given the clear goal, we may need to try different approaches, e.g. fine tune the model or compare different language models.

CopilotCreateNode_v2

Ever thought about having Dynamo generate workflows for your needs using Python nodes or auto-generated graphs? You can specify your goal to the Gen-AI assistant and have it provide the solution for you. The above is an example where the Gen-AI assistant automatically created a Python node in canvas containing the Python code to move a wall in Revit. What’s left for the user is to connect the Python node with the right input and continue the rest of the design process without having to worry about learning Python.

These are a few use cases our team believes could be helpful to our users. How would you like to leverage a Gen-AI assistant if provided in Dynamo? Please specify these or any additional use cases that would be valuable to you so our team can study what a Gen-AI assistant can bring to the larger community and prioritize the effort. Dynamo team would like to listen, especially @solamour @helena.wahlstrom @craig.long and me

22 Likes

This is super cool, I was hoping for something like that!! Obvious that the Dynamo Team delivers first of all :grin: :+1:

what I would try to ask:

  • please give me suggestions how to optimize the graph for usage with Dynamo Player and let me choose some of your suggestions
  • please adjust the graph, so it is optimized for the latest updates of Revit 2022, 2023, 2024, 2025. Make a test run of the graph in all versions. If there are errors or warnings, save it to our Dynamo dev folder X:/xxxx/xxx. If there are errors or warning, show my the graph and describe the problems.
  • Please try to replace all custom nodes with standard nodes. Skip custom nodes that are in our standard packages library. If there are no suitable standard nodes for replacing the custom nodes, try to use Python code.
  • tbc
5 Likes

I’ll second this workflow.

I think you’d also need a way to use AI analysis on selected nodes only. For larger graphs, having to read through every node in the workspace would make troubleshooting specific issues pretty cumbersome.

6 Likes

I would love to see a use case like:

“Based on this image, what is this Dynamo graph doing?”

11 Likes

A general breakdown in plain language would be super helpful, even on the open file.

7 Likes

I hope it starts every such response with “This image appears to be either of a puppy chasing it’s tail or” and then goes onto a real response.

7 Likes

Please please please please please tell me this would start by telling you that you need to launch Dynamo from inside Revit and not sandbox in order to interface with the Revit API and then does nothing more if you ask from Dynamo sandbox…

4 Likes

This is exciting!!

It can have vast possibilities and use cases which I would like to use.

  1. Graph Analysis: The AI could analyze selected portions of a graph, explaining the inputs, outputs, and the overall function of that part of the graph.
  2. Lacing and List Level Configuration Suggestions: Based on the desired output, the AI could suggest the best lacing and list level configurations.
  3. Python Script Generation: It can be used to generate Python scripts, iteratively refining them based on warning messages until the script is optimized and gives us the required result.
  4. Documentation Creation: It can create detailed documentation for a Dynamo graph, explaining its purpose, function, and structure, saving the user time and effort.
  5. Custom Node Recommendations: By referring to existing Python-based custom nodes, the AI could suggest requirement based modifications that the user would want for their project.
  6. Package Manager Scanning: The AI could scan the available packages and suggest installing specific packages based on node names, inputs, outputs, and descriptions.
  7. Installed Node Suggestions: By scanning installed nodes, the AI could suggest nodes that could be useful for the user’s current project. “Advanced autocomplete”
  8. Debugging Assistance: The AI could serve as a contextual pop-up helper, analyzing the output data from a node and fetching the required index or details. This would save the user the time and effort of scrolling through lengthy output lists.
4 Likes

Very interesting, I hope to see it soon.

1-I believe if AI can replace any node from custom package to python, this will be awesome.
2-Also to create python node for any Revit commands that don’t exist in built-in Dynamo node but exist in the Revit API.
3-also, if it can help in building the algorithms it will be good, by just telling the AI what I am thinking about, and the AI tell me more ideas maybe or suggest some built-in nodes or give it to me in python.

3 Likes
  • I 'd say, if it can generate the python code and bringing it in the python node. Why bother with nodes in the first place :slight_smile:

  • I know it is the beginning in your examples, but having options to make it more or less verbose would be nice. I like bullet points, action verbs and simple sentences.

  • Ability to answer with most used custom nodes as well but with a priority for builtins

3 Likes

Great work!

The ability to automatically generate python is very nice… Naturally people will want to further refine the code, or perhaps adjust it and keeping the old conversations logged might be useful? I can imagine a user building up a little library of prompts?

Cheers,

Mark

3 Likes
  • next step is just to prompt and get things done in Revit without Dynamo as a middle man ;p
    a bit like Glyph and bltsmrt foundry are trying to do
1 Like

Would be an Interesting and useful addition.
A few things I could see Ai do for me. Have to mention that I am still learning Dynamo and I am more gluing scripts together to try make things work. That aside here are a few concepts that I think could be neat:

  1. little personal assistant
    While learning I see/experience that certain actions (ex: when filtering lists, importing exporting to Excel, etc.) remain more or less the same. It would be fun to have a bot/window/popup that would “foresee” and spawn or fill those recurring tasks/nodes/blocks automatically in. A bit similar when writing an email these days - press tab or other key and it gets filled in.
    A similar action could be done to a node/block with a lot inputs or outputs.

  2. Clean-up function.
    Make a spaghetti like scripts clean and easy to read, simplify/group nodes together.

  3. Dynamo coder’s Arena.
    The AI would challenge us by having to make a script with visual scripting or python or both. Challenges could be part of a learning tool/program or made by community/package creators in order for other users to properly learn and understand the developed tools, nodes, …
    Give it a scoreboard and let games begin!
    The challenges would be very broad from simple & mundane tasks to generating geometry or generative design to filtering data & lists to replacing x or y, etc.

3 Likes

It’s really exciting to see how Gen-AI can be combined with Gen-AI in the future. I’m currently trying to study how Gen-AI can assist Revit through dynamo. Here are some functional suggestions:

  1. Introduce a feature similar to the original Dynamo Player that allows users to enter commands in natural language, such as: ‘Count the total number of concrete walls’ or ‘Generate columns at every intersection of GridLines.’ The Gen-AI assistant could then automatically generate and save a Dynamo script, asking the user whether they’d like to attempt to run it. If the outcome isn’t as expected, or there are issues, users could be given the option to open the script and collaborate with Gen-AI to correct or resolve the problem, or make adjustments themselves as needed.

  2. Provide a tool similar to GitHub Copilot for writing Python scripts in Dynamo, assisting developers with code generation. This would greatly aid in streamlining the development process, making it more efficient and accessible to those who may not be experts in Python.

  3. mplement an ‘Auto-Connect Nodes’ feature that completes the input for nodes. Sometimes users may be unsure of how to connect nodes or apply them effectively. By allowing users to select ‘Auto-Connect,’ Gen-AI could attempt to automatically link nodes or add necessary ones, helping users understand the next steps in their workflow.

Looking forward to the day when Gen-AI will be integrated into BIM work in the future!!

1 Like

Hi,
some questions

  • Do AI use customers prompts for training the LLM model ?
  • Can the quality of LLM be degraded by bad prompts?

Perhaps, for a start, limit to a defined list of prompts ?

3 Likes

I think the problem there is the lion’s share of work in glyph is actually just the code to run the tools, with AI being the cherry on top.

Revit is not made to be driven by an AI, the tools you build on top of it can be. There’s a lot of false hope going around that products like glyph signify a new age for Revit itself, when really it’s just the usual well built code and time invested to a company focused on tech, versus magic buttons.

6 Likes

I have 3 tips which I don’t need much right now.But I think it may be helpful.

1、What‘s next node for the current node I have already put in the graph.

Reason:
When I first learning,the most confusion is which node I need to select next.

2、What’s the input node for the node that I want to use.

Reason:
The most common errors I have meet at the very beginning is that I connect the wrong node as input.

3、Do I use too much node?

Reason:
Back the year 2018,I made a graph with the dyn file size over 2 MB,It’s dynamo 1.3 and Revit2016,It’s even slow when zoom in and out the graph.I can’t believe it.The grasshopper won’t have this issue.Cause I see more nodes there,and the zoom respond smoothly.And after joinning a Autodesk official online meeting for introduction in China,I asked the question the people from Autodesk told me to split the dyn file to several file and not make the entire purpose within one graph.It’s solution though.But I need warning as Dynamo get update now.What is the limit for the amount of the nodes and when it will affect performance I better get warnings.