PlantUML是一个通用性很强的工具,可以快速、直接地创建各种图表。利用简单直观的语言,用户可以毫不费力地绘制各种类型的图表。支持序列图、用例图、类图、对象图、活动图、组件图、部署图、状态图、时序图。
「毫不费力」这个特点非常有吸引力,当然没那么夸张,还是要费点力气的。它有自己的一套语法,类似于写代码的方式表示各个实体之间的关系、指示要生成哪种类型的图。用过 Markdown 的一下就能理解。
举个例子,下面的代码可以表示 Client 向 Server 发送 Hello。
@startuml
!theme materia-outline
Client -> Server : Hello
@enduml
如果你想自己用它的语法规则,通过写代码的方式画图,可以到官网 https://plantuml.com/zh/ 上学习一下语法。
可以直接在 PlantUML 在线环境上运行
https://www.plantuml.com/plantuml/uml/SyfFKj2rKt3CoKnELR1Io4ZDoSa70000
上方写代码,下面就直接生成对应的 UML 图了,可以调整样式,可以下载各种格式的图片。
也可以在本地安装运行,支持 Java 包运行,也支持 Docker 。
另外,像 VSCode 这些编辑器或者一些笔记软件都有对应的插件支持,可以搜索安装。
ChatGPT + PlantUML
如果你还是觉得不够「毫不费力」,那可以让 ChatGPT 直接生成给你。
打开 ChatGPT ,在「探索 GPT」里面可以搜索 “PlantUML Diagram Wizard”,这个应用是专门用来帮你画 PlantUML 的,但是使用的话需要 GPT-4o,如果超过最大限制,则需要开通 plus 才能用,有实力的同学可以用这个。
不用它也完全可以,我就直接用的免费版 ChatGPT-3.5,效果也没有问题。除此之外,用 Kimi 等大模型应该也问题不大。
那应该怎么给 ChatGPT 提示词呢?
- 首先你必须知道你要画的是什么类型的图,序列图、用例图、类图、对象图、活动图、组件图、部署图、状态图、时序图,类型关键词必须准确给到 GPT。
- 描述要清晰,这是必须的,就像你解释给别人一样,只不过 GPT 的理解能力更强一些。
- 如果有代码的话,必要情况下给一些解释。
下面我举几个例子,不一定是最好的,但是基本上能解决问题。
用 ChatGPT 怎么做呢?
第一步就是将代码给到 ChatGPT。这一步要看你的代码量有多少,如果代码量不多的话,可以一次性都给它,如果多的话,ChatGPT 的输入token 是有限制的,就要分批次告诉它。
第一步 prompt:接下来我会发给你几个 java 文件,在我告诉你开始画图之前,你只需要记住文件的内容就好了
。之后GPT会表示明白了,请你发送文件内容。
第二步:将你要画的文件一个个的输送给 GPT。
第三步:好了,请帮我生成 PlantUML 格式的类图,请开始画图吧
。
然后 GPT 就会输出一个 PlantUML 代码段。
Leave a Reply