Create AI Assistant for Revit with Python and OpenAI | pyRevit Podcast #1
Transcript
all right so welcome on the podcast I to be honest never expected to start a podcast until you kind of wrote me with this suggestion and probably people from the title and so on will already know that they here to see how to add AI assistant in Revit but before we're going to go into this part could you just share a little bit about yourself what is your background your current role and just what do you do so currently I working as assistant information manager at Arup and uh talking about my academics I have done my masters in construction project management with Bim from labor University and before that I completed my bachelor in civil engineering at symbiosis Institute of Technology it was during my undergrad where I developed my interest for construction and technology so comes very simple that I love construction it's not that uh I developed my interest or it's just kind of study to me but Construction is something which I love and I enjoy using technology to enhance the construction industry so you can say for me technology is a tool to beautify what I love mhm is it something from the childhood that you love construction or is it something you picked up later from childhood I can't say from childhood but yeah I can say from when I started understanding the buildings that's like how it is being built how like that that looks very fascinating to to me how these buildings are being built and the planning behind this building or something so that's kind of thing which I really love uh I still remember during my childhood uh when my house was being built I really enjoy going there spending time with my dad so yeah that was something which made me develop my interest in construction how did you get involved in ravit in the first place is it something you learned in the uni or at the job I started uh using ravit during my under the grad studies and uh it was not kind of uh very much I would say from the University but it was uh a self- Learning Journey for me and uh I believe self-learning is one of the most powerful thing which someone can do yes uh because like if you see uh what we are being taught we are not sure that okay this is what we are learning or something sometime we get confused or sometime that is not what uh interests us but uh self- learning is something which comes out of interest and uh it is one of the most powerful way of learning what I feel as for me mhm I see no no I totally agree with you about the self-learning I had a teacher in the University who always told us that Revit is a very intelligent software but it's going to be as smart as you are right so you have to always kind of come with the right mindset to this I got lucky with RIT I just got to UNI and they just told us like okay don't load the ravit this is what we're going to use during the uni I'm like okay whatever and so I got an easy start start is like uh for me start was not that easy I can't say how the education system in different countries but for us it was more like books and all but uh I was very lucky going to my university which was symbiosis and over there I feel they were not just focused on the books or what you learn from the books they were more focused on softwares more focused on what is going on in the world how you can adapt to those things so that way I got lucky yeah I think software is actually very important when we learn we learned so many unnecessary stuff that you come to the job and they tell you like forget everything this is how we do stuff but the software is actually the first thing you need at the job right so yeah all right and uh well where does the code come in right so you kind of start working in ravit but what motivated you to actually start coding was there any specific challenge or something in ravit that pushed you I would say this is kind of my favorite side of story and uh covid pandemic was definitely a tough time for everyone MH but uh for me it became an opportunity to focus on my personal growth because I was a interesting uh coding like I had an interes in coding how the games like as we play games or we use website kind of Google search everything we use but everyone has that small kind of going in our back of mind that what really is going behind this I never had the time to pursue it seriously but uh during Co I finally took a place that okay now I have the time and now I am going to invest my time for my learning so I would say in that uh first 6 months I completed around 50 to 60 uh kind of online courses and over there 50 to 60 yeah online courses like I was giving almost 20 18 20 hours per day on kind of my self- learning um I got free license from my uni for the corsera corsera helped me a lot and uh there I kind of uh started diving deep into coding and how it goes and uh I started with Java and I feel I still feel I'm very afraid of java because uh I I I was not able to learn Java it was kind of hard to me so then uh Professor suggested me go with python then I started with python and that took me like uh um I would say around a year to get into it and kind of say that yeah now I'm good with python all right so majority of these courses you started with Java and then you switched to python so majority of these courses were on python right uh not only on python because like I was uh some of them were on iot some of them were on Revit some of them were on different kind of things so but yeah majority of them were on Python and uh how long did it take for you to see the first results with the code because in the beginning we learned how to print how to make very simple things but when was like the first time you actually put it to use to get the result like I still remember the first day when I got that uh hello world in R print hello world so that's kind of a first stepping stone for any coder but uh for a result I would say um when I was kind of working with iot where I developed small Hardware to test the uh humidity of cement and then I took it a Next Step where I kind of developed a tool to check the moisture content and water content of concrete so over there I that day I felt okay I can work more with coding and then I started working in further then I kind of worked with the safety modules uh uh open CV and all these kind of things uh so that was was it something you did in the uni already at the job because you mentioned this iot and for people who don't know it's internet of things pretty much all the smart devices where does this come from uh this came out of Interest like it was not in my job it was not in my uni but yeah it came out of my interest two names which I still like I will mention everywhere it was uh two of my professor one was s Sor and one was Professor wnav Dair so they were kind of the professor who used to even during my covid I still remember whenever I used to text them okay I I'm interested in this bit of the project so can you help me out with this and they always helped me out and uh with that I was like okay okay let's go let's interesting yeah and then when you come to rabit and decided to put your coding skills in rabit what was the first sort of win you remember it was not just with the Revit the first thing which I developed was kind of a web based tool with speckle so when when the name sple come I would just say that it is kind of something which is going to the Future in construction so that thing I'm I'm always saying to all my colleagues and everyone that uh try to put your hands on with speckle but yeah uh with I built a web based tool with where I was fetching the data from Revit and all these kind of things but uh still there was a challenge for me that I have to like combine three softwares first Revit then take data from Revit to uh speckle and then from speckle uh to my dashboard which I built that like uh it was a kind of web- based uh tool which used to take the data from revid through sple to my dashboard it was a small dashboard where you get to check with your data we get to extract all the data from your Revit and other kind of stuff was it just for you or was it used the companywide uh it was not in company it was used uh with my team at AC Global teamwork program at Stanford University so over there I got a lot of feedback from my mentors from my colleagues how I can improve that and I kept on working on that and finally it was kind of a uh good platform to interact with the data to down download the data to filter out the data if you are not familiar with revid you can just like kind of just select the things from the drop down and you can download whatever you want to from the Revit so that was thing but uh then uh I I had a understanding of uh revid API but uh I was not able to configurate it because as you remember right now in D 2024 you can't just download the API you have to kind kind of get the API and save it in a folder uh I don't remember the exact process of that you mean like SDK to get this chm file or right right right okay so it's it was kind of a lendy process I was I was not able to install it so that's why I switched to this thing but then after my AC Global teamwork program then I thought why not I had I had time to like explore other things so I started exploring revid API and it was new to me so uh once again thank you and uh that uh your courses were like uh the first stepping stone for me to get started with Revit API oh this is amazing and how long how long ago was it I would say around 3 4 months oh you still quite fresh to RIT API yeah definitely it's just I had a good understanding of python that's why it didn't took a lot of time for me to get on it but uh yeah to start with it it was hard for me to start but I can say that I have seen almost almost all your videos on Revit API here and I still have the ebook which you provide the first video in which we have to download the ebook and uh uh that ebook I still those those days I was reading your ebook and kind of getting started with it so it helped me a lot and then I started kind of building small tools and I always enjoy when I get the result and yeah yeah this is the best part what was your first tool um First Tool uh as you said uh seat one in which we can uh we can name different seat in the RIT so that was my first Tool uh which uh which was not my tool which I just copied your code and tried it out and I was like okay this is the tool which I created and I was very happy that uh it's still like an artist yeah it feels like okay I got the tool I I have like that was the first time when I saw something what I made on the river of the Ravid so that was kind of a big thing for me okay now I'm kind of adding something to Revit adding something to construction industry but uh then uh I was like I took step back during my uh AC Global teamwork program where I had few of the challenges which I took back to my practice and I started building tools in revidi so the first tool which was kind of meaningful was um having changing the name as as per the is code changing name of the file as per the is code changing name of the family changing name of the materials as per the is code or as per the project at once and uh U making a multiple levels making uh grids and uh there were different uh kind of small tools involved in that uh yeah I think it's a good step whoever is coming to ravit API R starting with small tools is best because first of all you break the false belief people think that ah ravit Epi it's impossible it takes like years to learn this and that but once they start making small tools they're like oh I just made something I made more more more and over time you kind of get addicted in my case I got to the point where no matter what task I got in the office the first thing in my mind I was like okay how can I do it with r API it can be a very simple task that will take I know maybe half an hour manually but I'll spend like two hours no I'm going to do it with RIT AP I don't care like I need to find a way yeah and you know over time you reach the point where this skill is actually kind of finally starts to save you a lot of time you automate and was there anything that you did with RPI that wasn't possible manually or it would take you so much time that it just doesn't make any sense to do it manually um uh that was about uh kind of naming the uh families and all these things because if uh generally in a big project we have multiple families we are using we have multiple seats we have multiple kind of U materials building materials and everything so it takes hours and hours to name them but uh with this uh like I was able to name all of them in a go like in just one click I have to like uh set the standards okay this this is going to be prefix this is going to be suffix this is going to be the project name this is going to be this this this and this and so one click you can get the uh changes you can see the changes so that is one thing which I feel was a lot of time saving apart from the chat integration and what motivated you finally at chpt to ravit was there any specific problem you tried to solve or was it just kind of for fun you want to take AI put in rate and see what happens uh it was kind of a mixed approach because whenever because right now in this era I feel if you don't use AI if you don't use uh chpt you are lacking behind a bit so whenever I was building something or whenever I'm doing something so it took me time to go on Google or go on ChatGPT and search for those things and get back to Revit and then make that thing so that used to take time so that was the first kind of approach for me to get ChatGPT get AI in Revit and the second thing was whenever you you were working in Revit you have a lot of data like in construction the main thing is the size of data it's a big size of data the data size is huge and uh um over there I felt uh that if we can like uh import our PDF or these kind of documents and then we can chat with them right now we have multiple uh yeah softwares you can even upload your document to uh ChatGPT and kind of ask questions around them so that thing was one of my motivation to integrate ChatGPT because that was my uh second add-on to Revit in which you can chat with the data you have in RIT like whatever you are building you can chat with that okay what is the total area of uh I I'll show you when we jump on to the uh demo phase so that is something like uh you can literally have a interaction with the revid how many columns are there how many beams what is the maximum length of the column so that kind of thing so you wanted to make it like context aware inside of RIT instead of saying like hey I have a big project it's highrise and like describe all everything with text they just can see the database right right yeah yeah ex exactly because in the end of the day rabit project is just a database of elements where all the information stored and so on it can be tricky to get everything out like in a concise manner but I think with AI that actually can be a lot easier than would be otherwise uh do you want to just jump into demonstration show show us what you got okay and then we can talk about this okay so uh this is kind of my first uh R reading as as I just said that uh kind of create add levels add volume total length total volume download the data from Revit download selected data and these kind of things so this was the first add-on which I developed and uh coming to the integration so as this is the F uh this is the kind of integration where uh ask Revit is a platform where you can just talk with yeah it's kind of a small ChatGPT in Revit and model mind was the platform where you can interact with the data in the revid so these both are kind of the I for now I've just separated them so that uh um we can like so that I have a clear understanding what I need to add more to this but yeah these both can be integrated and this is the the link to my Bim platform which the web based tool which is hosted with streamlit so here you can see it's kind of uh with speckle token you can uh get this speckle token and then interact with extract all the data whatever data you want to uh chat with or these kind of things and uh the main thing which made me use uh uh open a with the Revit was this platform where you can upload the document with where you can kind of uh uh once you have the data set from revid or other kind of U documents you can just upload it here and chat with the uh chat with the data set ah so you create like knowledge base inside of this stream lead and then connected to chat gbt right right does it use the latest uh open a models like this 4 what is it 01 40 uh this is 3.5 3.5 okay so it's a bit older yeah so this is using 3.5 and uh then you have view model you can view the model over here then you have some kind of uh uh all right so you go to Revit you're going to export all your projects to speckle and then with the stream L you can access all the data via the speckle and you can chat about it what's going on where it is and how exactly so here if you go to right if you select the model you can so the stream is different uploads is it different projects different projects and here you can kind of check the model you can go deep inside the model you can select different elements and uh and if I remember correctly when you view this model this is not an IFC this is kind of built up by speckle database right this a separate thing yeah separate thing this is coming from uh speckle mhm so you can check what it is and kind of other things and then you have the okay yeah the chat page is also kind of similar thing but here I Ed to like as I am extracting the data from uh revid API which is kind of more easy now uh so this is also kind of same thing I'll just run through this yeah so then you can select whatever subcategory you want to export from and then you can select the parameters like if I just want to select category Sport AS glow manufacturer Mark whatever it is and then you run MH so takes a bit of yeah so here the that data you can download it as CSV all this kind of thing and then again uh over here also I integrated ChatGPT where you can uh again interact with the data set like uh what is the uh maximum use material or who is uh which who is the manufacturer of this uh uh particular material all these kind of things so uh is this query only based on your filters right now because you said the that you want to see category so first you select all the parameters and then you can chat about whatever is shown up in this little database this table so yeah this this was kind of the thing and then if we go back before we going to go further can you just give us a little explain what what is a stream lead for people CU I knew a little bit about it but I'm also very new to this so stream L is kind of uh a python uh framework in which uh you have predefined frontend uh materials so uh you have predefined kind of pages you have predefined boxes uh if you can go to build the same page with HTML or css and um you have different other languages so that takes a lot of time to Define each of the boxes but with streamlit you can directly uh import different boxes you can import the page you can import the kind of pre-made it I would say in a normal term it's kind of a pre-build template from where you can kind of uh export different things export different materials and uh uh you can make a page so yeah this all all these things are um developed by the stream L which is kind of know it's very easy uh and also it has a uh it has separate template to integrate the open open AI with the python so that makes it more easy and kind of General overview if somebody is watching this right now and they think oh I want to build something like this could you just kind of uh break it into steps okay first they go to the stream L they probably make an account and what are the steps this kind of general ones just kind of being the picture of the how complicated it is so so I would say if you know python then it's literally uh nothing you just need to go to the documentation read kind of uh what what kind of box you want to import or what kind of um parameter you want to import what kind of background do you want so you can just uh go and read the documentation and then you uh come back to the python you import uh stream lit and then you start with it um but to host then uh when it comes to the hosting part because right now as you can see it's kind of bit slow it's because uh it's a free hosting on stream lit so once you want to host it once you are done with everything then you just go upload the project on uh GitHub and then you can uh create account on uh stream lit and you uh you connect both uh stream late and uh your uh GitHub page so once you connected then you can directly select the name of the project name of the page and then uh and then uh it takes like 5 to 10 minutes to get everything uh started so once everything started then you can then uh you're ready to host it but yeah while developing also you have uh G you have the general kind of how you develop on HTML CSS you have a general preview you can uh keep on previewing you can keep on checking what's going on and that way you can you have your page ready so uh with stream lit I would say it takes like less than an hour to kind of build these kind of pages and also now you have chat JP and other kind of stuff so with that you it takes less than an hour to properly have these Pages yeah perfect and do you know about the Privacy when you use for example this projects that you created how private is your data regarding like what you take from Revit is that somehow uh open to the stream lead or uh it's not open to stream lead or it's not open to uh even speckle because you have uh for the security I feel you have the speckle token if you are uh if you have not shed your uh speckle token then no one is going to see your speckle token and about the second part which I really liked about uh stream L when was when I was uploading my project and uh by mistake I left uh one of the speckle token which I was using for the testing phase I left it over there only so they uh stopped the kind of uh hosting and they asked me to change that part of the code so that thing I yeah that thing I really liked about yeah that that that is one of the best thing about uh stream Le that you can they literally pop up if there's something wrong going on in your project there's a funny thing about the tokens on the GitHub when people were testing ChatGPT they were just putting something like I don't know open AI key and then uh and then AI an auto suggestion for somebody's keys from the GitHub cuz AI was trained on it and I saw like oh somebody used this one as the kind of continuation to what you wrote so maybe you want to use this token and some people like found it really funny that that's that's a lot of problem like uh but now even on GitHub if you're sing the your open a key or some some key then they give you a popup that you sing your personal information so do you want to continue or I think they learned their lesson yeah so now it's it's kind of fine but yeah every time technology uh has some kind of backfires but that gets good with the time so that's what I feel all right so now we're going finally to the assistant okay so this is the this is just the kind of uh page where you can if I just want to right show some magic uh if I just this is uh same this is a smaller version of CH GPT if I just want to ask so what is the maximum height of the door as per Indian standards yeah so as you can see as for the National Building Code it's giving a kind of mhm so it kind of pulls up whatever it finds in the database yeah so this basically Works kind of uh in a way I can say that uh I I I will definitely show it in the code also kind of overview that how it takes the uh command how it takes the query from the Revit and then it takes to the to Python 3 where I have kept my ChatGPT and then it uses a subprocessor to connect python 2 and Python 3 so that's also kind of something which I would like to highlight further in the yeah we're going to go into this NE and grey stuff a bit later yeah but for now can you kind of communicate with chpt about your model if you're going to ask how many columns you have and so on so this was the as Rev which uh was a small CH GPT and again the Mind model which is uh ah okay so of keeps leveling up yeah see yeah so the previous one was just regular ChatGPT right it's similar to what you speak online version like hey how are you doing exactly give me some code whatever it gives you this and this is already with integration into ravit yeah so if I kind of ask how many structural elements are in the model 1989 structure elements in the model all right so how many columns are there so there are total one 2 39 structural columns in the model and was this one how precise is it did you test cuz when you ask it let's say that it's 1,200 pretty nice columns it is kind of I would say I'm kind of 100% sure because I have tested with the download selected function in this uh like where I used to I have downloaded the number of columns and then I have rechecked them how many columns are there okay so you verifi the data to make sure it's correct right right right definitely because with AI for some reason even though it's so smart and amazing in many features it's not so great at counting things somehow definitely can you ask it to categorize the structural elements I just wonder what what kind of results you're going to get I can try just a thing in here we can just try to make a bit more examples just to show people what's possible so how many types of columns are there in the model there total of that is kind of bit off answer I don't know why um but let [Music] me uh don't worry we all been there when we ask a question and it just goes completely different yeah okay so pretty much it's too lazy to do it it tells you to do it for it yeah because uh I feel uh uh for this you need a proper model also I'm not sure about the model uh kind of how perfect the model is because uh I just had this model for the testing phase so I'm not sure how perfect the model is but uh yeah um there there are few of the these kind of complications in the um in this kind of things but uh um this will take time to improvise because this needs a lot of tasting and then you need to go go for that uh so yeah this this is also one kind of example which is there for the technology that uh why the training needs to be done with the um why why we need to provide some training to the uh to AI so yeah this is one of the example which is definitely yeah no no that's fine I just wonder can I show us some more examples I just just something different how you use it okay um I just wonder how much can you get out of it because you brought the charger P to RIT it really sounds amazing but I just wonder what are the real use cases okay let me no pressure uh I'm also I have not tested it like uh in so depth but we can try like uh so what are the differ different types of walls used in the model yeah all right so okay based on the data so what's the maximum wave of the walls this was uh answered in the video which I uploaded on the uh LinkedIn mhm but I don't know why it is so now it doesn't want to just try it again so what's the maximum wave now it's the wall in the model so now it's giving correct and same question it didn't answer over here mhm so yeah I think it needs to be very very descriptive right so it just what's the maximum W of the wall it doesn't think about your model first of all it just thinks like well maybe in the world um there's one more thing which I feel uh is there that uh um if if we talk about the natural language processing then it it needs to be bit particular at this point of time uh and with ChatGPT it goes like takes multiple synonyms with the uh with the same word so that might also be a kind of uh uh point where it needs a bit of work but I feel there but I feel yeah I feel there there are multiple Works which we need to do because uh if you see in Revit we don't uh we generally uh describe that height and some places we uh say same thing as width so for those kind of things we need to train the model we need to fine tune the model okay if these kind of words come then this is going to be what it means as per the data set because uh at the end of the day it is going it is taking the uh data from the data set like it is taking the data from the revid data set so we need to kind of bit uh do the fine tuning of the model so yeah that is something which I feel is still there we need to perform I think it's still quite amazing that you already brought open AI into ravit it certainly opens a lot of ideas everyone watching here now sitting there like I could use it for this or for that that's quite cool can it execute any code or is it only for kind of communicating about the data right now uh like I said if you like write something like can you create a wall can it execute something in your models uh no I have not given that here yeah this see uh that's uh a good idea I thought about it but uh uh as as I've seen in some of your videos also that uh about the creation but uh I feel that creating uh something is not what capability we need to give it to AI because uh uh that again comes up with the imagination what you have and if we just give um a line that okay I need to create this wall and this the kind of things then still uh we are losing a point where we need to give our imagination we need to get our imagination to work so that's why I feel that that is something which for something like creating that's right but I'm moment like for example let's say that you write okay find me these kind of walls with these parameters and change the comments parameter right it's just about the ability to let it make changes in the model based on the input yeah that can be definitely done yeah yeah so many people done it the that beam girl recently made also a video describing how they did it in C think hers could make changes if I remember it correctly uh the the main thing is uh right now uh once you get to have your kind of uh your uh language to the model then you just need to add those to the uh creation tools so I think I think uh that's uh I have not seen what you're talking about but uh that that could definitely be a good thing I'll definitely have a look to that but yeah uh I have not tried that yet uh she just posted it recently I haven't watched the full video myself but I saw uh just the idea that okay this works that's that's the thing that's that's what I feel that uh slowly it is going to come into play because uh uh right now everyone is just working their little bit their bit on different kinds of project but uh uh I feel once if we all get in a get get at a place to work on something then I think it's going to be possible for us to kind of get what we want mhm mhm because as as you see in uh right now as you see on GitHub as you see on other kind of places that different different people collab rate in building a game or some kind of website or something like that but we still need in construction industry we still need a platform where we can collaborate with people like us to okay let's let's collaborate and build something like this let's uh we can set our ideas and then we can um build something which I feel is uh one of the next step which is important in construction and definitely I I I'm going to start kind of soon with that kind of thing becoming more and more open source people are willing more to share because back like five 10 years years ago people were holding a lot on what their Creations they didn't I think let it out as much as today today people kind to normalize more the open AI even like companies like meta they spend like huge Millions on training all this AI models and they they just tell like here do whatever right all this llama 7 billion what is it 30 million 400 billion all these crazy models just for free and yeah this is great direction we're going but but definitely there's one thing which is stopping it in the construction industry because construction industry is all about how secure your data is no one wants to uh share their data set no one wants to share their plan no one wants to like these kind of things so that's uh one thing which is taking us a step back in the evolving Technologies yeah for sure all right and uh could you also tell us how your this kind of AI system actually works where does p rate come in open AI integration like just we can start with a general overview of all the steps that go in and then we can dive deeper in the code if you're okay with that yeah I'm definitely fine I'm I'm definitely going to send you the uh code and then you can kind of make a proper video to work with it I'll just share my screen the main thing which uh I'll mainly try to talk about in this is how I have inte created like python 2 and python three with the use of sub process uh subprocessor so as you can see I have kind of given a path to the Python 3 which is uh uh in different folder uh again I have created a virtual environment for that uh Python 3 and uh this is the path for the code where my server for the python uh for openi is working so here is so this is the python free script right okay yeah so here I this is kind of just a normal uh UT of uh normal execution of the code for uh python server we have just taken the open API key and then I have made a function for the ask question function where it takes the question as the input and then um I've used GPT uh 3.5 turbo and these are kind of the maximum token and then uh how much does it cost to run like a question or 3.5 is it free or this is kind of I would say almost free it's so that's why I'm using 3.5 because it's like penis right yeah um because we don't have that much of d u data right now and I was in the testing testing phase so that's why I have like used 3.5 but yeah definitely you can go with gp4 or anyone anything you have once you have created all the model then have just kind of uh made a function as you have seen that uh the we are not getting the answer for some of these things these are this is for the a handling and coming back to uh the code here I'm just like taking the uh this is code for the model extraction here I have extracted that data from the model and then uh with uh that data is again sent to GPT where um we have been interacting with the model and for GPT sorry so GPT only is aware about this data that you provided if you're going to go back just where we were right now it's just aware of these so you only provide this kind of ID category name area it doesn't know anything else about materials it cannot kind of look into them I have I have one more file I will try to find that in that I have uh imported all the other materials but right now I have given the material ID which I felt like for the testing phase was enough so but yeah definitely we can work with uh so kind of manually getting kind of all the things yeah but yeah yeah we can definitely go with other IDs other materials and there's a basically a as we know there's a pick uh list of the data we can get from thej GPT so once we get the data then we data is sent and again we are taking the um questions from there and uh here I have uh kind of given the um like as I said I not very much sure about this part um this is kind of integration with the front end and the back end like here is the front end part yeah so this is the front end part so this was the part where we were talking we were interacting with the model and uh taking into a sorter version this is uh the same kind of thing but uh here you just I just have uh used this used the kind of uh a bridge to connect the uh ChatGPT which is again here which is running on Python 3 and uh this is on IronPython so yeah this is uh I I think uh this is uh one thing which uh Ravid API developers must need to think that they need to get on Python 3 because right now I don't feel everyone is very much comfortable with python IronPython because that is something which was used like 10 12 years back so yeah this is this is something which definitely um uh the iron Pon needs to think yeah I think it's on the road map to implement kind of there is IronPython 3.4.4 version It's it's not supported by pirate yet but maybe that would be able to support some of it I don't know uh no I I think in that also uh some of the library doesn't work yeah yeah true I think panda panda also doesn't work with uh that so I mean you can make it work with CPython but it limits a lot of things lot of for like vpf examl it stops working because you go to with CPython and it needs IronPython and that's a big big Topic in the Community people really want to use napai pandas maybe I don't know some other libraries I tested a little bit for me I did not need pandas as much so I was like I was quite lucky I didn't need to dive into but I just dived once for the community to show okay this is how CPython works but it tells you maybe in 10 different places that it's not as stable yet in py RIT and hopefully in the future it kind of becomes more stable but I think it needs kind of more support from the community in terms of like kind of donations and stuff to actually hire developers to make it happen but uh what I feel is like uh with the subprocessor I think we can use all these kind of things because uh we are just getting we are kind of doing the same stuff in Python 3 but we are just bringing those data to uh CPython so uh this is something which processor seems much safer much more stable option right the only thing is if you share it kind of worldwide it might be tricky because you need need to kind of ship the python engine as well right that's tricky part but that's probably something for pirate team maybe to implement in the future that's also a challenge that once I go for kind of making it public or going to deploy it then it's going to be a challenge for me I was trying to do that but um it's going to take some time to deploy it because there you have to again build two different servers so yeah that's that's definitely a challenge with sub processor but I feel that's more easy more safe and uh gives more opportunity to the developers to work with that listen if somebody wants to kind of adapt this code that youve just showed for their own projects what are the first steps that you would recommend where should they focus more right um for this I I first first thing I would say is like having a basic understanding of python like what is function what is uh how to import libraries how to uh like use different kinds of uh inbuild function how to make function so these these kind of things is the basic thing which anyone wants needs to have and uh the second thing which I will say to everyone don't be like uh if the code is not running don't be like oh my God I have wasted my three months on learning coding and now my code is not work working that's never never a thing it it's part of the journey it's part of Journey and right now we have ai we have ch GPD we have G we have multiple things at at my point of time and I was like learning uh the error which I used to have then I have to go to stack Overflow then I have to go like like different kinds of platform to read all those and it took like it it used to take days to solve one small error but now you have these kind you just need to give the error you just need to give the code and then you can get the solution so just keep on working on the the small things just even if you even as I said that hello world makes a big difference so just keep on doing like Hello World next your name next day something else so keep on doing a little bit don't be like in a r to uh do everything in a day give it a slow uh run and I think it's it's going to be easy and for this code I I feel I'm going to uh give you the GitHub link where uh people can use that I'm going to share it with everybody yeah so uh I think that that will also help with them and also I will share you the GitHub link for the chatboard if someone wants to explore the Stream late and uh that would be great speckle thing with uh um if someone wants to build a dashboard so yeah I'm definitely going to share both of this but uh MH uh for and you are there and you also I also I think uh you must remember I gave you a gave you a question in the chat that I I'm trying to use uh Python 3 with python 2 so how can I do that so uh uh you are there if someone wants to contact me I'm definitely there I'm I'm also working with some of the people who contacted me with link with link I'm going to leave a links to you somewhere in description you can mention now or in the end it doesn't matter yeah but definitely you are there so I think your videos are much more self-explained I don't think they will need much of me but uh yeah if in future someone needs that yeah it's it's still too good to chat with you what's what was your journey and before we going to go further I also want to talk about this um what you said earlier that nowadays people learn with chbt and it's so much easier because I L remember like when I started we had no chpt and I was new to ravit API I literally spent like a couple days on a very stupid like question mistake a literally like lots of evenings I read all the forums videos finally I found it and it was maybe one line of code I was literally struggling for days for one line of code which is now I look at it I'm like oh my God now now we can even go to like different forms now people more open to sharing now it's much easier back then it was not as fun as today just want to like encourage a few people to actually kind of trust the process that's definitely a thing have you had any challenges while you were building these kind of AI chat Bots a lot all right any advice is how to avoid them uh I will say don't avoid your challenges don't avoid uh uh these challenges because these challenges will give you uh a a number of ways how you can CH how how you can like change working on that because if I give you a solution that sometime may not work but to find the solution by your own for that challenge uh you will find multiple ways uh which can be very beneficial to you and in that journey of finding the solution sometime you learn many more things of how these things can be done uh but definitely uh one advice which I would give is like uh if you're just starting with py don't go for something big start with small things start with small tools start start with the kind of uh what you see start building that by your own start uh adding your own uh logic to the code so start doing that and then slowly uh go for the next step and if you're just starting use chat GPD but don't just rely on that because you need to have the basic understanding even if you want to build something big you can use GP to build whatever you want to but that understanding needs to be there this is a really good advice and I definitely guilty of doing that myself when I started I made my like first maybe two three very simple scripts and then the next one I decided all right you know what I'm going to make something like Pro sheets I don't know anything about like how to make custom uis I don't know how to make PDFs I don't know I pretty much barely know anything about like coding in general and I was like okay I'm going to like make this crazy Big Tool I spent like I don't know so maybe like a week on doing this and then I realized what am I even doing I don't know half of what I'm just doing it because there's like there errors on all fronts like UI back backend front end like everywhere then I kind of dialed it down started also doing like you you mentioned like all the simple tools and this is what also builds up your confidence and you just keep keep doing doing then at certain point you're like okay I want to challenge myself I'm going to go next level and see if I can get there and like the next level and then over time you realize like oh the way you kind of get to here is just kind of step by step not like take like an elevator all the way up there definitely as as I just showed you uh in just one uh um this add in where I just started with the normal integration of ChatGPT and Revit like where I can just interact with ChatGPT and then in the next add in I integrated the data set so definitely go slow take take step by step like don't be in a r that's the first thing which I always say because we are not uh in kind of proper uh coding job we are not uh we have not studied um the computer science or something like that a IML so we have to kind of keep on learning and then using that thing so it will take time but uh once you start working on that once you have that uh confidence to start with it then there's a lot of things in coming for you yeah definitely even people who go and study computer science I still hear from them that the best way to can actually learn something is actually start doing it's great that you go to this kind of lesson hear how computers work code and all exercises definitely gives an edge but in the end of the day even they say like okay you need to start your own personal project you need to start your own kind of things it's like this is how you learn in general you get mistakes you solve them you move to the next ones and repeat definitely personal projects are some one of the biggest thing for learning mhm you can't just keep on doing the courses or you can't just go to UNI or something like that that's not going to give you a lot until you keep on doing small projects keep that that also challenges your thinking because uh uh actually the days when I was stuck like I I didn't had any anything to do like I was B struggling what new to do what new because I'm someone who keeps on trying to find something which I can keep on doing I can keep on doing so sometime you struggle you don't you will not you will not have a lot of things to start with give it a time give it a go then you will start you'll start getting something read some of the documentation forums and all these kind of saying slowly you will get something what you need to start with but yeah definitely give it a time don't be in a rust that's the only thing I always say to my colleagues also don't be in AUST give it a Time mhm if you get stuck leave it for some time give your yourself some time and then you will have something big oh yeah best best ideas come in shower right yeah all right no this is good and just in general where do you see this AI going like how does it influence the future of ravit and beam in general do you have any opinions on that uh about the normal AI I would say I I'm a big fan of Elon Musk so I'm definitely going to agree with his point that AI is one of the big most dangerous thing if we don't do it like if we don't take care of that it's one of the biggest uh danger to us but uh yeah if we use it properly then it is it is one of the biggest thing what we have right now and the second thing which again I I will say uh in today's generation if you are not if you're just using AI you are ahead of many people but if you start developing with AI then you are ahead of many many many peoples so start not just start using it start developing something with it so that's the most important thing right now mhm that's a good advice cuz everybody keeps hearing this quote like oh yeah he's not going to replace it but people using AI is going to replace us but now there's also the next step people who actually develop with AI they're going to replace exactly exactly yeah there's always this kind of next level where we go now this is a good thing right now you see there there I don't remember some of the website name but there are some of the website which made the work of uh the architect a lot easy where you can just add the images of uh from your Revit you can add the images uh which you want to vender and then you can give some of the examples of how you want it to be like the ver I think ver say I know made something like this I don't know I think V sayi I don't I also don't remember the name but yeah there there are some of the softwares which are there some of the webites where it takes like a minute or two to render the whole of the uh thing what you want to render and which generally take like 3 4 hours a good laptop a good uh PC to rer it yeah yeah definitely yeah it's called Vos I just quickly looked it up just to make sure so it's ver by evolve lab this was pretty cool because it just takes the general shape of what you see in the screen and it makes all this AI images based on that this is cool one I I will definitely say uh collaboration is something what we need in the construction industry right now we need a platform where we can collaborate it's not about uh where as as we have different platform for other kind of Department other kind of things but for us we definitely need that one platform where we can collaborate and then we will have we'll definitely have some big things coming up in the future all right and I have also I guess one last question what is number one advice that you would give to somebody new to coding for example to yourself right after you wrote that print hell World um I think I will say is like never let that spark go from you always keep that spark that I I never lose my control over myself that if if I've not done this that like I'm not able to develop this it's sing so much I'm I'm literally saying you I literally spent four five days to just go of one small error give it a time don't be in a r that okay I have to do this in a in a day or two don't be in a r and don't go for big things in very first month or very second month give it your time give it a time it will take some time but uh with time it will definitely give big results but don't be in a Russ and don't start with big things start small then you you will get what you want okay goes back to this kind of start small and kind of one step at a time yeah no no this is really good one all right and just for people watching us can you also tell them where they can follow you where they can find your work what you're up to just kind of share your socials where you active uh I'm mainly active on LinkedIn uh for my like work right yeah yeah yeah I'm going to write it somewhere in the screen so I'm I'm active there um if there is something which I can help with I'm definitely open for that any anytime you can come up to me and I'll try to help however I can so yeah amazing So yeah thank you very much for coming here today this was really amazing and just that you decided to come here and share all of that because in the beginning I saw your post it was like huge post like message in LinkedIn you wrote like hey Erik and then I was like I want to share this code I want to send it to you and so on and I decided a man I actually got to bring you for the podcast also didn't expect to start a podcast so you are the first guest out of nowhere so this is also new to me so thank you for pushing me to do this as well no I the main thing is I was uh I never I'm very kind of camera side person I don't want to uh speak in front of the camera so that's one thing why I was like I'll just say the code and because I feel uh mhm we just want we just need to give what we got from somewhere so I got a lot from YouTube I got a lot from creators like you so now just feel like whatever I have I can give I can pass on to people who wants to start it in future so yeah that that's is one thing which I always feel doing yeah yeah that's amazing that's pretty much why I started doing what I do I also all right not not enough people sharing it so maybe I can start sharing and one thing after another you know maybe you're going to be the next YouTuber something no but I think R Community will absolutely love this and huge thanks as well again for coming here pushing me in to this podcast thank thank you for having me here and uh thank you very much that was amazing thank you
Revit Add-Ins That Test Themselves (Local LLMs + Mac Setup) [pyRevit Pod-15]
The Creator of pyRevit MCP on Real Limits of AI in Revit [pyRevit Pod 14]
pyRevit + AI For Electrical Fabrication (pyRevit Pod#13)