ChatGPT+Mermaid自然语言流程图形化产出小试
ChatGPT+Mermaid语言实现技术概念可视化
本文旨在介绍如何使用ChatGPT和Mermaid语言生成流程图的技术。在现代软件开发中,流程图是一种重要的工具,用于可视化和呈现各种流程和结构。结合ChatGPT的自然语言处理能力和Mermaid的简单语法,可以轻松地将文本描述转化为图形表示,使技术文档更具可读性和易懂性。
在软件开发中,我们经常遇到需要描述复杂流程和系统架构的情况。传统的手绘图形和图表工具可能需要花费大量时间和精力,而使用ChatGPT和Mermaid语言可以快速生成流程图,节省了时间和精力。
我们将介绍如何使用ChatGPT和Mermaid语言来解决这个问题。通过将文本描述转化为Mermaid语言的图形表示,我们可以简化文档的编写过程,并提高文档的可读性和易懂性。
Mermaid语言介绍
Mermaid是一种用于创建流程图、时序图、甘特图和其他各种图表的开源工具。它使用简单的文本描述语言,将图表定义为纯文本,并自动生成相应的图形表示。
Mermaid的语法简洁易懂,使用者只需编写简单的文本描述即可生成图表。
这里是Mermaid官方提供的技术文档
解决方案
ChatGPT和Mermaid语言结合使用可以实现将文本描述转化为流程图的功能。具体步骤如下:
使用ChatGPT模型解析文本描述:将需要转化为流程图的文本描述输入ChatGPT模型中,获取模型生成的对应的Mermaid语言代码。
使用Mermaid语言生成流程图:将ChatGPT生成的Mermaid代码嵌入到Markdown文档中,并使用Mermaid的渲染引擎将其转化为图形表示。
技术样例
以TCP协议的连接方式为例,首先向GPT提问:
将代码粘贴到Mermaid Live Editor中,得到的效果图如下:
显然,这次尝试不能很好的体现出握手过程的时序特点,调整问题,重新给出流程:
继续使用Live Editor,得到的流程图如下:
可见,调整后的图片更加符合实际情况。
多重方案对比
在生成流程图的过程中,除了ChatGPT+Mermaid语言的方案外,还有其他可选方案,如手动绘制图形、使用专业图表软件等。下面是对比这些方案的优缺点:
手动绘制图形:需要耗费大量时间和精力,容易出现错误,并且难以修改和更新。
使用专业图表软件:虽然提供了丰富的功能和样式,但学习曲线较陡峭,操作复杂,并且需要额外的软件安装。
综合考虑,ChatGPT+Mermaid语言方案简单易用,生成的流程图效果优秀,是一种高效的解决方案。
作者:CCO体系 迟焕宇
来源:京东云开发者社区
ChatGPT+Mermaid自然语言流程图形化产出小试的更多相关文章
- 在博客文章中使用mermaid 定义流程图,序列图,甘特图
概述 Mermaid(美人鱼)是一套markdown语法规范,用来在markdown文档中定义图形,包括流程图.序列图.甘特图等等. 它的官方网站是 https://mermaid-js.github ...
- Markdown中使用mermaid画流程图
Markown语法简单,用来写文档是个不错的选择. 但是Markdown 语法并不直接支持画图,当然方法还是有的. 本人用的Markdown编辑器为vscode,在里面直接安装merdaid插件即可使 ...
- 介绍ChatGPT:基于GPT-3.5的强大自然语言处理工具
大家好,今天我们来聊一下ChatGPT,一个基于GPT-3.5架构的大型语言模型.ChatGPT在自然语言处理方面有着非常强大的能力,可以进行语言生成.文本分类.对话生成等多种任务.接下来,我们将会详 ...
- Markdown Mermaid
Mermaid 是一个用于画流程图.状态图.时序图.甘特图的库,使用 JS 进行本地渲染,广泛集成于许多 Markdown 编辑器中. 之前用过 PlantUML,但是发现这个东西的实现原理是生成 U ...
- Markdown高级使用之流程图
流程图在Markdown中的的表现形式就是代码块,代码块语言标记为mermaid.主要内容大体分为:方向.节点.节点间的连接关系,下面就围绕这三个点来整理. mermaid支持流程图.甘特图和时序图, ...
- ChatGPT 与 Midjourney 强强联手,让先秦阿房宫重现辉煌!
Midjourney 是一款非常特殊的 AI 绘画聊天机器人,它并不是软件,也不用安装,而是直接搭载在 Discord 平台之上,所有的功能都是通过调用 Discord 的聊天机器人程序实现的.要想使 ...
- AI学习笔记:人工智能与机器学习概述
一.人工智能基本概念 1.1 基本概念 数据分析:对历史规律的展现.对未来数据的预测. 机器学习:机器学习是指从一系列的原始数据中找到规律,提取人们可以识别的特征,然后通过学习这些特征,最终产生一个模 ...
- [转载]AxureRP使用参考建议
这些参照建议是马克总结出来的,我只是借用过来给大家参考,在此先感谢一下马克.对于很多学习或者刚使用AxureRP的产品经理们或者朋友们,总会有一些对于AxureRP该怎么使用的更合适想法,也有对Axu ...
- atitit.提升软件开发效率大的总结O5
atitit.提升软件开发效率大的总结O5 #---平台化.组件化 1 #--cbb公用模块的建设 1 #---内部最佳流程方法跟实践的总结 2 #---内部知识体系的建设 2 #---问题Qa库的建 ...
- Dynamics CRM 2013 初体验(3):新增加的功能
新系统除了修补系统历史漏洞外当然还会添加些比较有意思的新功能,至于这些新功能是否好用那就得看它是否能经过咱们这些使用者的考验了.Dynamics CRM 2013系统将不再支持Dynamics CRM ...
随机推荐
- Mysql 局域网远程连接设置——Windows
工作中,遇到mysql数据库存储于我的电脑上,而其他电脑需要共同进行读写数据(类似redis并发),所以我的电脑就必须开启mysql远程连接. 一. 授权 1. 连接数据库 mysql -uroot ...
- python---滚动条操作
""" 1.让元素滚动到可见区域后,再操作.(大部分的网页自己会滚,直接找元素---下一页) drive.find_element("id",&quo ...
- Mybatis的整体理解
I有关于我的对ybatis的设想: 简单总结-下有关于我对wybat is的架构理解: 总体分为三个层面: 1.对外接口API 2.MapStatement数据处理 3.执行及其数据存储 两个主要的对 ...
- [数据库]MySQL之SQL查询
一 关系表的介绍 * 课程表 * 学生表 * 选课表 二 SQL查询语句格式 /* SQL查询的一般格式 SELECT [ALL | DISTINCT] [* | coulmnNameA,coulmn ...
- 1.springsecurity基于内存和数据库的认证
1.总结: 昨天主要是使用security实现了基于内存的认证和基于数据库的认证(实际项目中使用): 在security的项目中,必须配置WebSecurityConfigurerAdaptor的实现 ...
- LeeCode 942 增减字符串匹配
LeeCode 942 题目描述: 由范围 [0,n] 内所有整数组成的 n+1 个整数的排列序列可以表示为长度为 n 的字符串 s ,其中: 如果 perm[i] < perm[i + 1] ...
- Redis(四)主从复制
主从复制 简介 主机数据更新之后根据配置和策略,自动同步数据到备机的Master/Slaver机制,Master以写为主,Slaver以读为主. 这样的机制能够实现: 读写分离:Master以写为主, ...
- PYTHON数据分析——python基础
利用命令行创建python文件 C:\Users\Your Name>python myfile.py Python 变量命名规则: 变量名必须以字母或下划线字符开头 变量名称不能以数字开头 变 ...
- Django框架简单搭建增删改查页面 Django请求生命周期流程图
目录 Django框架简单搭建增删改查页面 一.前期的配置文件以及连接MySQL的基本准备 二.在数据库中准备好数据 三.将MySQL的数据展示到页面(简单认识HTML模板语法 for循环) 在Dja ...
- VS 查看引用的DLL/Nuget包源码时,无法看到注释
一.问题描述 在下面的截图中,我们发现,源码有添加一段注释. 然后通过Nuget包引用,在VS中用Reshaper反编译时,发现没有注释: 原来,DLL是默认不带注释的.即你生成一个DLL,给另一个项 ...