跳转到内容

AI辅助生成drawio图表

参考教程:

实践总结:暂时发现Augment/Trae+claude-3.7辅助生成图表的效果不错。

方法

辅助生成drawio图表的流程:

  1. 生成示例的drawio图表(正常的后缀是.drawio的文件),导出xml文件。
  2. Trae或者Cursor等编辑器中编写提示词,让AI参考我们导出的xml文件,生成符合需求的xml文件。
  3. 将AI生成的xml文件导入到drawio中,完成图表的生成(从0到1的草稿图)。
  4. 根据需要,对生成的图表进行调整和美化(润色)。

将以上流程整理为一个流程图,使用AI完成这个需求。

提示词:

请将我的文字描述的流程转化为xml,不需要创建流程图,只需要创建流程图的xml。
xml可以参考 流动图模板.drawio.xml 这个主题,你负责输出代码到 xml生成流程.xml 这个文件,以便导入到drawio。
文字描述的流程如下:

1. 生成示例的drawio图表(正常的后缀是.drawio的文件),导出xml文件。
2. Trae或者Cursor等编辑器中编写提示词,让AI参考我们导出的xml文件,生成符合需求的xml文件。
3. 将AI生成的xml文件导入到drawio中,完成图表的生成(从0到1的草稿图)。
4. 根据需要,对生成的图表进行调整和美化(润色)。

Trae + claude-3.7 直出效果:

举一反三

既然可以给AI提供参考xml文件,那我们就能给更多的xml模板,让AI参考这些模板,生成符合需求的xml文件。这样也就可以让AI生成更多的图表。理论上所有的图表都可以让AI生成。

开源模板:

可以把examples下载到本地,有空可以自己整理一下各种对自己有参考的图表,作为后续的xml模板,然后给AI提供参考,再结合我们实际的需求让AI重新生成我们想要的图表,再自己润色修改。

实践案例

案例1:生物碳循环生成

请以高中生物学的“碳循环”为主题,描述碳在生态系统中的流动路径,提供必要的数据以进行教学目的,
参考 流动图模板.xml 这个主题,输出代码到 碳循环.xml 这个文件,以便导入到drawio

claude-3.7 直出效果:

目前LLM直出效果最好的是claude-3.7,比gemini-2.5-pro和gpt4.1效果都要好。后面可以尝试更多新模型,看看效果如何。

案例2:以具体任务解释Transformer工作流程

阅读这篇在线论文https://arxiv.org/html/1706.03762,然后参照这个流程图xml,帮我生成新的xml。

我的具体需求是,我想彻底弄清楚transformer的工作机制和流程,以翻译“我爱你“作为任务,阐述transformer是如何处理这个任务的,需要具体展示单词级别的翻译过程。

生成的新xml文件与当前打开xml放在同一个目录。新的流程图xml要求简洁、现代、美观、线和框之间不能重叠。

Augment生成后略微调整的效果:

让gemini-2.5-pro评价以上流程的总结:

这张图非常准确地描绘了使用 Transformer 模型进行机器翻译(以 "我爱你" -> "I love you" 为例)的核心工作流程。

我们可以从以下几个关键部分来确认其准确性:

  1. 整体架构: 图中清晰地展示了 Transformer 经典的 Encoder-Decoder 架构。输入语句 ("我爱你") 进入 Encoder,其输出被 Decoder 用来生成目标语句 ("I love you")。这符合 Transformer 用于序列到序列任务(如翻译)的标准设计。

  2. 输入处理:

    • 分词 (Tokenization): 将输入文本分解为基本单元(词元/token),这里是 "我", "爱", "你"。这是 NLP 任务的标准预处理步骤。
    • 词嵌入 (Word Embedding): 将离散的词元转换为连续的向量表示。
    • 位置编码 (Positional Encoding): 由于 Transformer 的自注意力机制本身不包含序列顺序信息,需要额外加入位置编码来表示词元在句子中的位置。
  3. 编码器 (Encoder):

    • 多头自注意力 (Multi-Head Self-Attention): 捕捉输入序列内部词元之间的依赖关系("我", "爱", "你" 之间的关联)。
    • 前馈神经网络 (Feed Forward Network): 对自注意力的输出进行进一步的非线性变换。
    • 编码器输出: 生成了包含上下文信息的输入序列表示,供解码器使用。
  4. 解码器 (Decoder):

    • 起始符号 [START]: 解码过程通常从一个特殊的起始符号开始。
    • 目标词嵌入 & 位置编码: 对目标序列(在训练时是真实目标,在推理时是已生成的部分)进行嵌入和位置编码。
    • 掩码多头自注意力 (Masked Multi-Head Attention): 这是解码器的关键。在预测第 N 个词时,它只能关注到前面 N-1 个已经生成或已知的词,不能“看到”未来的词(通过掩码实现)。图中“防止看到未来信息”准确描述了这一点。
    • 编码器-解码器注意力 (Encoder-Decoder Attention): 这是连接编码器和解码器的桥梁。解码器在生成每个词时,会关注(Attend to)编码器输出的、与当前生成任务最相关的部分(源语句的相关部分)。图中的“注意力可视化”很好地展示了这一点("I" 对应 "我","love" 对应 "爱","you" 对应 "你")。
    • 前馈神经网络: 同样进行非线性变换。
    • 线性层和 Softmax: 将最终的向量映射到词汇表空间,并通过 Softmax 函数得到下一个最可能词的概率分布。
  5. 翻译过程 (Auto-regressive Generation): 图中清晰地展示了解码器是如何一步步生成输出序列的:

    • 输入 [START] -> 预测 "I"
    • 输入 [START], "I" -> 预测 "love"
    • 输入 [START], "I", "love" -> 预测 "you"
    • 输入 [START], "I", "love", "you" -> 预测 [END] (结束符号) 这种逐词生成的方式称为自回归(Auto-regressive)。
  6. 最终输出: 组合生成的词元得到最终翻译结果 "I love you"。

总结:

该图准确、清晰地概括了 Transformer 模型执行机器翻译任务时从输入到输出的主要步骤和核心组件(包括各种 Attention 机制的作用)。它是一个很好的用于理解 Transformer 工作原理的可视化流程图。