问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

使用Ollama配置本地微调的gguf模型文件

创作时间:
作者:
@小白创作中心

使用Ollama配置本地微调的gguf模型文件

引用
CSDN
1.
https://blog.csdn.net/weixin_43217276/article/details/140790668

本文将详细介绍如何使用Ollama配置本地微调的gguf模型文件。通过在Ubuntu系统上安装Ollama、准备模型文件以及加载模型,用户可以快速部署和使用大语言模型。

一、安装Ollama

在Linux系统上,可以使用以下命令安装Ollama:

curl -fsSL https://ollama.com/install.sh | sh

如果上述命令无法正常运行,可以访问Ollama的官方安装页面:https://ollama.com/install.sh,手动下载并运行安装脚本。

安装完成后,可以尝试运行一个开源模型测试是否成功:

ollama run llama3.1

在对话框中输入/help查看可用指令,输入/bye退出对话模式。

二、准备工作

首先需要创建一个文件夹,并在其中创建.modelfile文件和模型文件,建议将两者命名为相同名称以避免混淆:

├── MyModel/
    ├── testmodel.gguf
    └── testmodel.modelfile

接下来编辑.modelfile文件,以下是一个示例配置:

FROM testmodel.gguf
# 设置temperature为1,更高的数值回答更加发散,更低的数值回答更加保守
PARAMETER temperature 0.7
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"
# 设置tokens限制
PARAMETER num_ctx 4096
PARAMETER repeat_penalty 1.5
PARAMETER repeat_last_n 1024
# 设置系统级别的提示词
SYSTEM 现在你是xxxx有限公司矿建领域的个人助理,我是一个矿山建设领域的工程师,你要帮我解决我的专业性问题。
MESSAGE user 你好
MESSAGE assistant 我在,我是xxxx有限公司的矿建电子个人助理,请问有什么我可以帮助您的嘛?
MESSAGE user 人工地层冻结主要采用机械式压缩机制冷技术吗?
MESSAGE assistant 是的,人工地层冻结主要采用机械式压缩机制冷技术。
MESSAGE user 解释人工地层冻结的主要制冷方法。

以下是几个关键参数的说明:

1. 导入模型

FROM testmodel.gguf

这是必须的且必须放在第一行。

2. 回答发散度

PARAMETER temperature 0.7

数值越大,回答越有创造性,默认值为0.8。

3. 回答方式

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|>"""

这个参数会让模型像ChatGPT一样以"引入-分点-总结"的方式回答。

4. 停止回答条件

PARAMETER stop "<|start_header_id|>"
PARAMETER stop "<|end_header_id|>"
PARAMETER stop "<|eot_id|>"
PARAMETER stop "<|reserved_special_token"

遇到这些特殊标记时停止回答。

5. 防止重复

PARAMETER num_ctx 4096
PARAMETER repeat_penalty 1.5
PARAMETER repeat_last_n 1024
  • num_ctx参数限制回答的token数量。
  • repeat_penalty设置重复惩罚强度,默认值为1.1。
  • repeat_last_n设置模型回溯距离以防止重复,默认值为64。

6. 系统级别提示词

SYSTEM 现在你是xxxx有限公司矿建领域的个人助理,我是一个矿山建设领域的工程师,你要帮我解决我的专业性问题。
MESSAGE user 你好
MESSAGE assistant 我在,我是xxxx有限公司的矿建电子个人助理,请问有什么我可以帮助您的嘛?
MESSAGE user 人工地层冻结主要采用机械式压缩机制冷技术吗?
MESSAGE assistant 是的,人工地层冻结主要采用机械式压缩机制冷技术。
MESSAGE user 解释人工地层冻结的主要制冷方法。

可以根据需要设置系统级别的提示词,模型会按照类似的方式回答问题。

三、加载模型

在之前创建的MyModel文件夹下,使用以下命令加载模型:

ollama create mymodelname -f ./testmodel.modelfile

其中mymodelname是自定义的模型名称。

运行模型:

ollama run mymodelname

这样就完成了模型的部署和运行。对于更多详细信息,可以参考Ollama的官方文档。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号