AI-Chatbot for Revit Using Graph-RAG

Introducing: Aecysstant

The most powerful AI-ChatBot for BIM models to date is using RAG leveraging an RDF Graph.


RAG and Graphs

What is RAG you may ask? Simply put it's an LLM that goes shopping. Not in chinatown Bangkok where the picture was taken, but in your database. RAG stands for Retrieval Augmented Generation, a technique to ground LLMs on proprietary or domain specific data.

And an RDF Graph? RDF stand for Ressource Description Framework. This is a leightweight form a knowledge graph that can be represented in a simple text file like the turtle format. It is a collection of facts, where each fact follow the logic of 'subject' 'predicate' 'object'. For example: 'The pomegrenates' 'are stacked on' 'the maket table'. You can add further knowledge that connects seamlessly to the previous "triple" like so: 'the market table' 'is on a street in' 'bangkok'. This data format seems to work better than traditional relational databases for data retrieval using LLMs.

 Hallucinations

Using RAG can drastically decrease LLM hallucination. I like to illustrate hallucinations with this picture of a bus in Nepal. While the owner probably sincerely wants to offer free wifi on his bus, it just doesn't exist.


Okay, enough talking. Here is the showcase you came for:

Count Walls

Let's start simple by asking "How many walls are there". This is a question most other chatbots for Revit can also answer:


Level Names

Now that's nice to know, but far from actually usefull. I can get to the same answer within the Revit UI in a matter of seconds. So let's step it up a bit. We are getting into territory where the most other bots start to struggle. In the Revit UI this certainly would be a challenge. Let's ask "List all level names alphabetically":


Room With Most Doors

An area where the Revit UI falls short is a question like "What room has the most doors?". With the help of Aecysstant we easily get an answer:


Wall Area Per Level

This is where the power the knowledge graphs really comes to shine.


Notes

I find it important to underline that while these results are impressive, the AI still makes mistakes and the harder questions take more than one try to generate most of the time. Switching to a larger, more powerful model like the current flagship GPT-4o makes a big difference compared to using GPT-3.5-turbo.

The cost per answer is quite low:

  • GPT-3.5-turbo: <1 Cent per question
    • GPT-4o: 3-6 Cents per question