I am still in Nairobi, Kenya, getting to know the lay of the land and team here, as well as setting up my new computer; meanwhile, OpenAI ChatGPT is making global waves and first explorative steps are being made to use it with the Revit API:
- First outings in Nairobi
- ChatGPT in Kiswahili
- ChatGPT for music and poetry mimicry
- ChatGPT for Revit API I
- ChatGPT for Revit API II
- ChatGPT for Revit interaction
- Teaching ChatGPT about the birds and the bees
- ChatGPT limitations and improvement
- ChatGPT acrostic poem
- VS2022 on MacBook Pro M1 with Parallels
- Chasing the travelling salesman
- LinkedIn comments
My colleagues warn me of the dangers of moving around freely here, so I am being careful. Not a single bad experience so far, though. All good. Lots of security all around, such as security checks entering every building. The people I meet in the street are either neutral or friendly, though, and I feel happy and safe.
So far, besides working, I went for a hike to Mount Longonot on Saturday and took a long walk into the centre of town on a Sunday; however, most things were closed and the city was pretty empty with very little going on that day.
Here are my pictures in and around Nairobi so far.
ChatGPT is currently a very hot topic among techies, so I created an account and checked it out:
Jeremy: can you speak swahili?
Huna! Naunga mkono nyumbani kwako. Samahani, sijawahi kusoma Swahili. Je, unaweza kusema kwa Kiingereza?
Jeremy: oh dear. i am afraid i cannot.
Asante sana. Inawezekana kukutumia lugha ya Kiingereza katika mazungumzo yetu. Kwamba ni ajabu kwa sababu Swahili ni lugha nne ya makundi ya Bantu na inatumika sana katika Afrika Mashariki. Kama una nia njema, unaweza kusoma zaidi kuhusu Swahili kupitia tovuti za mtandao.
Jeremy: i wish i could.
Kama unahitaji msaada zaidi, basi wasiliana nami. Napenda kusaidia katika mambo yanayohusiana na lugha za Afrika.
Jeremy: can you translate all that you said for me, please?
Sure! Here's my previous response translated into English: "Hello! I extend my hand to your home. Sorry, I haven't read Swahili. Well, can you speak English? Thank you very much. It is possible to use the English language in our conversation. It is strange because Swahili is one of the four languages of the Bantu group and is widely used in East Africa. If you are interested, you can learn more about Swahili through websites. If you need more help, please contact me. I like to help with things related to African languages."
I was surprised how much sense that made. Since some people I talk with make less sense, I would say the Turing test is passed.
I asked ChatGPT to rewrite Bohemian Rhapsody to be about the life of a postdoc, and the output was flawless...
Check out the full thread with comments for details.
- Ok, so I have an option here... I could 'try again' which might make things fail worse off as in my first go-round that resulted in brand new stuff. Or I could try and get it to improve by telling where the error was. Let's go for the later as design of anything needs iteration.
- Again, trying to guide it like a user would guide me in a text chat (which I happen to have a few years of experience with). Already know that it's going to fail at the Id property of the undefined level variable, but we'll get there when we get the error.
- Good(ish) news, is that the new code returned a new error (new errors are good things as it often means we fixed something).
- Bad news is that it is a 'calling a variable which hasn't been defined'. The chatbot appears to be copy/pasting line by line instead of sections of code.
- In the chatbot's defence, I've done this myself a few times by not ensuring the user had robust enough boilerplate code to start with. I'm going to switch to not bothering with running this, as
__revit__also hasn't been defined. No longer a user guided chat though.
- Well, it's thinking a lot... Am I not playing by the chatbot's rules?
- Ok... it doesn't take directions as well as a software engineer on the Dynamo or Revit team. Let's try the previous prompt like a user would, and just reply with the errors for another few minutes or until I get bored.
- And yes, I could have written this from scratch by now.
You need to look at the original thread including all the screen snapshots to see the details of what he's talking about.
Bird Tools also tried out and documented using ChatGPT for Revit API in a LinkedIn post, with many more interesting comments.
Last but not least concerning the Revit API, our active contributor Chuong Ho started exploring the possibility to integrate ChaGPT interactively into Revit. Here are the first few comments on that effort, with many more following since then:
- Chuong Ho: Do you know, Chat GPT3, OpenAI will be coming soon Dynamo BIM 🤣. I'm still figuring out how to make them good at the moment, it's surprisingly accurate, but sometimes it's as innocent as a toddler learning to speak. I'd love to have comments right now.
- Maycon Freitas: Awesome, Chuong Ho!! I tried to create a chatbot to integrate Revit and WhatsApp using Dynamo some time ago (but a dumb one, not smart as GPT3) – https://www.linkedin.com/feed/update/urn:li:activity:6671175468063973376/ – and also using Forge + Whatsapp – https://www.linkedin.com/feed/update/urn:li:activity:6851904940378480640/...
- Chuong Ho: So, as you might already know, my suggestion is: Chatbots to execute some tasks, extract data e so on. It would be a really good feature to implement.
- Luisa Cypriano: Great one Chuong Ho :) Did you publish openly the pack already?
- Chuong Ho: Still not yet, I working with control parameters input to help respond better for AEC
For an example beyond the Revit API where ChatGPT really excels and surpasses all expectations, check out my namesake Jeremy Pinto's 20-minute AI training implementation article on teaching ChatGPT about the birds and the bees.
Leon Furze takes his analysis one step further and explores aspects of writing essays, disrupting education, ChatGPT limitations and improvement possibilities in his article on prompt whispering: getting better results from ChatGPT.
Finally, to round this off, demand seems to be pretty high now; I wanted to ask for a suitable French idiom to wish Cyrille happy holidays, and was rewarded with an acrostic poem:
H: Huge demand has caused the site to crash
A: All users will have to wait
T: Time is needed for the servers to catch up
G: Go grab a coffee and check back soon
P: Patience is key in this situation
T: Trust that the team is working hard to fix it up
So, enough of ChatGPT for now.
Meanwhile, moving on from this inexhaustible and rapidly evolving topic, I received and started setting up my new PC, a MacBook Pro M1 with an Apple M1 Pro ARM chip.
So, with no Intel hardware, can I use it for Revit at all?
Well, I gave up trying to install Visual Studio 2019, which I had previously been using. The final decision was prompted by a thread on running Visual Studio 2019 on Windows 11 on M1 Mac, since it ends with the following unequivocal advice:
I genuinely recommend just using VS2022; it's actually ARM-native, so it will run a lot faster and with far less issues.
I installed Parallels Desktop 18 for Mac, Windows 11, Revit 2023 and Visual Studio 2022, in that order, and am now able to open and compile a sample Revit add-in, launch Revit in the Visual Studio debugger and successfully trigger a breakpoint:
No further testing performed yet, though.
Finally, completely unrelated to ChatGPT and Revit, Diego Vicente published a new approach to approximately tackle the well-known hard NP-complete challenge, successfully using self-organizing maps to solve the traveling salesman problem.
I'm only adding the first two of them... can't keep on updating forever...
Hi, Jeremy. How are you testing your addins on MacBook? Revit doesn’t work on MacBook 🤔 or is Windows installed?
Answer: I use Parallels to run Windows on MacOS
I am literally amazed by #ChatGPT after seeing it can actually write a functioning Revit plug-in. Thank you for fantastic sharings 👍