ollama导入huggingface下载的大模型并量化

1. 导入GGUF 类型的模型

1.1 先在huggingface 下载需要ollama部署的大模型
1.2 编写modelfile

在ollama 里面输入

sh 复制代码
ollama show --modelfile <你有的模型名称>
eg:
ollama show --modelfile qwen2.5:latest

修改其中的from 路径为自己的模型下载路径

modelfile 复制代码
FROM /Users/lzx/AI/llm/lmstudio-community/Llama-3-Groq-8B-Tool-Use-GGUF
TEMPLATE """{{- if .Messages }}
{{- if or .System .Tools }}<|im_start|>system
{{- if .System }}
{{ .System }}
{{- end }}
{{- if .Tools }}

# Tools

You may call one or more functions to assist with the user query.

You are provided with function signatures within <tools></tools> XML tags:
<tools>
{{- range .Tools }}
{"type": "function", "function": {{ .Function }}}
{{- end }}
</tools>

For each function call, return a json object with function name and arguments within <tool_call></tool_call> XML tags:
<tool_call>
{"name": <function-name>, "arguments": <args-json-object>}
</tool_call>
{{- end }}<|im_end|>
{{ end }}
{{- range $i, $_ := .Messages }}
{{- $last := eq (len (slice $.Messages $i)) 1 -}}
{{- if eq .Role "user" }}<|im_start|>user
{{ .Content }}<|im_end|>
{{ else if eq .Role "assistant" }}<|im_start|>assistant
{{ if .Content }}{{ .Content }}
{{- else if .ToolCalls }}<tool_call>
{{ range .ToolCalls }}{"name": "{{ .Function.Name }}", "arguments": {{ .Function.Arguments }}}
{{ end }}</tool_call>
{{- end }}{{ if not $last }}<|im_end|>
{{ end }}
{{- else if eq .Role "tool" }}<|im_start|>user
<tool_response>
{{ .Content }}
</tool_response><|im_end|>
{{ end }}
{{- if and (ne .Role "assistant") $last }}<|im_start|>assistant
{{ end }}
{{- end }}
{{- else }}
{{- if .System }}<|im_start|>system
{{ .System }}<|im_end|>
{{ end }}{{ if .Prompt }}<|im_start|>user
{{ .Prompt }}<|im_end|>
{{ end }}<|im_start|>assistant
{{ end }}{{ .Response }}{{ if .Response }}<|im_end|>{{ end }}"""
SYSTEM You are watt-tool-8B, a helpful assistant with tool calling capabilities.
复制代码
ollama create Llama-3-Groq-8B-Tool -f config.modelfile

执行创建就完成了

2.导入 safetensors 模型导入Ollama

2.1 先在huggingface 下载需要ollama部署的大模型
这里以llama-3为例子,下载所有的文件,或者使用git 拉代码库,需要git lfs
2.2 安装llama.cpp
git 复制代码
git clone https://github.com/ggerganov/llama.cpp.git
pip install -r requirements.txt
2.3 格式转换

在llama.cpp的安装目录下,执行

python 复制代码
python convert_hf_to_gguf.py "<你下载的模型路径>" --outtype f16 --verbose --outfile "<你要输出的文件位置>"
2.4 然后他就转换为GGUF格式了,就按GGUF格式的来就好啦

3.ollama量化

我发现ollama pull下来的模型大小比直接从huggingface下载下来的SAFE类型小很多,于是去ollama看了下大模型量化
git 复制代码
https://github.com/ollama/ollama/blob/b51e0f397ced70bbfa7f22e9b3c94953967cb8e5/ml/backend/ggml/ggml/src/ggml-quants.h#L17
这个里面是一些常见的量化支持,这里我们选择的是q4_K_M
执行创建命令的时候带上
sh 复制代码
ollama create --quantize q4_K_M <你要在ollama中显示的模型名称> -f Modelfile
相关推荐
GOTXX41 分钟前
【Qt】QWidget 核⼼属性详解
开发语言·前端·c++·qt·机器学习·ai·widget
Dlimeng1 小时前
OpenAI发布GPT-4.1系列模型——开发者可免费使用
人工智能·ai·chatgpt·openai·ai编程·agents·gpt-41
星鹿XINGLOO3 小时前
ChatGPT语音功能在iPad上支持吗?全面解答!
人工智能·安全·ios·ai·chatgpt·语音识别·ipad
老马啸西风6 小时前
open webui 介绍 是一个可扩展、功能丰富且用户友好的本地部署 AI 平台,支持完全离线运行。
人工智能·ai·mcp·ao
中钧科技7 小时前
智能系统:中钧科技的秘密武器
大数据·人工智能·科技·ai·数字化转型
孤蓬&听雨7 小时前
Axure高保真AI算法训练平台
人工智能·算法·ai·产品经理·axure·原型设计
Elastic 中国社区官方博客8 小时前
Elasticsearch 8.18 中提供了原生连接 (Native Joins)
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
huang_xiaoen20 小时前
试一下阿里云新出的mcp服务
人工智能·阿里云·ai·云计算·mcp
x-cmd1 天前
[250415] OpenAI 推出 GPT-4.1 系列,支持 1M token
gpt·ai·openai·gpt-4.1
小白跃升坊1 天前
Chat to MySQL 最佳实践:MCP Server 服务调用
ai·大语言模型·it运维·mcp