利用AI聊天机器人结合PlantUML来可视化软件架构。
当我开始学习Azure Lakehouse架构时,我发现自己在努力理解Unity目录、Databricks、Spark、Azure数据湖等不同组件之间的关系。我急切地想要了解它们如何相互连接并共同工作。作为一名科技爱好者,我总是在寻找简化诸如此类复杂工作流程的方法。
和往常一样,我向人工智能聊天机器人寻求解释。它给我提供了这些组件是如何互相作用的详细描述。然而,我认为最好的学习方法是通过可视化 — 图表帮助我理解复杂的想法。所以,我想,“为什么不将这些解释转化成图表呢?”
那时候我决定利用人工智能来自动生成图表,利用我从聊天机器人得到的信息。这样一来,我不仅能更好地理解联系,还能创建有用的可视化内容与他人分享。
在这篇文章中,我将解释如何使用AI Chatbot和PlantUML来创建一个块状图,展示组件之间的关系 - 仅用几分钟。
AI聊天机器人 + PlantUML解决方案
为了创建我的图表,我决定将ChatGPT的解释和一个名为PlantUML的工具相结合,该工具可以让您使用文本创建图表。以下是我遵循的简单流程:
1. 在VS Code中安装了PlantUML扩展:PlantUML是一个方便的工具,可以将简单的文本命令转换为图表。主要用于生成UML图。它与Visual Studio Code完美集成。直到那时,我还不熟悉PlantUML,但它的使用非常简单。
2. 接下来,我向ChatGPT寻求帮助,创建一个显示所有这些组件如何相互关联的图表。我的提示很简单:
我需要PlantUML区块图代码来解释databricks和数据湖之间的关系和层次结构。展示它们之间的关系和对象层次结构。假设我在Azure数据湖存储或mongodb上存储数据。我想看到它如何连接到azure databricks,以及如何连接到databricks delta lake和unity catalog和python和spark - 最终将数据显示在power bi上,或者.net api上。我希望每个矩形框内都包含关于该对象的简要解释。
3. ChatGPT为我提供了一个现成的PlantUML脚本,我可以使用它来创建图表。我所要做的就是将它复制到我在VS Code中创建的新文件中:
4. 接着,我在PlantUML中创建了图表:我保存脚本到一个新的.puml文件,按下ALT+D,然后像魔术一样,图表就出现了。
结果- 我的第一个图表
人工智能生成的图表第一次并不完美,但它给了我一个坚实的起点。很棒的是,只用大约10分钟就得到了第一个图表 —— 如果我尝试手动阅读GPT文本并理解一切,那将花费更长时间。
通过立即获得视觉效果,我能立刻看到所有事物是如何相连的,这使学习架构变得更加直观。
以下是我从ChatGPT得到的PlantUML代码:
@startuml
!define RECTANGLE_COLOR #ADD8E6
!define TEXT_COLOR #000000
' Define colors for rectangles and text
skinparam rectangle {
BackgroundColor RECTANGLE_COLOR
BorderColor TEXT_COLOR
FontColor TEXT_COLOR
}
rectangle "Azure Data Lake Storage\nStores large-scale data" as ADLS
rectangle "MongoDB\nNoSQL database for unstructured data" as MongoDB
rectangle "Azure Databricks\nUnified analytics platform" as Databricks
rectangle "Databricks Delta Lake\nOptimized storage format" as DeltaLake
rectangle "Unity Catalog\nData governance and cataloging" as UnityCatalog
rectangle "Python\nProgramming language for data processing" as Python
rectangle "Spark\nBig data processing engine" as Spark
rectangle "Power BI\nBusiness analytics and visualization" as PowerBI
rectangle ".NET API\nApplication programming interface" as DotNetAPI
ADLS -[hidden]-> Databricks
MongoDB -[hidden]-> Databricks
ADLS --> Databricks : Load data
MongoDB --> Databricks : Load data
Databricks --> DeltaLake : Use Delta Lake format
Databricks --> UnityCatalog : Catalog and govern data
Databricks --> Spark : Process data with Spark
Databricks --> Python : Code and data manipulation
DeltaLake --> PowerBI : Visualize data
UnityCatalog --> PowerBI : Data governance for Power BI
Python --> PowerBI : Data analysis and scripting
Python --> DotNetAPI : Custom data processing
Spark --> PowerBI : Data processing and transformation
Spark --> DotNetAPI : Big data processing tasks
@enduml
这让我清晰地了解了Azure Lakehouse架构的所有部分是如何连接的:
迭代和改进
在看到第一张图之后,我可以很容易地对其进行调整和改进,使其更加精确。现在最棒的是我现在拥有了一个工作流程,可以快速进行更改,向ChatGPT请求改进,并快速重新生成图表。
总之,如果您正在学习任何新的软件架构,我强烈推荐尝试这种方法。借助像ChatGPT和PlantUML这样的AI工具,您可以快速理解并为任何技术堆栈创建图表 - 不仅仅是Azure Lakehouse,还有类似AWS Lambda、Kubernetes集群、微服务设置、数据管道和物联网系统的架构。这不仅仅是用来学习 - 这种方法还可以帮助您创建准确、专业的图表,可用于您自己的软件项目中,可以在几分钟内为您节省时间,同时提供清晰、有见地的视觉效果。
你也可以尝试不同的AI聊天机器人,如ClaudeAI,Gemini或Copilot,以比较图表的质量,并找出哪个最适合你的需求。