学会用AI生成系统框架图、时序图图表

这篇具有很好参考价值的文章主要介绍了学会用AI生成系统框架图、时序图图表。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

面向读者:软件工程师、架构师、IT人士、设计人员等

文章目标:提高我们的工作效率

概述

构建系统设计框架图

构建序列图

图形生成的限制和技巧

概括


使用适当内容训练的大型语言模型可以生成的响应不仅仅是英语文本。例如,ChatGPT 已知能够生成多种编程语言的代码。事实上,您还可以让 ChatGPT 生成其他内容,例如图片、图表等。
让我们开始吧。

ai diagrams gpts,人工智能学习与实践,chatgpt,系统设计框架,时序图,人工智能

概述

这篇文章分为三个部分;他们是

  • 构建系统设计框架图
  • 构建序列图
  • 图形生成的限制和技巧

构建系统设计框架图

在当今的软件行业,不可避免地要考虑可扩展性。这意味着一个相当大的系统必须分解成更小的部分并在隔离的硬件上运行。这些部分将通过网络协作来完成任务。这与前互联网时代形成鲜明对比,当时软件被设计为在单台计算机上安装和运行。

让我们考虑一个可以与移动应用程序交互的基于云的文件存储系统。如果你在网上搜索一下,不难了解到这样一个系统是如何构建的,能够支持海量的用户。但一张图片胜过一千个文字。你可以向 ChatGPT 描述这样一个系统,并要求它生成一张图片。提示可以如下:

云文件存储服务具有以下组件:

1. 一个移动客户端,包含本地数据库、索引控制器、块控制器和观察者组件
2. 控制器和观察者组件通过负载均衡器与服务器端交互
3. 服务器上有一个通知服务器将文件更新等消息推送到客户端,客户端的观察程序组件将处理这些消息。
4. 文件的上传和下载由文件处理服务器处理,文件被索引并分解为块。这些块存储在云存储中。
5. 文件的元数据由元数据服务器处理并存储在元数据数据库中。
6. 所有这些操作都使用构建在 Kafka 之上的消息队列来简化。

请使用 Mermaid 语法为此创建一个框图。

构建此类提示有两个关键属性:

  • 清楚地记下了系统组件以及它们如何相互作用
  • 请求对图表使用 Mermaid 语法

详细说明应包含哪些组件以及它们应如何交互对于正确显示图中的元素非常重要。但是,ChatGPT 可以生成文本,但不能生成图形。为了获得图表,您需要一种可以以纯文本形式呈现的图形生成语言。Mermaid.js就是一个例子。

ChatGPT 的响应如下:

当然!以下是表示云文件存储服务中的组件及其交互的框图:

mermaid
Copy code
graph TD
 
subgraph Mobile Client
  A[Local Database] --> B[Index Controller]
  B --> C[Chunk Controller]
  C --> D[Watcher]
end
 
subgraph Server Side
  E[Load Balancer] --> F[Controllers]
  E --> G[Watcher]
  F --> H[File Processing Server]
  H --> I[Cloud Storage]
  F --> J[Metadata Server]
  J --> K[Metadata Database]
  J --> L[Notification Server]
  L --> G
end
 
subgraph Message Queue
  M[Kafka]
end
 
A -- Notify changes --> D
D -- Watch events --> G
G -- Notify events --> D
F -- Upload/Download files --> H
H -- Store/Retrieve chunks --> I
F -- Process metadata --> J
J -- Store metadata --> K
F -- Push notifications --> L
L -- Publish messages --> M
M -- Subscribe to messages --> G
移动客户端由本地数据库、索引控制器、块控制器和观察器组件组成。这些组件通过负载平衡器与服务器端组件交互。服务器端由控制器、文件处理服务器、元数据服务器和通知服务器组成。文件处理服务器处理文件的上传和下载,将它们分解成块并将它们存储在云存储中。元数据服务器处理文件的元数据并将其存储在元数据数据库中。通知服务器将消息(例如文件更新)推送到客户端,这些消息由观察器组件处理。所有这些操作都使用构建在 Kafka 之上的消息队列进行简化。

请注意,这是一个简化的表示,根据云文件存储服务的具体实现,可能会有额外的组件或交互。

响应中的代码块是 Mermaid.js 语法中的图表。如果您将它们复制到在线Mermaid Live Editor,您将得到以下内容:

ai diagrams gpts,人工智能学习与实践,chatgpt,系统设计框架,时序图,人工智能

Mermaid 是一个 Javascript 库,可以在网页上渲染各种图形。您可以进一步完善代码以添加颜色或将块移动到画布上的不同位置。然而,如果您需要系统的可视化,ChatGPT 已经是一个很大的帮助。

事实上,您可以将此技术与其他技术结合起来,例如向 ChatGPT 提供系统的高级目标并要求它告诉您系统组件。然后在后续提示中,要求 ChatGPT 将其转换为图表。

您可以尝试以下提示作为示例:

像 Twitter 这样的社交媒体背后的系统组件是什么?它们如何交互?

然后在后续提示中,

请提供上述 Mermaid 语法的框图。

构建序列图

作为另一个例子,让我们让 ChatGPT 生成一个序列图。它是软件工程中另一个常用的图形,描述不同组件如何在时间轴中交互。

与上面相反,让 ChatGPT 弄清楚组件和交互并在同一提示中生成图片:

用户如何与 Web 应用程序交互并使用 OAuth2 登录?请用 PlantUML 语法生成序列图来解释。

OAuth2是Web应用程序上常见的身份验证方式,Web应用程序服务器不需要您创建帐户,而是使用其他平台的帐户代替。例如,您可以使用 Google 帐户登录 ChatGPT。Google 会检查您的密码,但应用程序 (ChatGPT) 不属于 Google。该过程涉及多方。

以下是 ChatGPT 向您解释此过程的方式:

当然!我可以帮助您使用 PlantUML 语法生成序列图,以说明用户如何与 Web 应用程序交互并使用 OAuth2 登录。示意如下:

plantuml
Copy code
@startuml
actor User
participant "Web App" as WebApp
participant "OAuth2 Provider" as OAuthProvider
 
User -> WebApp: Access web app
WebApp -> User: Display login button
User -> WebApp: Clicks login button
WebApp -> OAuthProvider: Redirects user to OAuthProvider
User -> OAuthProvider: Enters credentials
OAuthProvider -> User: Validates credentials
OAuthProvider -> WebApp: Redirects user with authorization code
WebApp -> OAuthProvider: Sends authorization code
OAuthProvider -> WebApp: Sends access token
WebApp -> User: Logs in user
@enduml
在此图中,步骤如下:

1. 用户访问网络应用程序。
2. Web 应用程序向用户显示登录按钮。
3. 用户单击登录按钮。
4. Web 应用程序将用户重定向到 OAuth2 提供商。
5. 用户在 OAuth2 提供商的登录页面上输入其凭据。
6. OAuth2 提供者验证用户的凭据。
7. OAuth2 提供程序使用授权代码将用户重定向回 Web 应用程序。
8. Web App 将授权代码发送到 OAuth2 Provider。
9. OAuth2 Provider 将授权代码交换为访问令牌。
10. OAuth2 提供程序将访问令牌发送回 Web 应用程序。
11. Web 应用程序使用访问令牌登录用户。

请注意,此图提供了 OAuth2 登录过程的高级概述,可能不包括协议的所有复杂性或特定的实现细节。它作为一般流程的简化表示。

在这里,您需要一种不同的图形语法“语言”:PlantUML。您可以复制上面的代码并在PlantUML Online Server上运行它。您得到的图片如下:

ai diagrams gpts,人工智能学习与实践,chatgpt,系统设计框架,时序图,人工智能

该序列图解释了登录和身份验证是如何发生的以及访问令牌是如何创建的。

请注意,这是有效的,因为 ChatGPT 可以准确地阐明此过程的工作原理。如果您的流程太复杂或 ChatGPT 不知道,您应该在提示中提供不同组件如何交互的详细信息,并要求 ChatGPT 将您的描述转换为图形语言。

图形生成的限制和技巧

作为一种语言模型,它的训练数据在很大程度上限制了它的能力。生成图形可能不是构建 ChatGPT 的主要兴趣。众所周知,ChatGPT 在某些图形方面较弱,例如电子电路原理图。

另请注意,如果您要求 ChatGPT 给您一个图表,默认情况下它会假设您指的是某种“ASCII 艺术”,这通常看起来不正确。因此,必须指定要使用的某种图形语言,然后将输出渲染为图形。以下是一些示例:

  • 正如您在上面第一个示例中看到的那样,Mermaid 可以制作流程图、序列图、实体关系图、甘特图和思维导图
  • PlantUML,如上面另一个例子中使用的,可以制作很多UML图,包括序列图、状态图、类图
  • 对于其他简单的图形(例如,只有节点和箭头的图形),您可以询问 Graphviz 语法,也称为“点语言”
  • 对于通用图形,你可以要求 TikZ 语法,它是 LaTeX 中的一个包
  • 对于电路,有 Circuitikz,它是 TikZ 的专门版本

概括

在这篇文章中,您了解到 ChatGPT 不仅可以生成文本,还可以生成图形,尽管是以某种图形语言的形式。具体来说,您看到了 ChatGPT 如何

  • 根据您的描述生成描述各方交互的框图
  • 生成一个序列图来解释复杂的逻辑来回答您的问题

最重要的是,让 ChatGPT 生成图形的关键是给出关于如何生成图形的足够详细信息。您应该指定格式(例如,采用 Mermaid 语法)并提供有关可视化内容的足够详细信息。文章来源地址https://www.toymoban.com/news/detail-770116.html

到了这里,关于学会用AI生成系统框架图、时序图图表的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 构建全面 AI Agent 解决方案:Chocolate Factory 框架的文本到 UI、图表和测试用例生成...

    长太不看版:基于领域驱动设计思考的 AI Agent 框架 Chocolate Factory,框架现在还在 PoC 阶段,欢迎加入开发。(当前主要关注于 SDLC + AIGC 的场景)。 GitHub: https://github.com/unit-mesh/chocolate-factory Demo 视频: 在过去的一段时间,我们尝试从先前的 AIGC 应用经验里,进行一些再提炼

    2024年02月09日
    浏览(41)
  • 开源流程图表库(01):Mermaid.js生成流程图、时序图、甘特图等

    Mermaid.js是一个用于生成流程图、时序图、甘特图等各种图表的开源库。它使用简洁的文本语法来描述图表结构,并将其转换为可视化的图形。 Mermaid.js的主要特点包括: 简洁易用 :Mermaid.js使用简单的文本语法来描述图表结构,不需要编写复杂的代码。通过简单的几行文本,

    2024年04月13日
    浏览(41)
  • Python 潮流周刊#44:Mojo 本周开源了;AI 学会生成音乐了

    △△请给“ Python猫 ”加星标 ,以免错过文章推送 你好,我是猫哥。这里每周分享优质的 Python、AI 及通用技术内容,大部分为英文。本周刊开源,欢迎投稿 [1] 。另有电报频道 [2] 作为副刊,补充发布更加丰富的资讯,欢迎关注。 特别提醒: 本期周刊赠书 5 本《明解Python算

    2024年04月10日
    浏览(74)
  • AIGC接下来的研究思路 生成式AI投资研究框架

    AIGC接下来的研究思路 | AIGC 原创 科技周竖人 科技周竖人 2023-04-26 23:22 发表于上海 文 | 科技周竖人 欢迎关注同名公众号获取更详细内容 写在前面:AIGC全称生成式AI(AI Generated Content),与传统AI最大的区别体现在其强大的创造性。传统AI侧重于从现有的数据中识别出模式,其

    2024年02月09日
    浏览(53)
  • 生成式 AI 背后的共同框架:Stable Diffusion、DALL-E、Imagen

    如果你对这篇文章感兴趣,可以点击「【访客必读 - 指引页】一文囊括主页内所有高质量博客」,查看完整博客分类与对应链接。 这些生成式 AI 的整体功能为:输入「文字」,返回「图像」,即 Text-to-image Generator: 生成器的内部框架如下所示: 第一部分:Text Encoder,输出

    2024年02月08日
    浏览(41)
  • OpenAI Sora引领AI跳舞视频新浪潮:字节跳动发布创新舞蹈视频生成框架

    OpenAI的Sora已经引起广泛关注,预计今年AI跳舞视频将在抖音平台上大放异彩。下面将为您详细介绍一款字节跳动发布的AI视频动画框架。 技术定位 :这款框架采用先进的diffusion技术,专注于生成人类舞蹈视频。它不仅能够实现人体动作和表情的迁移,还能保持身份信息的准确

    2024年02月22日
    浏览(62)
  • iOS 图表框架 Charts

    Charts - github iOS-Charts看这个就够了 - 稀土掘金 4.1.2 用条形图展示睡眠 要实现上面的效果 上面的代码实现的效果如下图 参考博客: iOS Charts库的简单使用 - BarChartView Swift - 第三方图表库Charts使用详解8(折线图7:事件响应、MarkerView标签) 参考博客: iOS Charts库的简单使用 - P

    2024年02月06日
    浏览(48)
  • 如何生成开发语言的排名图表

    1、解释说明 生成开发语言排名图表,通常需要以下几个步骤: - 首先,我们需要收集一些关于不同编程语言的统计数据,例如使用人数、市场份额等。这些数据可以从各种来源获取,例如网站、报告、数据库等。 - 然后,我们需要使用Python的数据处理库(如pandas)来处理和

    2024年01月24日
    浏览(45)
  • 若依框架,代码生成,系统404异常 解决方案

    使用若依的生成代码功能,下载生成的代码并将其放入项目中后,启动项目,对应页面提示系统接口404异常。 错误的原因之一 :没有把代码放到应该放的位置(默认位置)。 1.controller包的代码要放到ruoyi-admin下,对应位置; 2.其余Java代码放到ruoyi-system下。 如果想要把contr

    2024年02月16日
    浏览(46)
  • Python读取csv、Excel文件生成图表

    简介 本文章介绍了通过读取 csv 或 Excel 文件内容,将其转换为折线图或柱状图的方法,并写入 html 文件中。 目录 1. 读取CSV文件 1.1. 生成折线图 1.1.1. 简单生成图表 1.1.2. 设置折线图格式 1.2. 生成柱状图 1.2.1. 简单生成图表 1.2.2. 设置柱状图格式 2. 读取Excel文件 2.1. 生成折线图

    2024年02月15日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包