最近,随着人工智能技术的快速发展,越来越多的研究人员和开发者开始关注如何构建强大的AI大模型环境,以支持各种复杂的自然语言处理任务。其中,基于检索-生成器(Retrieval-Augmented Generation,简称RAG)架构的数据查询模型备受关注,因为它能够结合从大规模文本语料库中检索信息和生成自然语言文本的能力,实现更加智能和准确的数据查询。
在本文中,我们将探讨如何在windows 11本地环境中搭建一个RAG数据查询的AI大模型环境。首先,我们需要准备以下工具和资源:
先看配置、无GPU:
CPU:i7 1360p,内存:16G,硬盘:500G
第一步:安装python环境
在 Windows 11 上安装 Python 环境的步骤和说明
以下是在 Windows 11 上安装 Python 环境的详细步骤和说明:
下载 Python 安装程序:首先,打开浏览器,访问 Python 官方网站(https://www.python.org/downloads/),在该页面上找到适用于 Windows 的3.11版本(版本过高会出现各种疑难杂症)的 Python 安装程序,并点击下载。
运行安装程序:下载完成后,双击运行 Python 安装程序。在安装向导中,确保勾选“Add Python x.x to PATH”选项(x.x 表示 Python 的版本号),然后点击“Install Now”按钮。
安装 Python:安装程序将开始安装 Python,等待安装完成。
验证安装:安装完成后,可以在命令提示符或 PowerShell 中输入以下命令来验证 Python 是否成功安装:
python --version
安装 pip:pip 是 Python 的包管理工具,通常与 Python 一起安装。可以在命令提示符或 PowerShell 中输入以下命令来验证 pip 是否成功安装:
pip --version
使用 Python:现在,您可以在命令提示符或 PowerShell 中输入“python”来启动 Python 解释器,并开始编写和运行 Python 代码。
安装集成开发环境(IDE):如果您需要一个更友好和强大的编码环境,可以安装 Python 的集成开发环境,如 Visual Studio Code、PyCharm 等。
第二步:安装Ollama(LLM模型在最后chat步骤进行在线安装)
下载 Ollama 安装程序:首先,打开浏览器,访问 Ollama 的官方网站(https://ollama.com/),在首页或下载页面上找到适用于 Windows 的 Ollama 安装程序,并点击下载。
运行安装程序:下载完成后,双击运行 Ollama 安装程序。在安装向导中,按照提示完成安装过程。
启动 Ollama:安装完成后,可以在开始菜单中找到 Ollama 快捷方式,双击打开应用程序。
第三步:安装docker desktop
在 Windows 11 上安装 Docker Desktop 的步骤和流程如下:
1. 下载 Docker Desktop:首先,打开浏览器,访问 Docker 官方网站(https://www.docker.com/products/docker-desktop),在该页面上找到适用于 Windows 的 Docker Desktop 安装程序,并点击下载。
2. 运行安装程序:下载完成后,双击运行 Docker Desktop 安装程序。在安装向导中,按照提示完成安装过程。可能需要您授予管理员权限以完成安装。
3. 启用 WSL 2 功能:Docker Desktop 需要使用 Windows Subsystem for Linux 2(WSL 2)来运行容器。确保您已经启用了 WSL 2 功能。您可以在 PowerShell 中运行以下命令来启用 WSL 2
(如wsl2没有安装,请自行csdn或百度安装):
```
wsl --set-default-version 2
```
4. 启动 Docker Desktop:安装完成后,在开始菜单中找到 Docker Desktop 快捷方式,双击打开应用程序。Docker Desktop 将会启动,并在系统托盘中显示 Docker 图标。
通过以上步骤,您就可以在 Windows 11 上成功安装 Docker Desktop,并开始使用 Docker 来管理容器化应用程序。希望这份说明对您有所帮助,祝您在 Windows 11 上愉快地使用 Docker!
docker 安装好后默认镜像都保存在C盘,如果你的C盘容量不够,请设置到其他盘符。
第四步:安装RAGChat(OpenWebUI)
Open WebUI是一个为LLMs(大型语言模型)设计的友好型Web用户界面,支持Ollama和OpenAI兼容的API。它提供了直观的聊天界面、响应式设计、快速响应性能、简易安装、代码语法高亮、Markdown和LaTeX支持、本地RAG集成、Web浏览能力、提示预设支持、RLHF注释、会话标记、模型下载/删除、GGUF文件模型创建、多模型支持、多模态支持、模型文件构建器、协作聊天、OpenAI API集成等功能。
github地址:GitHub - open-webui/open-webui: User-friendly WebUI for LLMs (Formerly Ollama WebUI)
安装方式:右键cmd 或 powershell 粘贴下下面代码:
1、本地ollama和docker同一台机器:
docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
2、ollama和docker不在同一台机器:
docker run -d -p 3000:8080 -e OLLAMA_BASE_URL=https://example.com -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
然后运行,会自动部署到dockerdesktop中。完成后浏览器访问:http://localhost:3000.
第五步:使用OpenWebUI 进行安装模型。
1、先登录OpenWebUI ,需要注册一个管理员账号。
2、登录到系统后,配置ollama地址。左下角有用户名,点击用户名进入设置,会弹出如下窗口。
3、下载模型并加载模型,这里需要选择:模型,然后去ollama官网下载你喜欢的模型。将下面图三的模型复制到方框中进行下载。(注意:下载过程中前期比较快,但到96%后可能较慢,请您耐心等待)
等待完成后即可在openwebui中顶部中间位置选择模型。然后创建聊天即可完成。
第六步:微调自己喜欢的模型。
如果你的电脑性能不够(又想试一下怎么微调模型),可以白嫖google的colab进行训练。接下来就教大家怎么用colab训练llama3.
一、准备工作
1. 访问Unsloth
Unsloth是由Daniel Han 和 Michael Han 创建,并迅速成为为完善大型语言模型(LLM)微调过程而量身定制的优化框架。Unsloth 以其敏捷性和内存效率而闻名,其训练速度可提高 30 倍,内存使用量显著减少 60%。
访问Unsloth的GitHub地址:https://github.com/unslothai/unsloth,点击”▶️Start on Colab””即可打开Colab训练脚本。
点击后即可跳转到colab中,界面如下:
2. 连接T4 GPU
你可以免费使用Google提供的GPU资源,选择连接T4。当连接成功后,就可以开始了。
你可以在弹框中选择T4 GPU。
当链接成功后,开始咱们的微调吧!
点击运行,这段代码主要是安装Unsloth和模型训练相关的必要库。
展示执行时间表示已经执行过了。
二、步入正题
按照步骤执行(不会出错)
如果你有抱脸账号,最后可以将训练出来的guuf文件上传到自己的抱脸model空间中。
微调注意事项:
1、Data Prep步骤中的数据集可以更换成自己的知识库。知识库需要整理成json格式文件,另外,如果你想更换成自己DataSet可以将其整理好后上传huggingface,并更换DataSet数据集的地址。
原训练地址:yahma/alpaca-cleaned
dataset = load_dataset("yahma/alpaca-cleaned", split = "train")
知识库json文件格式如下:instruction:指令 ,input:输入,output:输出
上传后huggingface数据预览:
2、Saving to float16 for VLLM 这一步可以不用执行。
3、保存最终guuf注意事项,需要将本地和huggingface的保存代码变更为:True。
上传到huggingface,需要更换用户名/模型(hf/model)为自己的模型空间,然后添加token。
token获取:
完成后(本地保存)请到左侧文件夹按钮操作你的guuf文件并下载到自己电脑,
(huggingface保存)即可到自己的 huggingface model空间下载到自己电脑。
最后就是下载自己训练好的模型进行使用(可以百度ollama 加载guuf文件)。
如果不知道怎么用openwebui使用guuf模型,请将下载好的文件放到一个文件夹。
创建modelfile文件,没有后缀,文件中编写如下:
FROM ./Llama3-8B-Chinese-Chat.Q4_K_M.gguf
TEMPLATE """{{ if .System }}<|start_header_id|>system<|end_header_id|>
{{ .System }}<|eot_id|>{{ end }}{{ if .Prompt }}<|start_header_id|>user<|end_header_id|>
{{ .Prompt }}<|eot_id|>{{ end }}<|start_header_id|>assistant<|end_header_id|>
{{ .Response }}<|eot_id|>"""
PARAMETER stop "<|start_header_id|>"
PARAMETER stop "<|end_header_id|>"
PARAMETER stop "<|eot_id|>"
PARAMETER stop "<|reserved_special_token"
其中的:Llama3-8B-Chinese-Chat.Q4_K_M.gguf,改成自己的模型名称。
最后使用ollama进行加载和允许。方法:在此文件夹CMD,输入:
ollama create llama3:8b -f Modelfile
ollama run llama3:8b
(黄色为名字,可以按照自己心情定:自己喜欢的花花草草、猫猫狗狗、人名都可以)
最后去openwebui里面选择自己的模型就可以愉快的玩耍咯。
如大家还有不清楚的,请留言,抽时间给大家解答。