Bootstrap

在电脑本地运行llama3-8b模型

流程

ollama支持可运行的模型,图片这里只是一部分而已,只需要下载下面的软件和模型文件,即可直接运行,而无需配置其他
模型文件下载地址
https://ollama.com/library
支持的部分模型,实际上更多,这里只是显示部分
在这里插入图片描述

登陆ollama官网
https://ollama.com/download
下载对应你电脑的软件即可
在这里插入图片描述

我的

因为我本地已经有一个gguf模型了,我的需求是将这个模型加载进ollama,然后运行
因此我在桌面建了一个txt文件
内容为:

FROM C:/Users/Administrator/.ollama/models/blobs/LexiFun-Llama-3-8B-Uncensored-V1_Q8_0.gguf

# set prompt template
TEMPLATE """[INST] <<SYS>>{{ .System }}<</SYS>>

{{ .Prompt }} [/INST]
"""

# set parameters
PARAMETER stop "[INST]"
PARAMETER stop "[/INST]"
PARAMETER stop "<<SYS>>"
PARAMETER stop "<</SYS>>"

# set system message
SYSTEM """
you are a good assistant
"""

意思是导入gguf模型文件,设定回答模板,为模型指定角色
然后使用ollama根据这个text设置,将本地模型安装进ollama,为其指定名字为ll3

ollama create ll3 -f  c:/00mycfile/desktops/文档/modelCmd.txt

在这里插入图片描述
后续如果要运行,不再需要重新安装,只需要

ollama run ll3

若是想要移除这个模型,将run改册成rm

案例

下载好后运行,
进入cmd窗口
在这里插入图片描述
查看版本

ollama -v

查看已经安装的模型

ollama list

ollama 还可以以 API 的方式调用,比如执行 ollama show --help 可以看到本地访问地址为:http://localhost:11434![
在这里插入图片描述
https://ollama.com/library
打开llama的模型网站,我们随机选择一个模型,就可以看到
在这里插入图片描述

复制上面的命令

ollama run llama2-uncensored

输入cmd窗口,模型即可自动下载与安装,
然后使用

ollama list

查看即可
然后可以使用

ollama run   模型名

运行安装的模型

运行模型后的可用命令
显示帮助命令-/?
/?
Available Commands:
/set Set session variables
/show Show model information
/load Load a session or model
/save Save your current session
/bye Exit
/?, /help Help for a command
/? shortcuts Help for keyboard shortcuts

Use “”" to begin a multi-line message.
显示模型信息命令-/show
/show
Available Commands:
/show info Show details for this model
/show license Show model license
/show modelfile Show Modelfile for this model
/show parameters Show parameters for this model
/show system Show system message
/show template Show prompt template
显示模型详情命令-/show info
/show info

这样一个模型就运行在本地了

api调用

generate 接口

curl http://localhost:11434/api/generate -d '{
  "model": "gemma:2b",
  "prompt":"你是一个好助手吗?"
}'

每个词将会分段返回
如果想要一次性返回可以加参数"stream": false

chat接口

curl http://localhost:11434/api/chat -d '{
  "model": "gemma:2b",
  "messages": [
    { "role": "user", "content": "你是好助手吗?" }
  ]
}'

generate 是一次性生成的数据。chat 可以附加历史记录,多轮对话。

llama.cpp

llama.cpp的主要目标是能够在各种硬件上实现LLM(大型语言模型)推理,提供1.5位、2位、3位、4位、5位、6位和8位整数量化,用来减小内存使用和加快推理速度.当然精度会变差,其作用是给模型瘦身
https://github.com/ggerganov/llama.cpp/releases
下载这个工具,根据需要下载
在模型瘦身之前,目录结构如下
在这里插入图片描述
这只是一个案例参考,模型文件根据你的需要会有不同
gguf是一个包文件,打包了所有运行模型需要的配置以及参数,方便快速部署,而不是需要多个软件分别加载
将其打包为gguf代码如下,如果已经有gguf文件,则忽略

python .\convert.py C:\llama-2-13b-chat

进行精度转换,32位转4位瘦身,可以将原本16g的gguf模型缩小为4g左右

quantize.exe C:\ggml-model-f32.gguf C:\ggml-model-Q4_0.gguf Q4_0

然后运行这个gguf如同之前一样就可以了

;