LLaMA-Factory+Ollama远程服务器摆设,知识库微调训练及文本向量提取

[复制链接]
发表于 2025-10-22 14:44:40 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
参考


  • LLaMA-Factory官网https://llamafactory.readthedocs.io/zh-cn/latest/#
  • LLaMA-Factory+Ollama利用流程 https://zhuanlan.zhihu.com/p/991206079
微调和搭建知识库的区别


  • rag须要载体(类似向量数据库,文档等)去承载知识库。
  • 微调直接将功能参加到模子当中。
  • 针对场景而定,团结知识库比力机动,节省训练的算力。微调简朴粗暴,有模子即可举行推理。
摆设

默认cuda安装都已经完成,网上许多教程,不在这里多说。
运行以下指令以安装 LLaMA-Factory 及其依赖:
  1. # 获取项目
  2. git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git
  3. # 进入项目
  4. cd LLaMA-Factory
  5. # 创建环境
  6. conda create -n llama_factory python=3.10
  7. # 激活环境
  8. conda activate llama_factory
  9. # 安装依赖
  10. pip install -e ".[torch,metrics]"
复制代码
完成安装后,可以通过利用 llamafactory-cli version 来快速校验安装是否乐成。
如果能乐成看到类似 “Welcome to LLaMA Factory, version ······” 的字样,分析安装乐成。

启动

进入webui
  1. llamafactory-cli webui
复制代码
打开链接即可看到训练平台。

利用训练平台

WebUI 紧张分为四个界面:训练、评估与猜测、对话、导出。
1.训练

须要指定的参数有:

  • 模子名称及路径
  • 训练阶段
  • 微调方法
  • 训练数据集
  • 学习率、训练轮数等训练参数
  • 微调参数等其他参数
  • 输出目次及设置路径
    比如说,我选择的就是Baichuan-7B-Base的中文对话模子,数据集也选择的是alpaca的中文数据集。
    随后,可以点击 开始 按钮开始训练模子。
注!!!若利用CPU训练大概会报Warning,如果自己就用cpu,忽略即可,如果要用gpu,应该是torch没下载配套cuda,重新安装torch即可办理题目
  1. # 卸载 重新下载
  2. pip uninstall torch
  3. pip install torch
  4. # python执行
  5. import torch
  6. # 是否有gpu
  7. print(torch.cuda.is_available())
  8. # gpu型号
  9. print(torch.cuda.get_device_name(0))
复制代码


2.评估猜测与对话

模子训练完毕后,通过在评估与猜测界面通过指定 模子 及 适配器 的路径在指定命据集上举行评估。
也可以通过在对话界面指定 模子、 适配器 及 推理引擎 后输入对话内容与模子举行对话观察结果。
3.导出

在导出界面通过指定 模子、 适配器、 分块巨细、 导出量化品级及校准数据集、 导出装备、 导出目次 等参数后,点击 导出 按钮导出模子。
(如果须要摆设到Ollama上,请肯定记得把模子导出)
示例:微调中文对话大模子
利用alpaca_zh_demo数据集微调Llama-3-8B-Chinese-Chat模子
训练过程的Loss曲线如下:
导出模子:

4.利用自己的数据举行微调

添加数据集信息

路径地点:/root/scratch/LLaMA-Factory/data

在dataset_info.json中参加自己的数据集名称和位置。custom_data为数据集的名称,test.json为位置,位置路径默以为在/root/scratch/LLaMA-Factory/data/test.json这个位置。
weiui同步可以表现名称

添加自己的数据

/root/scratch/LLaMA-Factory/data/test.json在这里添加数据
模子转换

模子导出

llama_factory中导出,比如导出文件夹地点为/root/scratch/LLaMA-Factory/saves/test

转换工具安装

git地点:https://github.com/ggml-org/llama.cpp
  1. cd /root/scratch/LLaMA-Factory
  2. git clone https://github.com/ggml-org/llama.cpp
  3. cd llama.cpp
  4. python convert_hf_to_gguf.py /root/scratch/LLaMA-Factory/saves/test \
  5. --outfile /root/scratch/LLaMA-Factory/saves/output-100.gguf --outtype q8_0
复制代码
注!!地点肯定要选择导出的地点
导入ollama


  • 创建Modelfile.txt
    空的就可以 地点在/root/scratch/LLaMA-Factory/saves/test_ollama/Modelfile.txt
  • 文件中写入转换后的gguf地点
    FROM /root/scratch/LLaMA-Factory/saves/output-100.gguf
  • 导入
  1. ollama create model_name -f /root/scratch/LLaMA-Factory/saves/test_ollama/Modelfile.txt
复制代码
模子转向量

作用:
如果服务器没有可以利用大模子的条件,可以用这个方法转换为向量,利用向量作分类算法大概存储的向量数据库中做查重,可以大概利用到大模子的一点功能。
  1. # 查看拥有的模型
  2. ollama list
  3. # 返回
  4. NAME               ID              SIZE      MODIFIED   
  5. deepseek-r1:14b    ea35dfe18182    9.0 GB    5 days ago
  6. model_name:latest    4060b56febd6    1.6 GB    2 minutes ago
  7. # 激活环境
  8. conda activate llama_factory
  9. # 安装包
  10. pip install langchain_ollama
  11. # 执行脚本
  12. from langchain_ollama import OllamaEmbeddings
  13. # 使用 Ollama Embeddings 模型
  14. embeddings = OllamaEmbeddings(model="deepseek-r1:14b")
  15. # 嵌入查询文本
  16. result = embeddings.embed_query("My query to look up")
  17. print(result)
复制代码
后续工作

可以参考openwebui与ollama的团结
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表