前言
大家好,我是GISer Liu,好久不见,工作之余,我又来参加DataWhale举办的每月学习赛了;期待这个系列文章能帮助各位读者快速入门LLM开发,希望大家喜欢;Github链接已放在文末;
概述
在这篇文章中,作者将为各位读者介绍大语言模型(LLM)的应用开发基础。
- 首先,我们将了解
什么是LLM
,以及其原理和发展历程
。 - 接下来,我们将探讨
国内外的闭源和开源LLM
,了解其特点、功能及应用。 - 最后,我们还将讨论
LLM的功能和应用场景
。通过生动的案例和类比的方式,作者希望代理各位读者更好地理解LLM。
希望您能在读完后,对我的文章做出评论,这样我也可以更好的查漏补缺,为各位读者提供更优质的内容;😀
一、什么是大语言模型(Large Language Model,LLM)
1.大语言模型的概念
大型语言模型(LLM),也称为大语言模型,是一种先进的人工智能模型,其专注于理解和生成人类语言文本。这些模型基于海量的文本数据训练,包含了数百亿上千亿甚至更多的参数,以获得对语言深层次的理解。
在LLM的无监督学习阶段,LLM不需要人为标注的数据,就能自动从大量文本中学习参数。以著名的GPT-3
为例,其训练数据涵盖了互联网上的各类文本,包括:
- 线上书籍
- 新闻文章
- 科学论文
- 维基百科
- 社交媒体帖子
…
通过大量的语料训练,模型就能够深入了解单词与上下文之间的关系,更好地理解文本的含义,并生成更准确的预测。
LLM如何理解文本含义?🤔我会在下面的原理层面进行解释;🫡
值得注意的是,大语言模型的“大”不仅体现在其训练数据的海量,更体现在其参数数量的庞大。
参数是模型内部的变量,可以理解为模型在训练过程中学到的知识。LLM的理解就是通过精准的计算向量的相似程度,知道什么时候说什么话😲;
这些参数决定了模型如何对输入数据做出反应,从而决定了模型的行为。因此,大语言模型通过其庞大的参数规模,实现了对语言的深刻理解和生成能力。
这种参数量的增加使得大型模型不再像小型模型那样只能专注于单项或某几项特定任务,而是具备了更加广泛的应用能力(泛化性)。在过去,为了完成文本总结、分类、信息提取等不同任务,可能需要训练多个专门的模型。而现在,一个大型模型就能处理这一切任务,极大地提高了效率和灵活性。
触类旁通,透过现象看本质
2.LLM的原理
自2017年Google团队发表《Attention Is All You Need》论文提出Transformer架构以来,自然语言处理(NLP)领域发生了重大变革。这一突破性架构奠定了大语言模型(LLM)发展的基础,并推动了NLP技术的快速进步。在此之前,RNN和LSTM是主要的语言模型架构,但它们存在一些限制。Transformer架构通过自注意力机制和并行处理,解决了这些问题。
①RNN和LSTM的短板
RNN(循环神经网络)
- 序列处理限制:RNN在处理长序列文本时存在梯度消失和梯度爆炸问题,使得模型在处理长距离依赖关系时性能较差。例如,在处理一篇长文章时,RNN可能无法很好地捕捉文章开头和结尾之间的关系。
一天,小明走在森林里,突然看到一只白色的兔子。他跟着兔子跑了一会儿,来到了一个奇怪的房子前。他推开门走了进去,里面没有人,只有一张桌子和一把椅子。他坐在椅子上,突然听到了一声哭泣。他走到卧室里,看到了一个小女孩在哭。她说她失去了父母,小明想帮助她找回父母。
可以看出,这个小说存在情节和人物关系的断裂和不连贯的问题;
- 并行计算受限:RNN需要依赖前一个时间步的输出作为当前时间步的输入,无法并行处理序列数据,导致训练速度较慢。例如,在处理一段音频数据时,RNN需要逐步处理每个音频帧,无法同时处理所有帧。
LSTM(长短记忆网络)
- 改进但不彻底:LSTM通过引入记忆单元和门控机制(输入门、遗忘门和输出门)缓解了梯度消失问题,但仍不能完全解决序列处理中的长距离依赖问题。例如,在处理一篇长文章时,LSTM可能仍然无法很好地捕捉文章开头和结尾之间的关系。
- 计算复杂度高:LSTM
结构复杂,计算资源消耗大,训练速度仍然受到限制
。例如,在处理一段视频数据时,LSTM需要处理每个视频帧的像素信息,计算量非常大,训练速度较慢。
②Transformer如何解决这些问题
作者将上面这张图丢给了GPT-4o,下面是它的回答:
这张图展示了Transformer模型的架构,它由两个主要部分组成:编码器(Encoder)和解码器(Decoder)。每个部分都由多个层(Layers)堆叠而成。我们逐步解析图中的各个组件,并解释Transformer如何解决RNN和LSTM存在的问题。
### 图中组件解析
#### 编码器(Encoder)
1. **输入嵌入(Input Embedding)**:
输入序列经过嵌入层,转换为固定维度的向量表示。
2. **位置编码(Positional Encoding)**:
由于Transformer不具备RNN的序列信息捕捉能力,所以通过加上位置编码来提供序列位置信息。
3. **多头注意力机制(Multi-Head Attention)**:
输入经过多头注意力机制,计算每个位置之间的相互依赖关系。
4. **Add & Norm**:
通过残差连接和层归一化,帮助模型训练更深的网络。
5. **前馈神经网络(Feed Forward)**:
每个位置的向量经过前馈神经网络进行进一步处理。
6. **多头注意力机制和前馈神经网络的组合**:
这种组合重复了N次(图中的Nx表示),每次都包括Multi-Head Attention, Add & Norm, Feed Forward, Add & Norm模块。
#### 解码器(Decoder)
1. **输出嵌入(Output Embedding)**:
解码器输入(即前一个时间步的输出)经过嵌入层转换为向量表示。
2. **位置编码(Positional Encoding)**:
同样加入位置编码以提供序列信息。
3. **掩码多头注意力机制(Masked Multi-Head Attention)**:
防止解码器看到未来的单词,通过掩码机制仅关注当前和之前的单词。
4. **Add & Norm**:
残差连接和层归一化。
5. **多头注意力机制(Multi-Head Attention)**:
从编码器获取的输出中选择相关信息进行注意力计算。
6. **Add & Norm**:
残差连接和层归一化。
7. **前馈神经网络(Feed Forward)**:
经过前馈神经网络进行处理。
8. **Add & Norm**:
残差连接和层归一化。
9. **线性变换和Softmax**:
最终通过线性变换和Softmax层,输出预测的概率分布。
### Transformer如何解决RNN和LSTM的问题
1. **并行计算**:
RNN和LSTM由于其顺序处理的特点,难以并行化。Transformer通过自注意力机制和并行处理所有位置,显著提高了计算效率。
2. **长程依赖问题**:
RNN和LSTM在处理长序列时会出现梯度消失或爆炸问题,而Transformer的自注意力机制可以直接捕捉序列中任意位置之间的依赖关系,解决了这一问题。
3. **训练速度**:
Transformer的并行计算和相对简单的层结构(如没有循环结构)使得它在训练速度上有明显优势。
4. **注意力机制的灵活性**:
多头注意力机制允许模型在不同的“头”上关注不同部分的信息,从而提升了模型的表达能力和捕捉复杂依赖关系的能力。
通过这些改进,Transformer模型克服了RNN和LSTM的局限性,成为了自然语言处理任务中的主流模型。
没的说,比我说的清楚多了,哼哼🤔🤔,ok,吐槽一下,这里大家理解基本概念即可;无需过度深入…
自注意力机制
- 并行处理:Transformer通过自注意力机制,允许模型并行处理输入序列中的所有词,而不依赖于前一个时间步的输出,大大提高了训练速度。
- 捕捉长距离依赖:自注意力机制使得模型在处理每个词时,能够考虑整个输入序列中的所有其他词,并赋予不同的注意力权重,从而有效捕捉长距离的语义关系。
位置编码
- 序列信息保留:Transformer在对词进行嵌入(embedding)后,为每个词添加位置编码,使模型既能理解词的意义,又能捕捉词在句子中的位置。这一机制解决了并行处理时序列信息丢失的问题。
接下来,作者介绍一下国内外开源和闭源的LLM大语言模型,以便各位读者对后续开发模型选择有个基本的了解;
二、国内外的闭源和开源LLM
1.闭源模型:
①GPT系列
OpenAI是一家致力于推进人工智能技术的研究机构,其推出的ChatGPT系列模型已经成为行业的标杆。最早的GPT模型发布于2018年,经过多次迭代,最新的GPT-4o模型在处理速度和多模态处理能力方面取得了显著进步。OpenAI采用了双层结构,一方面维持非盈利的研究机构,另一方面成立了盈利子公司,以便更好地筹集资金和吸引顶尖人才。与微软的深度合作进一步加速了其技术和商业化进程 (OpenAI) (OpenAI)。
而ChatGPT 则是由 OpenAI 于 2022 年 11 月推出的一个人工智能聊天机器人应用,该程序基于大型语言模型 GPT-3.5,使用指令微调(Instruction Tuning)和基于人类反馈的强化学习技术(RLHF)训练而成,后续OpenAI继续推出了GPT-4,GPT-4o系列强大的AI模型,
GPT-4o是用户体验绝对的王者模型,没的说🏆,不是说其他模型不优秀,而是感觉侧重点不均衡;
- 官网链接:ChatGPT
- API链接:OpenAI API
- 开发文档:OpenAI 开发文档
- 模型链接:OpenAI 模型
模型 API比较
语言模型名称 | 上下文长度 | 特点 | 输入费用($/百万tokens) | 输出费用($/百万tokens) | 知识截止日期 |
---|---|---|---|---|---|
GPT-3.5-turbo | 16k | 经济,专门对话 | 0.5 | 1.5 | 2021年9月 |
GPT-3.5-turbo-instruct | 4k | 指令模型 | 1.5 | 2 | 2021年9月 |
GPT-4 | 8k | 性能更强 | 30 | 60 | 2021年9月 |
GPT-4-32k | 32k | 性能强,长上下文 | 60 | 120 | 2021年9月 |
GPT-4-turbo | 128k | 性能更强,更新到2023年4月 | 10 | 30 | 2023年12月 |
GPT-4o | 128k | 性能最强,速度更快,多模态,低成本 | 5 | 15 | 2023年10月 |
Embedding模型 API
模型名称 | 维度 | 费用($/百万tokens) |
---|---|---|
text-embedding-3-small | 512/1536 | 0.02 |
text-embedding-3-large | 256/1024/3072 | 0.13 |
ada v2 | 1536 | 0.1 |
②Claude 系列
Anthropic公司专注于构建安全且强大的AI系统,其推出的Claude系列模型以高效和高性能著称。Anthropic强调AI的可控性和安全性,采用先进的技术进行训练,以确保模型在各种任务中的表现。
Claude 是由 Anthropic 开发的一系列大型语言模型,旨在革新用户与 AI 交互的方式。Claude 擅长处理涉及语言、推理、分析、编码等各种任务。Anthropic 是一家科技公司,由专注于安全的前 OpenAI 人员创立。他们的目标是通过创新的“宪法人工智能”方法,为用户提供更有用、更安全的 AI 体验。
作者总是感觉Claude2更像是LLM中的文科生🤔,适合角色扮演和写故事,不过后续的Claude3就专业多了😀
- 官网链接:Claude AI,Claude 3 Sonnet
- API 链接:Anthropic API
- 开发文档:Anthropic 开发文档
- 模型链接:Anthropic 模型
Claude 模型 API 价格比较
语言模型名称 | 上下文长度 | 特点 | 输入费用($/百万 tokens) | 输出费用($/百万 tokens) |
---|---|---|---|---|
Claude 3 Haiku | 200k | 速度最快 | 0.25 | 1.25 |
Claude 3 Sonnet | 200k | 性能与速度平衡版本 | 3 | 15 |
Claude 3 Opus | 200k | 性能最强 | 15 | 75 |
③Gemini 系列
Google推出的Gemini系列模型具有卓越的语言理解和生成能力。Gemini Pro和Gemini Flash等模型在多模态任务中表现出色,适用于自然语言处理、多轮对话和代码生成等复杂任务。相关信息如下:
- 官网链接:Gemini AI
- API 链接:Gemini API
- 开发文档:Gemini 开发文档
- 模型链接:Gemini 模型
Gemini 模型 API 价格比较
语言模型名称 | 上下文长度 | 特点 | 输入 | 输入费用($/百万 tokens) | 输出费用($/百万 tokens) |
---|---|---|---|---|---|
Gemini 1.0 Pro | 200k | 自然语言任务、多轮对话和代码生成 | 文本 | 0.5 | 1.5 |
Gemini 1.5 Flash | 200k | 在各种任务中实现快速和多功能的性能 | 音频、图像、视频和文本 | 0.35/0.7 | 1.05/2.10 |
Gemini 1.5 Pro | 200k | 复杂的推理任务,如代码和文本生成, 文本编辑、问题解决、数据提取和生成 | 音频、图像、视频和文本 | 3.5/7.0 | 10.5/21.0 |
以上均有免费额度、但有速率限制和日调用量限制
除了上述国外的 AI LLM 大模型外,国内也有一些优秀的 LLM闭源大模型,如百度的文心一言的千帆大模型和讯飞的星火大模型等。
④文心一言
百度的文心一言系列大模型以多样化的应用场景和强大的性能著称。文心一言模型涵盖从基础的自然语言处理到复杂的生成任务,适用于各种业务需求。
- 官网链接:文心一言
- 开发文档:文心一言开发文档
- 模型链接:文心一言模型
百度的大模型型号实在是太多了,我这边没法说,放张图,大家可以看看,面向各种场景都有;业务很完整;
⑤讯飞星火大模型
科大讯飞的星火大模型系列在语音识别和自然语言处理方面具有显著优势。该系列模型支持多种语言和任务,适用于教育、医疗、智能客服等多个领域。
最近的厂商API竞争中,它们家的API是不是部分免费了?🤔
- 官网链接:讯飞星火
- 开发文档:讯飞星火开发文档
2.开源模型
开源大模型的发展迅速,从Meta发布Llama发布开始,此后,各大厂商纷纷推出自己的开源大规模语言模型(LLM)。其中,Llama、Mistral、Qwen、ChatGLM和Genii是作者印象深刻的几个开源LLM。
①LLAMA系列
LLAMA 1
LLAMA 1是Meta(原Facebook)推出的开源大模型。作为第一代模型,它已经展示了强大的自然语言处理能力。LLAMA 1支持多种任务,包括文本生成、问答系统和翻译等。它提供了多个尺寸的模型,从7B到65B不等,用户可以根据具体需求选择适合的模型尺寸。
LLAMA 2
在LLAMA 1的基础上,LLAMA 2进行了多方面的优化,显著提升了性能和效率。LLAMA 2引入了新的技术,使得模型在复杂任务中的表现更加出色。相比前代模型,LLAMA 2不仅提高了训练效率,还增强了模型的理解和生成能力,能够更好地适应不同的应用场景。用户依然可以从多个尺寸的模型中进行选择,以满足具体的需求。详情可查LLAMA 2。
LLAMA 3
LLAMA 3是LLAMA系列的最新版本,进一步提升了模型的性能和稳定性。LLAMA 3在架构设计上进行了重大改进,优化了计算效率,使其在处理复杂任务时表现更加出色。特别是在多轮对话和逻辑推理任务中,LLAMA 3展现出了强大的能力。与前两代一样,LLAMA 3也提供了多种尺寸的模型,用户可以根据需求进行选择LLAMA3。。
作者严重怀疑🤔,
LLAMA3训练过程中使用了平台的聊天数据,每次提问总是带个表情符号,emmm,感觉适合作为聊天机器人;
② Mistral
Mistral 7B
Mistral 7B是一个小规模但高性能的语言模型,专为多语言文本生成任务设计。它在保持高性能的同时,优化了参数设置,减少了计算资源的消耗。Mistral 7B适用于翻译、文本生成和问答系统等多种任务,是处理多语言任务的理想选择。
特点:小规模高性能模型,适用于多语言文本生成。
Mixtral 8x7B
Mixtral 8x7B采用了MOE
(Mixture of Experts)架构,显著提高了模型的性能和稳定性。MOE架构通过更高效的参数利用和计算资源分配,实现了更佳的性能表现。Mixtral 8x7B特别适用于需要高稳定性和高性能的复杂任务,如大规模数据处理和多任务学习。它的设计使其在处理大量数据和多任务时表现尤为出色。
作者平时最常用的就是mistral,运行**
速度很快
,而且很便宜
,简单的问题用mistral small-large,代码编程问题可以用codeistral;🏆🏆,对了,Mistral回答很利索,不会说废话,适合做翻译,结构化数据生成
**;
相关链接
- 官网链接:Mistral
- 开发文档:Mistral 开发文档
③ 国内开源LLM列表
国内的开源大模型也发展的非常优秀,尤其是阿里的通义千问系列和清华的ChatGLM,它们都属于大模型行业的引领者!
但是不理解为什么国内的大模型版本普遍比国外的多,是业务多,还是我们迭代太快?🤔🤔,作者整理资料都整理不完!
作者这里搜集资料(模型参数)感觉压力巨大,因此将相关链接整理为下方的表格,各位读者可以去自行查看,真的很棒!!🫡🫡😂,另外一个原因就是国内的网站没有墙,大家都可以自由访问;作者滴任务完成啦!
产品名称 | 开发文档 | 模型 | 特点 | 输入 | 输出 | 开源链接 |
---|---|---|---|---|---|---|
DeepSeek | API文档 | DeepSeek-V2 、Coder-V2 | 擅长生成任务、代码生成和数学 | 32k(开源128k) | 4k | deepseek |
ChatGLM | API文档 | GLM-3-Turbo、GLM-4-Flash、GLM-4-Air、GLM-4-AirX、GLM-4、GLM-4-0520,详细介绍 | 模型各具特色 | 128K | - | ChatGLM-6B、ChatGLM3 |
通义千问 | API文档 | 模型过多,自行体验 | 全系列开源、性能高、输出稳定,多语言 | - | - | qwen |
作者在同参数量的开源模型下,基于RAG或者结构化输出的任务中,通义千问是最稳定的,力荐!🎉🏆😺
三、LLM的特点和能力
1. LLM的特点
大语言模型(LLM)是现代生成式AI的核心,相比于传统模型,它们具备一些特殊之处,使它们在众多应用中表现出色。以下是LLM的主要特点:
-
规模巨大
:LLM通常具有庞大的参数规模和训练数据集。例如,GPT-3拥有1750亿个参数,这使得它在生成语言方面表现出色。庞大的规模使得LLM能够捕捉到语言中的复杂模式和细微差别,但也带来了高算力和高存储需求。 -
上下文感知
:LLM具有强大的上下文感知能力,能够理解并生成符合上下文逻辑的内容。这意味着它可以根据前后文信息生成连贯的段落,回答上下文相关的问题,甚至在对话中保持一致的语境。 -
多语言支持
:LLM通常支持多种语言,可以在不同语言之间进行无缝切换和翻译。这使得它们在全球化应用中具有巨大的优势,能够服务于多语言背景的用户群体。 -
多模态支持
:除了处理文本,LLM逐渐扩展到多模态支持,能够处理图像、音频等多种数据类型。这种多模态支持使得LLM在图像描述、视频生成、音频分析等方面有了更广泛的应用。 -
高算力要求
:由于LLM的庞大规模和复杂计算,运行这些模型需要高算力支持。通常需要专用的GPU或TPU集群来进行训练和推理,这使得部署和维护成本较高。最近看到某些LLM可以运行在移动端设备了,期待~ -
伦理和风险问题
:LLM在应用中存在一定的伦理和风险问题,包括:- 偏见和歧视:训练数据中的偏见可能会导致模型生成不公正或歧视性的内容,增加数据集的均衡性很重要,
例如某些企业使用LLM审核打工人的简历,被模型歧视可就太冤枉了。 - 隐私问题:LLM可能无意中生成包含敏感信息的内容,带来隐私泄露风险,这也是政府等内网部门使用LLM需要本地部署开源LLM的原因;
LLM提取机密信息可是非常准的,作者已测试过了😣😣 - 虚假信息:生成的内容可能不准确或虚假,需谨慎使用,
最近就有某些公司基于LLM工具批量生成谣言文章吸引点击量非法获利。
- 偏见和歧视:训练数据中的偏见可能会导致模型生成不公正或歧视性的内容,增加数据集的均衡性很重要,
-
支持预训练与微调
:LLM通常通过预训练和微调两个阶段进行优化。预训练是在大规模数据集上进行的,旨在学习语言的通用模式(算力要求高,散修玩不起😣)。微调是在特定任务或领域的数据上进行的,以提升模型在特定应用场景中的表现。这种训练方法使得LLM具备较高的灵活性和适应性,高性能N卡电脑和租用服务器都是一个不错的选择,适合孤狼玩家😏。
ok!说完了LLM的特点我们说说LLM的功能,最后由功能引出LLM的应用;
2. LLM功能
① 智能涌现
智能涌现(Emergent Intelligence) 是指LLM在大量数据和复杂算法的驱动下,能够生成超出简单规则和逻辑推理的智能行为。这种智能并非直接由编程控制,而是通过模型在大规模数据中学习和自我优化实现的。举个例子,就像训练了一只超级聪明的宠物,它可以在理解人类语言和意图的基础上,生成相应的响应和行为。
有本书叫做《智能涌现》,在书中,作者通过一个名为“图片实验”的例子来解释智能涌现的概念。
这个实验展示了当图片的像素规模逐渐增大时,人们在观察图片时能否察觉到其中的内容。
在实验中,前几步的图片人们很难看出其中的内容,但当图片的像素规模达到一定阈值时,突然之间人们能够轻松地看出图片中的物体和场景。这种突然的理解和获得就是智能涌现的体现
② LLM基本功能
LLM可以作为多种应用的基座,提供强大的自然语言处理能力。这些功能包括但不限于:
- 文本生成:自动撰写文章、小说、新闻报道等。
- 文本摘要:从长篇文档中提取关键信息,生成简洁摘要。
- 翻译:提供多语言之间的高质量翻译。
- 问答系统:根据用户的提问,提供准确的答案。
- 对话系统:与用户进行自然、流畅的对话。
由大模型的这些基本功能,我们可以将我们传统编程和产业与LLM结合起来,去实现新的应用,例如自动化的内容生成,降本增效、更聪明的智能语音助手、替代部分与文字打交道的行业;
四、LLM的应用方向
1. 聊天机器人
聊天机器人是LLM的经典应用之一,通过自然语言处理技术,与用户进行互动对话。除了之前我们介绍各大厂商的Chat聊天应用。这里还有一些应用方向,包括:
应用示例:
- 客服机器人:在电商网站上,聊天机器人可以回答用户的产品查询,帮助下单、跟踪订单状态等。
- 教育助手:在在线教育平台上,聊天机器人可以解答学生的问题,提供学习资源和建议。
单方向训练这些方向的LLM性价比不高,RAG+插件式专家系统模型结合LLM才是最具有性价比的方案!!
2. 函数调用(工具调用)
LLM可以通过调用函数来获取模型权重中和数据库中不存在的信息,常见工具有网络检索工具,文件读写工具,API调用工具,例如让:
- LLM使用Google Search API,以及调用聚合数据来获取常见的天气信息和股票数据等;
- 通过访问高德API来获取位置,调用SD的API来实现图像生成;
一个常见的案例就是微软的Copilot,当用户输入问题时,其会分解问题,然后调用不同的工具来规划分解任务,调用工具检索,然后在代码生成器中执行,ChatGPT中的open-interpreter也是一样的思路;
3. 检索增强生成(RAG)
这里作者引用一下LangChain的RAG流程图,并详细解释一下其思路:
为了让LLM可以获取真实实时的信息,来自其他数据库、用户输入、互联网爬取的文本图像数据会通过Embedding模型
向量化被存储到向量数据库中,然后每次模型调用时都会先去检索向量数据库,将向量(余弦)相似度最高的检索结果反馈,通过提示词工程包装,输入给LLM,得到较为精准的回答,从而实现长期的记忆 ;下面是典型RAG的重要组成:
- 索引:用于从源引入数据并对其进行索引的管道。这通常发生在离线状态。
- 检索和生成:实际的 RAG 链,它在运行时接受用户查询并从索引中检索相关数据,然后将其传递给模型。与问题组合为一个新的提示词,输入给LLM;
索引
-
数据加载:首先我们要从不同的数据格式中读取数据到向量数据库,在
langchain
中,这通过DocumentLoaders
实现; -
数据拆分:从不同文件中读取的数据会被拆分为数据块;因为向量数据库会分别计算不同数据块与用户输入的向量相似度,如果数据块拆分过大或者一整块(不拆分),则导致很多不相关的信息也会被检索到,如果数据块拆分的太细,则会导致我们读取到的信息不全,也不合适;因此数据拆分时一定要考虑到实际情况,具体问题具体分析,这样计算向量相似度才有意义;
-
数据存储:我们说我们读取的文本数据会被
Embedding
模型经过向量化,转化为向量格式,然后存储到向量数据库中;这样我们才能进行后续的向量相似度计算;本文中篇幅有限,就不描述具体的数学原理了;
检索和生成
- 内容检索:根据用户的输入,使用Retriever从向量数据库中检索相关拆分的结果;
- 内容生成:ChatModel/LLM使用包含问题和检索信息的提示来生成答案;
RAG应用是LLM应用中除了聊天机器人外最有可能落地的应用了!
应用示例:
- 医学咨询:RAG系统先检索相关医学文献,再由LLM生成基于最新研究的回复,提供专业且可靠的医学建议。
- 法律咨询:在法律咨询中,RAG系统可以检索法律条文和案例,生成详细且准确的法律建议。
- 简历挑选:在企业招聘过程中,HR通过使用基于企业内网知识库的RAG系统可以从海量简历中自动检索出符合公司业务需求的面试者,并提供的薪资和面试建议。
- 个人学习:对于个人学习者,可以基于本地化部署的知识库和LLM API和Ollama构建个人知识库RAG系统,更好的检索知识,提高学习效率,避免遗忘;并可以实时接收AI 安排的计划,进行针对性的学习;
4. AI Agent
AI Agent是一个以大语言模型(LLM)为核心的程序,旨在实现用户设定的一些目标或任务*。LLM获取反馈信息,并选择使用预设或新建的工具(函数),以迭代运行方式完成任务。Agent拥有复杂的工作流程,模型本质上可以自我对话,而无需人类在每一部分驱动和交互。
应用示例:
- 金融助手:集成市场数据、交易平台等模块,提供实时金融分析和投资建议。
- 旅行助手:通过集成航班信息、酒店预订等服务,提供一站式旅行规划和预订服务。
现在国内外各大平台都推出了自己的Agent构建框架,包括无代码和低代码,如百度的文心智能体,字节跳动的coze:开源平台也有一部分Workflow的Agent项目,例如FastGPT和Dify大家可以去尝试一下;
如果你对AI Agent感兴趣,也可以关注我的Agent系列专栏
写在最后
在本文中,作者详细介绍了LLM的概念和国内外的大模型,并简单说明了LLM的原理;通过LLM的功能,我们可以想象到其巨大的潜力,而RAG和Agent等应用,又为其赋予了科幻、未来的面纱;哈哈真令人兴奋;🤤🤤 作者作为一个GISer,LLM的发展和GIS的结合能让将科幻电影中的某些事物在现实中实现,这些迷人的动机不断诱惑着作者;
😀幸运的是,作者是一名开发者,有实现这个理想的技术基础,希望各位读者不要把作者当做变态😂
LLM作为生成式AI的核心技术,具备强大的能力和广泛的应用前景。尽管存在一些挑战和风险,但通过合理的技术手段和伦理考量,我们可以充分利用LLM的优势,为各行各业带来深远的变革和创新。开发者们可以通过不断学习和探索,抓住这一机遇,在成就自我的过程中也放大自己的社会价值;
所以,诸君😺😺😺,作者不说废话了,不妨从今天开始,动手Coding,LLM学起来!!!!
相关链接
GitHub地址
拓展阅读
专栏地址
如果觉得我的文章对您有帮助,三连+关注便是对我创作的最大鼓励!或者一个star🌟也可以😂.