Loading [MathJax]/jax/output/CommonHTML/jax.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【AI大模型】大型语言模型LLM基础概览:技术原理、发展历程与未来展望

【AI大模型】大型语言模型LLM基础概览:技术原理、发展历程与未来展望

作者头像
小言从不摸鱼
发布于 2024-11-24 01:02:20
发布于 2024-11-24 01:02:20
1.3K517
代码可运行
举报
文章被收录于专栏:机器学习入门机器学习入门
运行总次数:17
代码可运行
e62f8f242e2f4103b192fc65fdaff218.jpeg
e62f8f242e2f4103b192fc65fdaff218.jpeg

学习目标 🍀 了解LLM背景的知识. 🍀 掌握什么是语言模型

🍔 大语言模型 (LLM) 背景

大语言模型 (英文:Large Language Model,缩写LLM) 是一种人工智能模型, 旨在理解和生成人类语言. 大语言模型可以处理多种自然语言任务,如文本分类、问答、翻译、对话等等.

bac7f1df405147fda81db03bdc732c13.png
bac7f1df405147fda81db03bdc732c13.png

通常, 大语言模型 (LLM) 是指包含数千亿 (或更多) 参数的语言模型(目前定义参数量超过10B的模型为大语言模型),这些参数是在大量文本数据上训练的,例如模型 GPT-3、ChatGPT、PaLM、BLOOM和 LLaMA等.


截止23年,语言模型发展走过了三个阶段:

  • 第一阶段 :设计一系列的自监督训练目标(MLM、NSP等),设计新颖的模型架构(Transformer),遵循Pre-training和Fine-tuning范式。典型代表是BERT、GPT、XLNet等;
  • 第二阶段 :逐步扩大模型参数和训练语料规模,探索不同类型的架构。典型代表是BART、T5、GPT-3等;
  • 第三阶段 :走向AIGC(Artificial Intelligent Generated Content)时代,模型参数规模步入千万亿,模型架构为自回归架构,大模型走向对话式、生成式、多模态时代,更加注重与人类交互进行对齐,实现可靠、安全、无毒的模型。典型代表是InstructionGPT、ChatGPT、Bard、GPT-4等。

🍔 语言模型 (Language Model, LM)

语言模型(Language Model)旨在建模词汇序列的生成概率,提升机器的语言智能水平,使机器能够模拟人类说话、写作的模式进行自动文本输出。

通俗理解: 用来计算一个句子的概率的模型,也就是判断一句话是否是人话的概率.

标准定义:对于某个句子序列, 如S = {W1, W2, W3, …, Wn}, 语言模型就是计算该序列发生的概率, 即P(S). 如果给定的词序列符合语用习惯, 则给出高概率, 否则给出低概率.


举例说明:

  • 假设我们要为中文创建一个语言模型,表示词典,={一起、来、学习}​, 属于。语言模型描述:给定词典, 能够计算出任意单词序列是一句话的概率, 其中
  • 那么如何计算一个句子的呢?最简单的方法就是计数,假设数据集中共有个句子,我们可以统计一下数据集中每个句子出现的次数,如果假设为,则. 那么可以想象一下,这个模型的预测能力几乎为0,一旦单词序列没在之前数据集中出现过,模型的输出概率就是0,显然相当不合理。
  • 我们可以根据概率论中的链式法则,将可以表示为:
7471bbe8608a4d1eaaed56cc066455a5.png
7471bbe8608a4d1eaaed56cc066455a5.png

如果能计算,那么就能轻松得到, 所以在某些文献中,我们也可以看到语言模型的另外一个定义:能够计算出的模型就是语言模型。

从文本生成角度,也可以这样定义语言模型:给定一个短语(一个词组或者一句话),语言模型可以生成(预测)接下来的一个词。


基于语言模型技术的发展,可以将语言模型分为四种类型:

  • 基于规则和统计的语言模型
  • 神经语言模型
  • 预训练语言模型
  • 大语言模型

2.1 基于规则和统计的语言模型(N-gram)

由人工设计特征并使用统计方法对固定长度的文本窗口序列进行建模分析,这种建模方式也被称为N-gram语言模型。在上述例子中计算句子序列概率我们使用链式法则计算, 该方法存在两个缺陷:

  • 参数空间过大:条件概率的可能性太多,无法估算,也不一定有用
  • 数据稀疏严重:许多词对的组合,在语料库中都没有出现,依据最大似然估计得到的概率为0

为了解决上述问题,引入马尔科夫假设:随意一个词出现的概率只与它前面出现的有限的一个或者几个词有关。

  • 如果一个词的出现与它周围的词是独立的,那么我们就称之为unigram也就是一元语言模型.
ce213fb0e55d4cd180077832e35f8611.png
ce213fb0e55d4cd180077832e35f8611.png
  • 如果一个词的出现仅依赖于它前面出现的一个词,那么我们就称之为bigram.
0d3cd49d01ed48b894bbef0c014e7721.png
0d3cd49d01ed48b894bbef0c014e7721.png
  • 如果一个词的出现仅依赖于它前面出现的两个词,那么我们就称之为trigram.
4ba7de19c41c4bb7a9fefc278a70d5f7.png
4ba7de19c41c4bb7a9fefc278a70d5f7.png
  • 一般来说,N元模型就是假设当前词的出现概率只与它前面的N-1个词有关,而这些概率参数都是可以通过大规模语料库来计算,比如三元概率:
9e28760780f84113b99b34818dee8835.png
9e28760780f84113b99b34818dee8835.png

在实践中用的最多的就是bigram和trigram,接下来以bigram语言模型为例,理解其工作原理:

  • 首先我们准备一个语料库(简单理解让模型学习的数据集),为了计算对应的二元模型的参数,即,我们要先计数即,然后计数 , 再用除法可得到概率。
  • 计数结果如下:

399871eef43f45ff92223ba3068c74b8.png
399871eef43f45ff92223ba3068c74b8.png

  • 的计数结果如下:

9ecb957ba4f443db8eda4dc8d290d7e7.png
9ecb957ba4f443db8eda4dc8d290d7e7.png

  • 那么bigram语言模型针对上述语料的参数计算结果如何实现?假如,我想计算 ,计算过程如下显示:(其他参数计算过程类似)
f71904397bcd4f08b3340ecca7d28c40.png
f71904397bcd4f08b3340ecca7d28c40.png
  • 如果针对这个语料库的二元模型(bigram)建立好之后,就可以实现我们的目标计算。
  • 计算一个句子的概率,举例如下:
e9b547e13565407a9304b22e6e36f4b7.png
e9b547e13565407a9304b22e6e36f4b7.png
  • 预测一句话最可能出现的下一个词汇,比如:我想去打【mask】? 思考:mask = 篮球 或者 mask = 晚饭。
5808cf3180474964a8b74ec85c8887fb.png
5808cf3180474964a8b74ec85c8887fb.png
a31b34b62e6142c6b72998ef3f36dff5.png
a31b34b62e6142c6b72998ef3f36dff5.png
  • 可以看出

N-gram语言模型的特点:

  • 优点:采用极大似然估计, 参数易训练; 完全包含了前n-1个词的全部信息; 可解释性强, 直观易理解。
  • 缺点:缺乏长期以来,只能建模到前n-1个词; 随着n的增大,参数空间呈指数增长3.数据稀疏,难免会出现OOV问题; 单纯的基于统计频次,泛化能力差.

2.2 神经网络语言模型

伴随着神经网络技术的发展,人们开始尝试使用神经网络来建立语言模型进而解决N-gram语言模型存在的问题。

9f3cad821a9f4673a149dbdd8f38038f.png
9f3cad821a9f4673a149dbdd8f38038f.png

上图属于一个最基础的神经网络架构:

  • 模型的输入:就是前n-1个词。现在需要根据这已知的n-1个词预测下一个词表示所对应的词向量.
  • 网络的第一层(输入层)是将这n-1个向量首尾拼接起来形成一个大小的向量,记作.
  • 网络的第二层(隐藏层)就如同普通的神经网络,直接使用一个全连接层, 通过全连接层后再使用这个激活函数进行处理。
  • 网络的第三层(输出层)一共有个节点 ( 代表语料的词汇),本质上这个输出层也是一个全连接层。每个输出节点表示下一个词语为 的未归一化log 概率。最后使用 softmax 激活函数将输出值进行归一化。得到最大概率值,就是我们需要预测的结果。

神经网络特点:

  • 优点:利用神经网络去建模当前词出现的概率与其前 n-1 个词之间的约束关系,很显然这种方式相比 n-gram 具有更好的泛化能力,只要词表征足够好。从而很大程度地降低了数据稀疏带来的问题。
  • 缺点:对长序列的建模能力有限,可能会出现长距离遗忘以及训练时的梯度消失等问题,构建的模型难以进行稳定的长文本输出。

2.3 基于Transformer的预训练语言模型

f8464895e1f7404e8ce03bed2b70886d.png
f8464895e1f7404e8ce03bed2b70886d.png

Transformer模型由一些编码器和解码器层组成(见图),学习复杂语义信息的能力强,很多主流预训练模型在提取特征时都会选择Transformer结构,并产生了一系列的基于Transformer的预训练模型,包括GPT、BERT、T5等.这些模型能够从大量的通用文本数据中学习大量的语言表示,并将这些知识运用到下游任务中,获得了较好的效果.


预训练语言模型的使用方式:

  • 预训练:预训练指建立基本的模型,先在一些比较基础的数据集、语料库上进行训练,然后按照具体任务训练,学习数据的普遍特征。
  • 微调:微调指在具体的下游任务中使用预训练好的模型进行迁移学习,以获取更好的泛化效果。

预训练语言模型的特点:

  • 优点:更强大的泛化能力,丰富的语义表示,可以有效防止过拟合。
  • 缺点:计算资源需求大,可解释性差等

2.4 大语言模型

随着对预训练语言模型研究的开展,人们逐渐发现可能存在一种标度定律(Scaling Law),即随着预训练模型参数的指数级提升,其语言模型性能也会线性上升。2020年,OpenAI发布了参数量高达1750亿的GPT-3,首次展示了大语言模型的性能。

相较于此前的参数量较小的预训练语言模型,例如,3.3亿参数的Bert-large和17亿参数的GPT-2,GPT-3展现了在Few-shot语言任务能力上的飞跃,并具备了预训练语言模型不具备的一些能力。后续将这种现象称为能力涌现。例如,GPT-3能进行上下文学习,在不调整权重的情况下仅依据用户给出的任务示例完成后续任务。这种能力方面的飞跃引发研究界在大语言模型上的研究热潮,各大科技巨头纷纷推出参数量巨大的语言模型,例如,Meta公司1300亿参数量的LLaMA模型以及谷歌公司5400亿参数量的PaLM。国内如百度推出的文心一言ERNIE系列、清华大学团队推出的GLM系列,等等。


大语言模型的特点:

  • 优点:像“人类”一样智能,具备了能与人类沟通聊天的能力,甚至具备了使用插件进行自动信息检索的能力
  • 缺点:参数量大,算力要求高、生成部分有害的、有偏见的内容等等

🍔 语言模型的评估指标

3.1 BLEU

BLEU (双语评估替补)分数是评估一种语言翻译成另一种语言的文本质量的指标。它将“质量”的好坏定义为与人类翻译结果的一致性程度。

BLEU算法实际上就是在判断两个句子的相似程度. BLEU 的分数取值范围是 0~1,分数越接近1,说明翻译的质量越高。

BLEU有许多变种,根据n-gram可以划分成多种评价指标,常见的评价指标有BLEU-1、BLEU-2、BLEU-3、BLEU-4四种,其中n-gram指的是连续的单词个数为n,BLEU-1衡量的是单词级别的准确性,更高阶的BLEU可以衡量句子的流畅性.实践中,通常是取N=1~4,然后对进行加权平均。


下面举例说计算过程:

  • 基本步骤:
    • 分别计算candidate句和reference句的N-grams模型,然后统计其匹配的个数,计算匹配度:
    • 公式:candidate和reference中匹配的 n−gram 的个数 /candidate中n−gram 的个数
  • 假设机器翻译的译文candidate和一个参考翻译reference如下:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
candidate: It is a nice day today
reference: Today is a nice day
  • 使用1-gram进行匹配
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
candidate: {it, is, a, nice, day, today}
reference: {today, is, a, nice, day}
结果:
    其中{today, is, a, nice, day}匹配,所以匹配度为5/6
  • 使用2-gram进行匹配
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
candidate: {it is, is a, a nice, nice day, day today}
reference: {today is, is a, a nice, nice day}
结果:
    其中{is a, a nice, nice day}匹配,所以匹配度为3/5
  • 使用3-gram进行匹配
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
candidate: {it is a, is a nice, a nice day, nice day today}
reference: {today is a, is a nice, a nice day}结果:
    其中{is a nice, a nice day}匹配,所以匹配度为2/4
  • 使用4-gram进行匹配
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
candidate: {it is a nice, is a nice day, a nice day today}
reference: {today is a nice, is a nice day}结果:
    其中{is a nice day}匹配,所以匹配度为1/3

对匹配的N-grams计数进行修改,以确保它考虑到reference文本中单词的出现,而非奖励生成大量合理翻译单词的候选结果.

  • 举例说明:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
candidate: the the the the
reference: The cat is standing on the ground
如果按照1-gram的方法进行匹配,则匹配度为1,显然是不合理的,所以计算某个词的出现次数进行改进
  • 将计算某个词的出现次数的方法改为计算某个词在译文中出现的最小次数,如下所示的公式:
9561928bb96a4663a4400de3f652bf0c.png
9561928bb96a4663a4400de3f652bf0c.png
  • 其中表示在机器译文(candidate)中出现的第个词语, 则代表在机器译文中这个词语出现的次数,而则代表在人工译文(reference)中这个词语出现的次数。

python代码实现:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 第一步安装nltk的包-->pip install nltk
from nltk.translate.bleu_score import sentence_bleu
​
def cumulative_bleu(reference, candidate):
​
    bleu_1_gram = sentence_bleu(reference, candidate, weights=(1, 0, 0, 0))
    bleu_2_gram = sentence_bleu(reference, candidate, weights=(0.5, 0.5, 0, 0))
    bleu_3_gram = sentence_bleu(reference, candidate, weights=(0.33, 0.33, 0.33, 0))
    bleu_4_gram = sentence_bleu(reference, candidate, weights=(0.25, 0.25, 0.25, 0.25))
​
    # print('bleu 1-gram: %f' % bleu_1_gram)
    # print('bleu 2-gram: %f' % bleu_2_gram)
    # print('bleu 3-gram: %f' % bleu_3_gram)
    # print('bleu 4-gram: %f' % bleu_4_gram)return bleu_1_gram, bleu_2_gram, bleu_3_gram, bleu_4_gram
​
# 生成文本
generated_text = "This is some generated text."
​
# 参考文本列表
reference_texts = ["This is a reference text.", "This is another reference text."]
​
# 计算 Bleu 指标
c_bleu = cumulative_bleu(reference_texts, generated_text)
​
# 打印结果
​
print("The Bleu score is:", c_bleu)
# The Bleu score is: (0.8571, 0.6900, 0.5711, 0.4920)

3.2 ROUGE

ROUGE指标是在机器翻译、自动摘要、问答生成等领域常见的评估指标。ROUGE通过将模型生成的摘要或者回答与参考答案(一般是人工生成的)进行比较计算,得到对应的得分。

ROUGE指标与BLEU指标非常类似,均可用来衡量生成结果和标准结果的匹配程度,不同的是ROUGE基于召回率,BLEU更看重准确率。

ROUGE分为四种方法:ROUGE-N, ROUGE-L, ROUGE-W, ROUGE-S.


下面举例说计算过程(这里只介绍ROUGE_N):

  • 基本步骤:
    • Rouge-N实际上是将模型生成的结果和标准结果按N-gram拆分后,计算召回率
  • 假设模型生成的文本candidate和一个参考文本reference如下:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
candidate: It is a nice day today
reference: Today is a nice day
  • 使用ROUGE-1进行匹配
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
candidate: {it, is, a, nice, day, today}
reference: {today, is, a, nice, day}
结果:
    :其中{today, is, a, nice, day}匹配,所以匹配度为5/5=1,这说明生成的内容完全覆盖了参考文本中的所有单词,质量较高。
  • 通过类似的方法,可以计算出其他ROUGE指标(如ROUGE-2、ROUGE-L、ROUGE-S)的评分,从而综合评估系统生成的文本质量。

python代码实现:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
​# 第一步:安装rouge-->pip install rouge
import Rouge
# 生成文本
generated_text = "This is some generated text."
# 参考文本列表
reference_texts = ["This is a reference text.", "This is another generated reference text."]
# 计算 ROUGE 指标
rouge = Rouge()
scores = rouge.get_scores(generated_text, reference_texts[1])
# 打印结果
print("ROUGE-1 precision:", scores[0]["rouge-1"]["p"])
print("ROUGE-1 recall:", scores[0]["rouge-1"]["r"])
print("ROUGE-1 F1 score:", scores[0]["rouge-1"]["f"])
# ROUGE-1 precision: 0.8
# ROUGE-1 recall: 0.6666666666666666
# ROUGE-1 F1 score: 0.7272727223140496

3.3 困惑度PPL(perplexity)

PPL用来度量一个概率分布或概率模型预测样本的好坏程度。

PPL基本思想:

  • 给测试集的句子赋予较高概率值的语言模型较好,当语言模型训练完之后,测试集中的句子都是正常的句子,那么训练好的模型就是在测试集上的概率越高越好.
  • 基本公式(两种方式):

a575f9dea8f349e88577214a96d38d54.png
a575f9dea8f349e88577214a96d38d54.png

​​

68e1fe31b83f45368c731e6404765aa4.png
68e1fe31b83f45368c731e6404765aa4.png

  • 由公式可知,句子概率越大,语言模型越好,迷惑度越小。

python代码实现:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import math
# 定义语料库
sentences = [
['I', 'have', 'a', 'pen'],
['He', 'has', 'a', 'book'],
['She', 'has', 'a', 'cat']
]
# 定义语言模型
unigram = {
'I': 1/11,
'have': 1/11,
'a': 3/11,
'pen': 1/11,
'He': 1/11,
'has': 2/11,
'book': 1/11,
'She': 1/11,
'cat': 1/11
}
# 计算困惑度
perplexity = 0
for sentence in sentences:
    sentence_prob = 1
    for word in sentence:
        sentence_prob *= unigram[word]
    sentence_perplexity = 1/sentence_prob
    perplexity += math.log(sentence_perplexity, 2) #以2为底
perplexity = 2 ** (-perplexity/len(sentences))
print('困惑度为:', perplexity)
# 困惑度为: 0.000325

🍔 小结

  • 本小节主要介绍LLM的背景知识,了解目前LLM发展基本历程
  • 对语言模型的类别分别进行了介绍,如基于统计的N-gram模型,以及深度学习的神经网络模型
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-11-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
5 条评论
热度
最新
fontawesome图标您能加载出来么,为什么我放在页面没有效果呢
fontawesome图标您能加载出来么,为什么我放在页面没有效果呢
11点赞举报
对呀 我也是 我查找了很多地方 都没有得到答案求解答 !!!
对呀 我也是 我查找了很多地方 都没有得到答案求解答 !!!
回复回复点赞举报
请问用这种语法写出来的文档,如何导出Word文档呢,我试了下,导出Word文档,识别不了里面的语法
请问用这种语法写出来的文档,如何导出Word文档呢,我试了下,导出Word文档,识别不了里面的语法
22点赞举报
markdown 工具导出 pdf 或者渲染出来后截图吧
markdown 工具导出 pdf 或者渲染出来后截图吧
回复回复点赞举报
好吧,PDF是没问题的
好吧,PDF是没问题的
回复回复点赞举报
推荐阅读
编辑精选文章
换一批
markdown绘图插件----mermaid简介
当撰写文档的时候,对于流程图的生成大多使用Visio等繁重的工具,没有一种轻便的工具能够画图从而简化文档的编写,就像markdown那样。
流川疯
2019/01/18
4.8K1
使用AI配合Typora智能画图
本文由 小马哥 创作,采用 知识共享署名4.0 国际许可协议进行许可 本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名 最后编辑时间为: 2023/05/25 11:35
IT小马哥
2023/05/26
7660
使用AI配合Typora智能画图
【Mermaid】画图工具使用笔记
文章目录 Mermaid简介 Mermaid使用方法 1、流程图(graph) 2、时序图(sequenceDiagram) 3、状态图(stateDiagram) 4、类图 5、甘特图(gantt) 6、饼图(pie) 7、需求图 参考连接 Mermaid简介 Mermaid 允许使用文本和代码创建图表和可视化效果。它是一个基于 JavaScript 的图表绘制和图表工具,可呈现受 Markdown 启发的文本定义,以动态创建和修改图表。 Mermaid使用方法 1、流程图(graph) graph
宝耶需努力
2022/12/13
2.5K0
【Mermaid】画图工具使用笔记
十五分钟让你快速学习Markdown语法到精通排版实践
描述: Markdown 是一种轻量级标记语言于2004年推出,创始人为约翰·格鲁伯(John Gruber)。 它允许人们使用易读易写的纯文本格式编写文档,然后转换成有效的 XHTML(或者HTML)文档。
全栈工程师修炼指南
2022/09/29
2.7K0
Typero+Mermaid
graph声明了一个新图形和图形布局的方向 TB - 从上到下 BT - 从下到上 RL - 从右到左 LR - 从左到右 TD - 与TB相同
酒楼
2023/12/20
3400
markdown 入门简明指南
在Markdown中,如果想将一段文字定义为标题,只需要在这段文字前面加上 #,再在 # 后加一个空格即可。还可增加二、三、四、五、六级标题,总共六级,只需要增加 # ,增加一个 # ,标题字号相应降低一级。如下:
演化计算与人工智能
2020/08/14
9680
markdown 入门简明指南
惊呆!原来 markdown 的画图功能如此强大!
Markdown 是一种轻量级标记语言,相比于 xml、html 等超文本标记语言,Markdown 的语法更简单,结构更清晰,更加易读易用。
用户3147702
2022/06/27
10.8K0
惊呆!原来 markdown 的画图功能如此强大!
Typora使用Mermaid绘制各种图
其他连线:需要将graph关键字改为flowchart,除了新增加的连线形式外,上面三种线的渲染效果也会不同
码客说
2023/06/04
2.5K0
Typora使用Mermaid绘制各种图
>>运维管理:Typora工具之画图
所有的代码都要放在 mermaid代码标签中才可以生效,当前使用的typora的版本为 版本0.9.9.36.2 (4901),如果不是当前版本,删除原来版本,升级到最新版本即可,如果只是单纯升级版本,可能会有些样式问题,这里建议删除干净原来的版本,再重新下载,即可。
艾特
2023/10/10
5140
>>运维管理:Typora工具之画图
使用 markdown 画流程图、时序图
在日常工作中,难免会画一些流程图、时序图。之前都是选择使用在线的画图网站,画完然后截图插入到文档。我个人用的比较多的主要是 腾讯文档 。
Mervyn
2021/12/08
3K0
使用 markdown 画流程图、时序图
DeepSeek & Mermaid:如何将文本直接转化为精美图表? -优雅草卓伊凡
DeepSeek(深度求索)的 代码解释和渲染能力 天然支持 Mermaid,你只需:
卓伊凡
2025/05/22
6490
Mermaid 时序图常用语法
Cellinlab
2023/10/09
9450
像写 Markdown 一样画流程图
今天推荐一个项目「mermaid」,一个基于 Javascript 的图表绘制工具,通过解析类 Markdown 的文本语法来实现图表的创建和动态修改。
我的小碗汤
2023/03/19
6870
像写 Markdown 一样画流程图
AI生成图表化:深入探索Mermaid
在使用生成式AI时,只要你提出让AI帮你生成mermaid图,AI的生成就会出现丰富的图形!
码事漫谈
2024/12/20
4.1K0
AI生成图表化:深入探索Mermaid
Mermaid:Star 74.4K,Github上的宝藏项目,你敢相信Markdown也能画出各式各样的流程图,操作太丝滑啦!
嗨,大家好,我是小华同学,关注我们获得“最新、最全、最优质”开源项目和高效工作学习方法
小华同学ai
2025/01/16
5750
Mermaid:Star 74.4K,Github上的宝藏项目,你敢相信Markdown也能画出各式各样的流程图,操作太丝滑啦!
我用AI帮我生成了流程图、时序图(顺序图)、甘特图
AI思维导图工具是一种结合人工智能技术的在线软件,旨在帮助用户快速生成和编辑思维导图、流程图等图形结构。这些工具可以自动识别用户输入的文字或图片,并生成对应的图表,极大地简化了复杂逻辑的绘图过程。
AIGC新知
2024/10/08
2.3K0
我用AI帮我生成了流程图、时序图(顺序图)、甘特图
Markdown高级用法——mermaid
起初是写文章,其中有时序图流程图等一般是processOn或者draw.io画截图粘过去的,工作中又是腾讯文档,上面也能画图,但假如我笔记软件用语雀之类的又要把一张图反复粘贴,浪费内存,如果统一图床,又会有内外网权限问题,最终我找到了解决办法,谁说markdown只能写文档的,语法熟练以后比直接画图还快。
燃192
2024/01/17
1.5K0
Markdown高级用法——mermaid
mindoc制作思维导图
mindoc是基于editor.md的适合写技术文档的工具,我将它整合到engineercms里,我觉得它的重要性仅次于onlyoffice的在线协作,因为网络写作方面非常适合。
hotqin888
2022/09/08
6120
mindoc制作思维导图
高效工作流:用Mermaid绘制你的专属流程图;如何在Vue3中导入mermaid绘制流程图
如果您希望直接访问Vue3导入mermaid的代码,可以直接访问:三、Vue3中如何引入mermaid
watermelo37
2025/01/22
1.1K0
高效工作流:用Mermaid绘制你的专属流程图;如何在Vue3中导入mermaid绘制流程图
关于写作那些事之快速上手Mermaid流程图
本文主要介绍了如何快速上手 Mermaid 流程图,不用贴图上传也不用拖拉点拽绘制,基于源码实时渲染流程图,操作简单易上手,广泛被集成于主流编辑器,包括 markdown 写作环境.
雪之梦技术驿站
2020/05/07
3.7K0
关于写作那些事之快速上手Mermaid流程图
推荐阅读
相关推荐
markdown绘图插件----mermaid简介
更多 >
LV.1
这个人很懒,什么都没有留下~
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验