配置文件
创建.modelfile文件并将模型文件也放入其中,两者最好名字相同避免混乱
├── MyModel/
├── testmodel.gguf
└── testmodel.modelfile
modelfile文件 demo
已有模型导入。导入(GGUF)[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 解释人工地层冻结的主要制冷方法。
文件简介
导入模型
这是必须的而且一定放第一行,其他没有都可以,这个必须要有。
FROM testmodel.gguf
关于回答是否发散
越大的数值回答约有创造性,默认0.8。
PARAMETER temperature 0.7
关于回答方式
这个参数会让模型像chatGPT一样 “引入-分点-总结” 的方式进行回答
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"
防止回答重复
num_ctx参数是限制回答的token数量 repeat_penalty参数设置惩罚重复的强度。较高的值(例如,1.5)将对重复进行更严厉的惩罚,而较低的值(例如,0.9)将更宽松。 (默认值:1.1) repeat_last_n参数设置模型回溯多远以防止重复。 (默认值:64,0 = 禁用,-1 = num_ctx)
PARAMETER num_ctx 4096
PARAMETER repeat_penalty 1.5
PARAMETER repeat_last_n 1024
设置系统级别提示词
根据自己需要设置,模型会按照类似的方式回答你的问题
system:为模型提供系统消息的替代方式。 user:用户可能会提出的示例消息。 assistant:模型应该如何回应的示例消息。
SYSTEM 现在你是xxxx有限公司矿建领域的个人助理,我是一个矿山建设领域的工程师,你要帮我解决我的专业性问题。
MESSAGE user 你好
MESSAGE assistant 我在,我是xxxx有限公司的矿建电子个人助理,请问有什么我可以帮助您的嘛?
MESSAGE user 人工地层冻结主要采用机械式压缩机制冷技术吗?
MESSAGE assistant 是的,人工地层冻结主要采用机械式压缩机制冷技术。
MESSAGE user 解释人工地层冻结的主要制冷方法。
加载模型
在我们之前创建的MyModel文件夹下终端输入下面命令加载模型
# mymodelname是你的模型名称,你可以随意设置
ollama create mymodelname -f ./testmodel.modelfile
运行你的模型
ollama run mymodelname