一些概念
什么是满血版/蒸馏版
在机器学习和深度学习中,模型蒸馏是一种将大型模型(满血版)压缩为小型模型(蒸馏版)的技术。
原理:
- 使用大型模型(教师模型)的输出作为监督信号,训练一个小型模型(学生模型)。
- 学生模型通过学习教师模型的"知识",达到接近教师模型的性能。
满血版 是 DeepSeek 的完整形态,性能强大但资源需求高,蒸馏版 是轻量级版本,适合资源有限的场景,但性能有所下降。
性能对比:
维度 | 满血版 | 蒸馏版 |
---|---|---|
模型参数**** | 6710 亿参数 | 1.5B、7B、8B、14B、32B、70B 等多种规模 |
推理能力 | 支持复杂推理、长链推理(CoT) | 推理能力较弱,适合简单场景 |
语言能力 | 生成内容质量高,逻辑性强 | 生成内容质量较低,可能出现逻辑错误 |
数学能力 | 高精度数学运算 | 保留部分数学能力,但精度下降 |
代码能力 | 支持复杂代码生成 | 仅支持简单代码生成,可能存在 bug |
硬件资源:
维度 | 满血版 | 蒸馏版 |
---|---|---|
硬件需求 | 需多个GPU 服务器(单卡显存 >120GB)例4090*2+382GB内存 | 7B 版本可在 16GB 显存的显卡运行,例4050+16G内存 |
部署成本 | 高昂(单机成本 >20 万元) | 较低(最低配置成本约 1 万元) |
适用设备 | 高性能服务器 | 普通消费级显卡、移动端设备 |
为什么本地部署
- 免费: 本地的模型部署随便玩,不用担心任何付费,你只需要投入一个好设备就行。
- 数据隐私: 当我们使用云端的大模型时,所有的数据都需要上传到服务器进行处理。这就意味着我们的数据可能会被其他人访问或泄露。如果你要做一些对敏感数据的分析任务,比如公司内网的数据和代码,都需要担心数据泄露的问题,很多公司也有明确的限制不能将敏感数据泄露给外部模型。而本地部署大模型则可以完全避免这个问题,因为所有的数据都存储在本地,不会上传到云端。
- 无额外限制: 网络上的大模型通常为了符合法律法规以及自身的运营策略,往往会设置严格的内容审查机制。所以在某些敏感话题上,模型的回答会受到限制,即模型给出的回答是基于预设的价值观和规则,而非纯粹基于数据和算法逻辑。
- 无需网络依赖: 本地部署的模型无需网络依赖,你可以在没有网络连接的情况下随时使用,不受网络环境的限制。
- 灵活定制: 网上也有很多提供知识库能力的服务,但是因为有数据泄漏的问题,我们可能不敢上传敏感数据,而且一般此类服务都是收费的。本地部署大模型后,我们可以利用自己的数据集对模型进行微调,打通自己的知识库,使其更贴合特定领域的应用,比如编程、法律、财经、科研等领域。通过定制化,模型能够给出更精准、更符合需求的回答和解决方案,提升应用效果。
- 性能和效率: 云端的大模型在处理大量请求时,可能会出现卡顿、延迟等问题。比如 DeepSeek 不管是因为网络攻击,还是单纯的调用量大,都会频繁出现服务异常,非常影响使用体验。而本地部署的大模型则可以充分利用本地的硬件资源,如 CPU、GPU 等,从而提高处理速度和效率。此外,本地部署的大模型还可以避免网络延迟的问题,让我们能够更快地得到结果。
什么是LLM 应用开发平台
LLM 应用开发平台 是专为大规模语言模型(Large Language Model, LLM)应用设计的一整套工具和服务,旨在帮助开发者更高效地构建、管理、部署和维护基于 LLM 的应用。这类平台通过提供从模型选择、数据处理、训练调优到部署监控的全流程支持,简化了 LLM 应用的开发复杂度,使开发者能够专注于业务逻辑和创新,而无需深入底层技术细节。
一些常见的平台:
工具/平台 | 类型 | 核心特点 | 适用场景 |
---|---|---|---|
ChatBox | 本地聊天客户端 | 轻量级、支持多种 LLM | 本地调试、对话测试 |
Open WebUI | Web 界面 | 可视化、可扩展 | 企业或个人 LLM 应用 |
Cherry Studio | 低代码平台 | 拖拽式开发、快速构建 | 快速原型开发、非技术用户 |
Page Assist | 浏览器扩展 | 实时 AI 辅助、网页内容处理 | 提升浏览效率、内容处理 |
LangChain | 开发框架 | 灵活、支持复杂逻辑 | 定制化 AI 应用开发 |
AnythingLLM | 企业级 LLM 平台 | 私有化部署、RAG 集成 | 企业知识库、智能问答系统 |
Ragflow | RAG 框架 | 高效检索、生成能力强 | 文档密集型问答系统 |
如果是开发者,推荐 LangChain 或 ChatBox,如果是企业用户,推荐 AnythingLLM 或 Ragflow,如果是非技术用户,推荐 Cherry Studio 或 Page Assist。
什么是RAG技术
RAG(Retrieval-Augmented Generation,检索增强生成) 是一种结合了信息检索和文本生成的技术,主要用于提升大语言模型(LLM)在问答、对话和内容生成等任务中的准确性和可靠性。RAG 的核心思想是通过检索外部知识库或文档来增强生成模型的能力,从而生成更准确、更有依据的答案。
简单理解就是:给模型配个外挂, 比如一个学生考试不会做题,但是旁边有个超级图书馆,每次做题前都翻一下图书馆里面的书,答案马上就精准了,RAG就是这么回事。所以一般配合大模型来进行检索,一般有以下步骤:
- 准备知识库,把一堆文档(比如公司文档,历史文章等等)整理好,存在一个图书馆里。
- 当问模型问题时,他先去图书馆搜索相关的资料,然后结合自己的知识融会贯通,最后进行回答。
- 模型本身不会改变,只是多个查资料的步骤。
通过以上例子可以看出,RAG 技术的核心优势在于:
- 准确性:答案基于检索到的权威信息,避免生成错误内容。
- 可解释性:用户可以查看检索到的文档片段,验证答案来源。
- 动态更新:只需更新知识库,系统就能提供最新信息。
RAG 技术特别适合需要高准确性和可解释性的场景,如企业知识库、教育问答、医疗诊断等。
完整的RAG应用流程主要包含两个阶段:
- 数据准备阶段:数据提取->文本分割->向量化(embedding)->数据入库
- 应用阶段:用户提问->数据检索(召回)->注入Prompt->LLM生成答案
什么是AI Agent
AI Agent(人工智能代理) 是一种能够自主感知环境、做出决策并执行任务的智能系统。它结合了人工智能(AI)技术,如机器学习、自然语言处理(NLP)、计算机视觉等,能够模拟人类的行为或完成特定任务。
简单介绍就是:比如你想开一家网红奶茶店,Al Agent会掏出手机查 《商业计划书模板》,再自动注册公司账号,然后用Stable Diffusion设计LOG0,最后给外卖平台写AP1接入代码。优点是:能联动多个AI工具。
再比如:比如你想让Al Agent给你订一个情人节餐厅,它就会帮你爬取全网差评一排除评分<4.5的店;然后调用导航API计算最优路线,然后用你银行卡预存金额订位;最后生成《约会话术大全》发你邮箱。
AI Agend不单单是一个LLM对话机器人,或者单一的图片/代码生成工具,而是结合了多种大模型工具并结合工作流的智能体,真正模拟人类行为来完成复杂任务。
Ollama安装和介绍
Ollama介绍
Ollama 是本地运行大模型的一款工具,支持在 Mac 、Linux 、Windows 上下载并运行对应的模型。
核心功能:
- 简化部署:Ollama简化了在 Docker 容器中部署大型语言模型的过程,即使是非专业用户也能轻松管理和运行这些复杂的模型。
- 模型管理:支持多种流行的大型语言模型,如Llama、Falcon等,并提供丰富的命令行工具和用户友好的 WebUI界面。
- 模型定制:用户可以通过 Modelfile文件自定义模型参数和行为,实现模型的个性化设置。
技术优势:
- 轻量级与可扩展:Ollama保持较小的资源占用,同时具备良好的可扩展性,允许用户根据硬件条件和项目需求进行优化。
- API 支持:提供简洁的 API 接口,方便开发者集成到各种应用程序中。
使用场景:
- 本地开发:开发者可以在本地环境中快速部署和测试大型语言模型,无需依赖云端服务。
- 数据隐私保护:用户可以在本地运行模型,确保数据不离开本地设备,从而提高数据处理的隐私性和安全性。
- 多平台支持:Ollama支持 macOS、Windows、Linux以及容器,具有广泛的适用性。
Ollama的目标是让大型语言模型的使用更加简单、高效和灵活,无论是对于开发者还是终端用户。
Ollama安装
- 访问官网 ollama.com/download 下载Ollama安装包并安装到本机,网速慢的可以使用迅雷下载。
- 安装完成后可以通过 ollama --version 查看版本号。
- 访问官网 ollama.com/search 选择一个需要部署的大模型,可以根据电脑配置合理选择需要部署的大模型,我这里选择 **deepseek-r1:7b。
- 看到下图内容,表示安装成功:
Dify安装和介绍
Dify介绍
Dify 是一款开源的大语言模型(LLM) 应用开发平台。它融合了后端即服务(Backend as Service)和 LLMOps 的理念,使开发者可以快速搭建生产级的生成式 AI 应用。即使你是非技术人员,也能参与到 AI 应用的定义和数据运营过程中。
Dify 内置了构建 LLM 应用所需的关键技术栈,包括对数百个模型的支持、直观的 Prompt 编排界面、高质量的 RAG 引擎、稳健的 Agent 框架、灵活的流程编排,并同时提供了一套易用的界面和 API。这为开发者节省了许多重复造轮子的时间,使其可以专注在创新和业务需求上。
聊天机器人:
丰富的插件:
工作流:
Dify安装
安装docker
确保本机安装了Docker,如果没有, 需要先前往Docker官网下载并安装。
配置镜像地址:
json
"registry-mirrors": [
"https://hub-mirror.c.163.com",
"https://docker.m.daocloud.io",
"https://ghcr.nju.edu.cn",
"https://mirror.baidubce.com",
"http://dockerhub.azk8s.cn",
"https://mirror.ccs.tencentyun.com",
"https://docker.mirrors.ustc.edu.cn",
"https://docker.nju.edu.cn",
"https://2h3po24q.mirror.aliyuncs.com",
"https://docker.1ms.run"
]
安装Dify
- git clone github.com/langgenius/... 下载Dify源码。
- 进入 Dify 源代码的 Docker 目录
bash
cd dify/docker
- 复制环境配置文件
bash
cp .env.example .env
-
启动 Docker 容器(docker会找到docker-compose.yaml文件下载并启动)
docker compose up -d
-
运行命令后,看到下面所示后表示安装并启动成功:
6. 检查容器是否正常运行
docker ps
Dify关联大模型
安装全部完成后,可以在浏览器进入 http://localhost/apps 。第一次进入dify需要注册账号,按注册表单进行即可。
在Dify中关联本地大模型。右上角下拉选择设置 - 模型供应商 - 选择Ollama - 添加模型:
进入主页后就可以创建自己的大模型AI Agent了。
Dify知识库 (RAG)
开发者可以将企业内部文档、FAQ、规范信息等内容上传至知识库进行结构化处理,供后续 LLM 查询。
相比于 AI 大模型内置的静态预训练数据,知识库中的内容能够实时更新,确保 LLM 可以访问到最新的信息,避免因信息过时或遗漏而产生的问题。
LLM 接收到用户的问题后,将首先基于关键词在知识库内检索内容。知识库将根据关键词,召回相关度排名较高的内容区块,向 LLM 提供关键上下文以辅助其生成更加精准的回答。
Embedding
Embedding 嵌入是一种将离散型变量(如单词、句子或者整个文档)转化为连续的向量表示的技术。它可以将高维数据(如单词、短语或图像)映射到低维空间,提供一种紧凑且有效的表示方式。这种表示不仅减少了数据的维度,还保留了重要的语义信息,使得后续的内容检索更加高效。
知识库:
在知识库,选择合适的文件,上传后可以选择对应的Embedding模型:
系统按照用户自定义的规则将内容拆分为独立的分段。当用户输入问题后,系统自动分析问题中的关键词,并计算关键词与知识库中各内容分段的相关度。
根据相关度排序,选取最相关的内容分段并发送给 LLM,辅助其处理与更有效地回答,目前有score和topK两种指标。
召回测试
其中:
-
Top K:
- 定义:表示从文档库中检索出的与输入最相关的K个文档或段落。
- 作用:用于限制生成器使用的文档数量,确保生成内容基于最相关的信息。
-
Score:
- 定义:表示检索到的文档或段落与输入的相关性分数,通常由检索模型计算。
- 作用:分数越高,文档与输入的相关性越强,生成器会优先使用高分文档。
创建自己的AI 智能体吧
根据上面的步骤,创建自己的AI 智能体吧。