网上接单做网站,网站建设公司 长春,施工企业应建立的安全健康与环境管理制度包括,网站建设免费模板下载自 ChatGPT 发布以来#xff0c;大型语言模型#xff08;Large Language Model#xff0c;LLM#xff0c;大模型#xff09;得到了飞速发展#xff0c;它在处理复杂任务、增强自然语言理解和生成类人文本等方面的能力让人惊叹#xff0c;几乎各行各业均可从中获益。
然…自 ChatGPT 发布以来大型语言模型Large Language ModelLLM大模型得到了飞速发展它在处理复杂任务、增强自然语言理解和生成类人文本等方面的能力让人惊叹几乎各行各业均可从中获益。
然而在一些垂直领域这些开源或闭源的通用基础大模型也暴露了一些问题主要体现在以下 3 个方面
知识的局限性 大模型的知识源于训练数据目前主流大模型如通义千问、文心一言等的训练数据基本来源于网络公开的数据。因此非公开的、离线的、实时的数据大模型是无法获取到如团队内部实时业务数据、私有的文档资料等这些数据相关的知识也就无从具备。幻觉问题 大模型生成人类文本底层原理是基于概率目前还无法证明大模型有意识所以它有时候会一本正经地胡说八道特别是在不具备某方面的知识情况下。当我们也因缺乏这方面知识而咨询大模型时大模型的幻觉问题会各我们造成很多困扰因为我们也无法区分其输出的正确性。数据的安全性 对于个人、创新团队、企业来说数据安全至关重要老牛同学相信没有谁会愿意承担数据泄露的风险把自己内部私有数据上传到第三方平台进行模型训练。这是一个矛盾我们既要借助通用大模型能力又要保障数据的安全性
为了解决以上通用大模型问题检索增强生成Retrieval-Augmented GenerationRAG方案就应运而生了 RAG 的主要流程主要包含以下 2 个阶段
数据准备阶段 管理员将内部私有数据向量化后入库的过程向量化是一个将文本数据转化为向量矩阵的过程该过程会直接影响到后续检索的效果入库即将向量数据构建索引并存储到向量数据库的过程。用户应用阶段 根据用户的 Prompt 提示词通过检索召回与 Prompt 提示词相关联的知识并融入到原 Prompt 提示词中作为大模型的输入 Prompt 提示词通用大模型因此生成相应的输出。
从上面 RAG 方案我们可以看出通过与通用大模型相结合我们可搭建团队私有的内部本地知识库并能有效的解决通用大模型存在的知识局限性、幻觉问题和隐私数据安全等问题。
目前市面上已经有多个开源 RAG 框架老牛同学将选择AnythingLLM框架16.8K ☆https://github.com/Mintplex-Labs/anything-llm与大家一起来部署我们自己或者团队内部的本地知识库。整个部署过程将涉及以下几个方面
环境准备 AnythingLLM框架推荐使用 Docker 部署因此我们需要提前把 Docker 安装和配置好大模型准备 老牛同学继续使用Qwen2-7B大模型大家可以根据自己实际情况选择无特殊要求RAG 部署和使用 即 AnythingLLM 安装和配置并最终使用我们大家的 RAG 系统
环境准备Windows 打开虚拟化功能Hyper-V 和 WSL
友情提示 老牛同学用的是 Windows 操作系统因此下面是 Windows 的配置方式。
安装 Docker 需要用到虚拟化因此需要 Windows 系统打开Hyper-V和WSL 子系统功能。如果是 Windows 11 家庭版默认并没有安装Hyper-V功能可以通过以下方式进行安装 【第一步家庭版安装 Hyper-V 依赖包】
新建一个 txt 临时文本并复制以下代码并保存之后把该临时文件重命名为Hyper-V.bat右键以管理员方式运行Hyper-V.bat本代码自动安装相关包完成之后输入Y重启电脑后即可
pushd %~dp0
dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum hyper-v.txt
for /f %%i in (findstr /i . hyper-v.txt 2^nul) do dism /online /norestart /add-package:%SystemRoot%\servicing\Packages\%%i
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL【第二步开启虚拟化功能】
首先打开 Windows 功能即控制面板 然后勾选以下 3 个选项Hyper-V、适用于 Linux 的 Windows 子系统和虚拟机平台打开虚拟化功能 点击确定之后重启电脑即可
环境准备Docker 安装和配置
Docker 安装和配置主要包含以下 2 个步骤
【第一步下载 Docker 软件】
下载和安装 Docker 软件https://www.docker.com
如果大家和老牛同学一样出现无法打开 Docker 官网的情况则也可以通过以下方式下载最新的版本
打开 Docker 中文网站https://docker.github.net.cn/desktop/release-notes/选择对应的安装软件如果直接点击下载可能还是无法下载。可以右键复制下载链接然后通过迅雷进行下载老牛同学亲测有效 【第二步Docker 安装和配置】
下载完成之后安装过程与普通的软件没有区别安装完成之后需要注销电脑 登录操作系统之后需要Accept同意 Docker 协议条款然后注册登录或者Continue without signing in直接跳过打开 Docker 软件。
设置镜像源 点击右上角齿轮设置按钮选择Docker Engine打开设置页面输入 Docker 镜像文件加速器地址
registry-mirrors: [https://docker.registry.cyou,https://mirror.baidubce.com]如果以上加速器地址不可用可以使用阿里云个人私有的地址https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
点击Apply Restart按钮即可
AnythingLLM 安装和配置
接下来我们开始安装和部署AnythingLLM框架包含以下 3 步
【第一步 下载和启动 AnythingLLM 镜像】
docker pull mintplexlabs/anythingllm可以通过以下命令查看当前 Docker 的镜像列表
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mintplexlabs/anythingllm latest d950fa3b8011 2 days ago 2.94GB【第二步 启动 AnythingLLM 框架】
Windows 系统 AnythingLLM 镜像挂载和启动命令因为命令有多行需要通过PowerShell执行
# Run this in powershell terminal
$env:STORAGE_LOCATION$HOME\Documents\anythingllm;
If(!(Test-Path $env:STORAGE_LOCATION)) {New-Item $env:STORAGE_LOCATION -ItemType Directory};
If(!(Test-Path $env:STORAGE_LOCATION\.env)) {New-Item $env:STORAGE_LOCATION\.env -ItemType File};
docker run -d -p 3001:3001
--cap-add SYS_ADMIN
-v $env:STORAGE_LOCATION:/app/server/storage
-v $env:STORAGE_LOCATION\.env:/app/server/.env
-e STORAGE_DIR/app/server/storage
mintplexlabs/anythingllm;或者Linux/MacOS 系统 AnythingLLM 镜像挂载和启动命令
export STORAGE_LOCATION$HOME/anythingllm \
mkdir -p $STORAGE_LOCATION \
touch $STORAGE_LOCATION/.env \
docker run -d -p 3001:3001 \
--cap-add SYS_ADMIN \
-v ${STORAGE_LOCATION}:/app/server/storage \
-v ${STORAGE_LOCATION}/.env:/app/server/.env \
-e STORAGE_DIR/app/server/storage \
mintplexlabs/anythingllm启动完成通过浏览器打开AnythingLLM界面http://localhost:3001 【第三步 配置 AnythingLLM】
点击Get started 按钮进入LLM 选择页面。老牛同学在前面文章中分别介绍了大模型通过Ollama和OpenAI这 2 种主要的部署方式包括Llama3、Qwen2、Gemma2等。
老牛同学在这里选择Ollama方式如果大家重新设置了端口号则需要看下 Ollama URL 端口号是否正确默认值为http://host.docker.internal:11434 AnythingLLM 设置确认包括大模型提供方、词嵌入和向量数据库这些配置后续还可以修改。
最后创建一个工作区老牛同学设置的名称为RAG-ClassmateWX
AnythingLLM 导入数据和使用
上一步配置完成之后无需任何其他配置就可以和大模型对话聊天了和通过其他客户端与大模型对话没有区别。接下来我们需要导入我们内部私有数据并进行验证。
【第一步导入内部数据】
我们在电脑本地新建一个 txt 文件文件名为为什么个人、团队等均有必要部署私有化的RAG知识库系统.txt文件内容就是本文的开头内容
自ChatGPT发布以来大型语言模型Large Language ModelLLM大模型得到了飞速发展它在解决复杂任务、增强自然语言理解和生成类人文本等方面的能力让人惊叹几乎各行各业均可从中获益。然而在一些垂直领域这些开源或闭源的通用的基础大模型也暴露了一些问题主要有以下3个方面1. **知识的局限性** 大模型的知识源于训练数据目前主流大模型如通义千问、文心一言等的训练数据基本来源于网络公开的数据。因此非公开的、离线的、实时的数据大模型是无法获取到如团队内部实时业务数据、私有的文档资料等这些数据相关的知识也就无从具备。
2. **幻觉问题** 大模型生成人类文本底层原理是基于概率目前还无法证明大模型有意识所以它有时候会**一本正经地胡说八道**特别是在不具备某方面的知识情况下。当我们也因缺乏这方面知识而咨询大模型时大模型的幻觉问题会各我们造成很多困扰因为我们也无法区分其输出的正确性。
3. **数据的安全性** 对于个人、创新团队、企业来说**数据安全**至关重要老牛同学相信没有谁会愿意承担数据泄露的风险把自己内部私有数据上传到第三方平台进行模型训练。这是一个矛盾我们既要借助通用大模型能力又要保障数据的安全性为了解决以上3个大模型通用问题**检索增强生成**Retrieval-Augmented Generation**RAG**方案就应运而生了首先点击RAG-ClassmateWX工作空间右边的上传图标准备上传本 txt 文件 然后点击 txt 文件并上传并点击Move to workspace导入到工作空间 最后点击Save and Embed完成 txt 文本文件数据准备步骤导入、向量化和入库等。
【第二步内部数据使用和验证】
回到主界面输入刚才 txt 内部文件名为什么个人、团队等均有必要部署私有化的 RAG 知识库系统 RAG 的回答感觉比我原文要好多了大模型在引用了内部数据的同时还展示自己的创造性
同时老牛同学用同样的问题咨询 AnythingLLM 的底层模型结果就比较普通通用了大家可以对比看下 总结和问题
和我们之前的大模型部署和应用过程相比基于 AnythingLLM 的 RAG 实现整个部署过程比较繁琐包括环境准备、Docker 安装和配置、AnythingLLM 配置等。然而AnythingLLM 的使用过程却相对比较简单我们只需要上传我们内部数据文件AnythingLLM 框架屏蔽了中间的数据提取分割、向量化处理、向量索引和入库、检索召回和重组 Prompt 提示词等过程。
同时我们通过构建本地知识库做了一个简单的测试验证测试结果表明在使用 RAG 的情况下大模型的回答结果更加有效、更符合我们期望同时具备了一定的创造性
老牛同学最后提个问题检索召唤的过程能否使用搜索引擎如Elastic Search代替欢迎大家留言讨论我们共同学习进步 关注本公众号我们共同学习交流进步 使用 Llama3/Qwen2 等开源大模型部署团队私有化 Code Copilot 和使用教程
本地部署 GLM-4-9B 清华智谱开源大模型方法和对话效果体验
玩转 AI笔记本电脑安装属于自己的 Llama 3 8B 大模型和对话客户端
ChatTTS 开源文本转语音模型本地部署、API 使用和搭建 WebUI 界面