以下皆为本人在学习 LLM 过程的个人见解,如果有问题请纠正~
预期收获
- 了解 LLM 的基础概念和原理。
- 介绍一些常用的 LLM 开源工具。
- 了解什么是基于 LLM 的生成式 AI 平台和应用引擎。
- 实践 Ollama+Deepseek+Dify 本地部署
LLM 基本概念
大规模语言模型(LLM)是基于 Transformer 架构训练的模型,通过大量文本数据的训练学习语言规律,实现自然语言的理解与生成。核心特征是:
- 大规模参数:通常包含数十亿到数万亿参数,通过海量数据训练。
- 上下文感知:利用自注意力机制捕捉文本中的长距离依赖关系。
- 通用性强:可处理多种语言任务(如问答、翻译、文本生成等)。
发展历程
- 早期阶段:依靠统计方法(例如 n-gram 模型),仅能够处理局部的语言模式,依赖局部词频来预测文本。
- 深度学习的革命:RNN(循环神经网络)、LSTM(长短期记忆网络)等模型被引入,但是这些模型不能进行并行运算,并且在处理长文本的能力方面受到限制。
- Transformer 突破:2017 年提出了 Transformer 架构,引入了自注意力机制,支持并行计算并解决了长依赖问题。
- 现代 LLM 崛起:GPT(生成式预训练)、BERT(双向编码)等模型出现,推动了自然语言处理能力的飞跃。
核心原理
- Transformer 架构:LLM 的核心,基于自注意力机制(Self-Attention),能够学习能够实现复杂上下文理解,高效地处理长文本并捕捉全局上下文。
- 自注意力机制(Self-Attention):通过计算词与词之间的关联权重,动态聚焦关键信息,捕捉全局上下文。
流程:输入文本 → Token 化 → Token ID → 词嵌入 + 位置编码 → 编码器 / 解码器 → 输出
LLM 训练流程
- 预训练:在未标注的大规模文本数据(如书籍、网页)上训练模型,学习语言的语法、语义和上下文规律。
- 监督微调:预训练后通过标注数据调整模型参数进行微调,适配特定任务或指令响应能力,例如文本生成、问答系统、对话生成等。
- 强化学习优化:基于人类反馈训练奖励模型,通过策略迭代提升输出安全性与有用性。
- 推理部署:采用模型压缩与硬件适配技术,实现低资源消耗的线上服务部署。
常见的 LLM:
- GPT 系列(OpenAI 的 GPT-3、GPT-4、GPT-4o)
- BERT 和 T5(用于特定任务,如问答、文本分类)
- Claude(由Anthropic公司创造)
- DistilBERT
- LLama(Meta 的开源大模型)
- 豆包
生成式 AI 引擎的工作原理
生成式 AI 应用引擎是一种基于大规模语言模型(LLM)和智能体(Agent)的系统,能够帮助用户生成、分析、执行各种任务和内容。其核心目标是通过 AI 技术自动化繁琐任务、提升效率、并提供个性化的服务。
应用场景:
- 文本、音视频生成:如自动写作、文章摘要、对话生成等。
- 代码生成(AI2Code):自动生成代码片段,提升开发效率。
RAG(Retrieval-Augmented Generation)
RAG是一种结合了检索(Retrieval)和生成(Generation)技术的自然语言处理方法。它通过在生成文本之前检索相关信息来增强生成过程,从而提高生成结果的质量和准确性。
-
工作原理:RAG 系统首先通过检索模型获取与输入相关的信息,然后将这些信息传递给生成模型,以生成更加丰富和相关的回答。
-
核心作用:
- 突破 LLM 知识限制,解决 LLM 无法访问专有信息(如企业数据库)的问题。
- 提升生成准确性,通过引用可靠数据源减少事实性错。
- 增强可解释性,生成内容可追溯至具体文档段落,比如标注引用来源。
-
工作原理
- 检索器:从外部知识库中查找与用户问题相关的文本片段。
- 生成器:结合检索结果与 LLM 生成连贯回答。
- 校验器:确保生成内容的准确性与合规性。
-
实际应用:
- 智能问答系统:利用 RAG 从文档库中检索信息并生成回答。
- 知识库管理:为企业或开发者提供通过查询生成定制化内容的能力。
Prompt
Prompt 是输入给语言模型的文本指令,通过设计有效的 Prompt,可以引导模型生成符合预期的结果。
-
核心作用:
- 明确具体任务(例如"撰写一篇关于AI伦理的文章")
- 激活相关知识(例如提供示例后要求进行模仿)
- 控制输出的风格(例如"使用Markdown表格进行总结")
-
Prompt 设计技巧:
- 使用简洁、明确的语言来描述任务。
- 尝试不同的提示结构,找到最佳的表达方式。
- 考虑对话的上下文,约束强化,避免模型产生不相关或模糊的响应。
AI Agent
AI Agent 是一种能在特定环境中自主行动、感知、决策并完成目标的智能系统。
-
工作原理:AI Agent 通过生成式 AI 理解用户请求,结合 RAG 获取实时信息,自动分解任务(如查数据→调用 API→反馈结果),最终执行操作并生成响应。
-
特点:
- 自主性:无需人类逐步骤指导,自动完成复杂任务(如策划旅行、管理日程)。
- 工具集成:调用外部工具(搜索引擎、API、机器人)突破纯文本能力。
- 动态规划:分解任务为子步骤(如 "写论文"→查资料→列大纲→撰写),并灵活调整。
-
应用示例:
- 智能客服:自动处理用户的查询并生成响应。
- 自动化任务执行:根据指令调用外部 API 来完成任务,如预订机票、查询天气等。
-
总结:AI Agent = LLM + 自主规划 + 工具集成
Ollama + DeepSeek + Dify 本地部署实践
我们使用 Ollama 部署 Deepseek-R1,然后用 Docker 部署 Dify,再在 Dify 中接入 Ollama 模型,然后使用 Dify 搭建 AI 应用。
安装 Ollama
Ollama是一个开源的 LLM(大型语言模型)服务工具,用于简化在本地部署和管理大模型、降低使用大语言模型的门槛,它通过命令行工具和 API 接口,让开发者、研究人员和爱好者无需依赖云端服务即可高效运行 Qwen2、DeepSeek、Llama3、Phi3、Gemma2等开源的大型语言模型。
进入ollama官网,下载安装 Ollama,安装好了之后就可以在右上角看到一个羊驼的图标,使用ollama -v 命令测试一下是否安装成功或者可以直接访问 localhost:11434, 因为Ollama会在本地服务监听 11434 端口。
从 Ollama 上拉取模型
我们可通过ollama.com/search查看 Ollama 支持的模型。其中,QwQ-32B 最为热门。在此,我们以 deepseek-r1:latest 作为测试对象,因其参数较小。请结合自身电脑配置,选取所需镜像。拉取 deepseek-r1:latest 镜像。首次操作时,会先进行拉取,然后运行。执行以下命令以拉取镜像:
arduino
ollama run deepseek-r1:latest
/bye 退出对话
如果需要停止或卸载模型,可以使用以下命令:
arduino
ollama stop deepseek-r1:latest
可视化 AI 交互 ChatBox
Chatbox 是一款开源的、跨平台的AI 客户端应用和智能助手,支持众多先进的 AI 模型和 API,可在 Windows、MacOS、Android、iOS、Linux 和网页版上使用,提升本地模型交互体验。
- 官网安装对话窗口 ChatBox。
- 下载后打开客户端,模型提供方选择 Ollama API,API 域名就是我们上面提到的本地 11434 端口的服务,另外它可以自动识别你的电脑上已经通过 Ollama 安装的模型。
- 测试一下使用效果。
使用 Docker 部署 Dify
Dify 是一个生成式 AI 应用创新引擎,开源的 LLM 应用开发平台。提供从 Agent 构建到 AI workflow 编排、RAG 检索、模型管理等能力,轻松构建和运营生成式 AI 原生应用。
- 安装 Docker,访问 Docker 官方网站 进行安装。
- 从 github上下载 Dify zip文件然后进行解压。
- 进入 docker 目录,配置环境变量。
bash
cd dify
cd docker
cp .env.example .env
-
docker compose 启动容器。
docker compose up -d
可以看到有9个容器跑起来,这些都是 Dify所需要的所有镜像。
- Dify 初始化配置
打开浏览器访问地址:http://localhost/install ,初次安装需要设置管理员账号,然后完成登录,就可以看到主页了。
- 配置模型
在设置中添加 Ollama,选择 deepseek-r1 模型,路径在主页的设置->模型供应商里,注意这里的 URL 是 Docker 容器的内部 IP 地址 host.docker.internal:11434 或者局域网的 IP 地址。添加完成后可以在模型列表中看到刚刚添加的模型。
- 搭建工作流完成一个简单实战
这里我们上传一个MarkDown文件,作为测试的知识库,里面是一些商品的信息,编排一个简单的工作流,上传可以看到知识库前后检索的效果
测试 MarkDown 知识库的内容如下:
商品目录
欢迎来到我们的商品目录。以下是部分精选商品的信息与价格。
电子产品
智能手机 - Galaxy S25 Ultra
- 品牌: Samsung
- 型号: Galaxy S25 Ultra
- 屏幕尺寸: 6.8英寸 Dynamic AMOLED 2X
- 处理器: Exynos 2300 / Snapdragon 8 Gen 3(根据地区不同)
- 内存: 12GB RAM
- 存储选项: 256GB / 512GB / 1TB
- 后置摄像头: 四摄系统,主镜头108MP
- 前置摄像头: 40MP
- 电池容量: 5000mAh
- 价格: ¥9,999