首先我们要新建一个文件夹创建.modelfile文件并将模型文件也放入其中,两者最好名字相同避免混乱。

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

接下来我们编辑.modeldile文件,以我创建的testmodel.modelfile文件为例,在Linux上我建议使用vim,打开文件夹输入:

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 解释人工地层冻结的主要制冷方法。

 这是我个人认为比较重要的几个参数,如果想知道全部参数,可以去modelfile官方文档看一下(ollama/docs/modelfile.md at main · ollama/ollama · GitHub

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.5)将对重复进行更严厉的惩罚,而较低的值(例如,0.9)将更宽松。 (默认值:1.1)

repeat_last_n参数设置模型回溯多远以防止重复。 (默认值:64,0 = 禁用,-1 = num_ctx)

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

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐