LLM 和生成式AI 应用初探:从理论基础到Ollama+DeepSeek+Dify 本地搭建实操

以下皆为本人在学习 LLM 过程的个人见解,如果有问题请纠正~

预期收获

  1. 了解 LLM 的基础概念和原理。
  2. 介绍一些常用的 LLM 开源工具。
  3. 了解什么是基于 LLM 的生成式 AI 平台和应用引擎。
  4. 实践 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 和网页版上使用,提升本地模型交互体验。

  1. 官网安装对话窗口 ChatBox。
  2. 下载后打开客户端,模型提供方选择 Ollama API,API 域名就是我们上面提到的本地 11434 端口的服务,另外它可以自动识别你的电脑上已经通过 Ollama 安装的模型。
  3. 测试一下使用效果。

使用 Docker 部署 Dify

Dify 是一个生成式 AI 应用创新引擎,开源的 LLM 应用开发平台。提供从 Agent 构建到 AI workflow 编排、RAG 检索、模型管理等能力,轻松构建和运营生成式 AI 原生应用。

  1. 安装 Docker,访问 Docker 官方网站 进行安装。
  2. 从 github上下载 Dify zip文件然后进行解压。
  1. 进入 docker 目录,配置环境变量。
bash 复制代码
cd dify
cd docker
cp .env.example .env
  1. docker compose 启动容器。

    docker compose up -d

可以看到有9个容器跑起来,这些都是 Dify所需要的所有镜像。

  1. Dify 初始化配置

打开浏览器访问地址:http://localhost/install ,初次安装需要设置管理员账号,然后完成登录,就可以看到主页了。

  1. 配置模型

在设置中添加 Ollama,选择 deepseek-r1 模型,路径在主页的设置->模型供应商里,注意这里的 URL 是 Docker 容器的内部 IP 地址 host.docker.internal:11434 或者局域网的 IP 地址。添加完成后可以在模型列表中看到刚刚添加的模型。

  1. 搭建工作流完成一个简单实战

这里我们上传一个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

引用

zhuanlan.zhihu.com/p/338817680

jalammar.github.io/illustrated...

相关推荐
十三画者3 分钟前
【工具】IntelliGenes使用多基因组图谱进行生物标志物发现和预测分析的新型机器学习管道
人工智能·python·机器学习·数据挖掘·数据分析
图扑软件16 分钟前
智慧城市新基建!图扑智慧路灯,点亮未来城市生活!
大数据·javascript·人工智能·智慧城市·数字孪生·可视化·智慧路灯
电子科技圈19 分钟前
芯科科技推出的BG29超小型低功耗蓝牙®无线SoC,是蓝牙应用的理想之选
人工智能·嵌入式硬件·mcu·物联网·健康医疗·智能硬件·iot
Dm_dotnet24 分钟前
使用C#创建一个MCP客户端
人工智能
小君27 分钟前
让 Cursor 更加聪明
前端·人工智能·后端
0x21140 分钟前
[论文阅读]Demystifying Prompts in Language Models via Perplexity Estimation
论文阅读·人工智能·语言模型
CS创新实验室1 小时前
LLM(1):了解大语言模型
人工智能·语言模型·自然语言处理·llm·大语言模型
新加坡内哥谈技术1 小时前
阿里巴巴发布 R1-Omni:首个基于 RLVR 的全模态大语言模型,用于情感识别
人工智能·语言模型·自然语言处理
IT从业者张某某1 小时前
大语言模型-1.3-GPT、DeepSeek模型介绍
人工智能·gpt·语言模型·datawhale
游戏智眼1 小时前
AI 游戏的创新与挑战都有哪些?
人工智能·游戏·ai·游戏引擎·aigc