从零开始微调大模型,部署智能体在网页

1.收集论文数据

从学术数据库或开放资源平台下载相关领域的PDF论文,确保数据覆盖研究主题的核心内容。常用的数据来源包括arXiv、PubMed、IEEE Xplore等。筛选高质量论文,避免重复或低相关性文献。

2.minerU转换PDF论文为Md文件

MinerU官网直接下载相应版本。

使用工具如minerU将PDF论文转换为Markdown格式,便于后续处理。确保转换后的文本保留关键信息(如标题、摘要、正文、参考文献),并清理无关内容(页眉、页脚、图表描述等)。检查格式一致性,避免转换错误。

MinerU转换为md格式

3.Easy DataSet调用ollama大模型生成问题

https://github.com/ConardLi/easy-dataset?tab=readme-ov-file可以下载APP版本,或者使用docker部署。

添加模型,可以使用购买的API或者本地部署大模型。

添加大模型

通过Easy DataSet工具调用ollama大模型,基于Markdown内容自动生成问答对。提示词需明确指定问题类型(如事实提取、推理分析等),生成后人工校验问题的准确性和多样性。

Easy DataSet导出json训练集

将生成的问答对整理为结构化JSON格式,字段包括questionanswercontext。验证数据完整性后导出。

4.在Docker容器下启动LLama微调

可采用conda或者docker部署LLama。

conda

git clone https://github.com/hiyouga/LLaMA-Factory.git conda create -n llama_factory python=3.10 -y conda activate llama_factory cd LLaMA-Factory # 临时使用清华源安装依赖(替换为你需要的安装命令) pip install -r requirements.txt --index-url https://pypi.tuna.tsinghua.edu.cn/simple

docker部署代码:

git clone --branch v0.9.3 https://github.com/hiyouga/LLaMA-Factory.git LLaMA-Factory-0.9.3 cd LLaMA-Factory\docker\docker-cuda docker-compose up –d

创建包含微调环境的Docker镜像,依赖项包括PyTorch、Transformers库等。启动容器。示例命令:

docker run --gpus all -it --rm -p 17860:17860 -v D:\LLaMA-Factory-0.9.3\data:/app/data -v D:\LLaMA-Factory-0.9.3\output:/app/output -v D:\model:/models docker-cuda-llamafactory:latest
llamafactory-cli webui
隧道转发

注意如果是集群部署,GPU计算节点访问直接访问不了,可以通过隧道转发

配置双层端口转发访问 GPU 节点 Web UI

确保 Web UI 在 c001 节点运行
在 c001 GPU节点终端确认 Web UI 服务已启动,输出类似Running on local URL: http://0.0.0.0:7860。若未运行,需先启动服务。

Xshell 隧道转发配置
打开连接至 mn01 的 Xshell 会话,进入属性设置:

  • 导航至文件属性隧道添加
  • 参数配置:
    • 类型:本地(Outgoing)
    • 源主机:127.0.0.1
    • 源端口:7860(本地映射端口)
    • 目标主机:192.168.100.1(c001 内网 IP)
    • 目标端口:7860(c001 服务端口)
      保存配置后重新连接会话以激活隧道。

本地浏览器访问
在浏览器地址栏输入http://127.0.0.1:7860,流量将通过 Xshell 隧道经 mn01 转发至 c001 的 7860 端口,实现直接访问。

技术原理
Xshell 的本地隧道功能建立了一条加密通道,将本地端口请求逐跳转发至目标内网节点,绕过管理节点的端口限制。此方法适用于集群内网服务的穿透访问,稳定性优于临时端口映射。

下载大模型

下载模型,使用pip或者git

pip install modelscope modelscope download --model deepseek-ai/DeepSeek-R1-Distill-Qwen-32B git clone https://www.modelscope.cn/deepseek-ai/DeepSeek-R1-Distill-Qwen-32B.git
加载大模型

写入存在共享盘的大模型地址加载模型。

微调大模型

在dataset_info加入file_name。

在LLama上载入数据集,调整参数开始训练。

5.导出微调模型部署

微调完成后保存模型权重和配置文件到指定目录。使用transformers库的save_pretrained方法导出模型,确保包含adapter_config.jsonpytorch_model.bin文件。验证模型性能后压缩为.tar.gz便于传输。

6.使用dify部署智能体

dify平台创建新应用,上传微调模型或通过API连接模型服务。配置智能体的名称、描述和对话流程,设置访问权限和监控指标。测试智能体响应质量后发布,获取API端点或嵌入代码。

7.在网站前端嵌入代码