Ollama是一个简明易用的本地大模型运行框架,可以一键启动启动并运行Llama 3、Mistral、Gemma和其他大型语言模型。
安装
MacOS,Windows用户直接在官网下载页下载安装包即可。Linux系统运行如下命令安装
curl -fsSL https://ollama.com/install.sh | sh
使用
Usage:
ollama [flags]
ollama [command]
Available Commands:
serve Start ollama
create Create a model from a Modelfile
show Show information for a model
run Run a model
pull Pull a model from a registry
push Push a model to a registry
list List models
cp Copy a model
rm Remove a model
help Help about any command
Flags:
-h, --help help for ollama
-v, --version Show version information
Use "ollama [command] --help" for more information about a command.
- server 启动ollama服务
- create 通过Modelfile文件创建一个模型
- show 显示模型信息
- run 本地启动模型,就可以在命令行进行模型推理了
- pull 拉去模型
- push 推送模型 类似docker镜像
- list 列出本地已有的模型
- cp 复制一个模型
- rm 删除本地模型
运行:
ollama run llama3
如果模型不存在,会自动下载模型。
官方模型镜像库 ollama.com/library ,可以在这里找到你想要的模型
然后直接运行ollama run 模型名称
即可
以下是一些可以下载的示例模型:
Model | Parameters | Size | Download |
---|---|---|---|
Llama 3 | 8B | 4.7GB | ollama run llama3 |
Llama 3 | 70B | 40GB | ollama run llama3:70b |
Phi-3 | 3,8B | 2.3GB | ollama run phi3 |
Mistral | 7B | 4.1GB | ollama run mistral |
Neural Chat | 7B | 4.1GB | ollama run neural-chat |
Starling | 7B | 4.1GB | ollama run starling-lm |
Code Llama | 7B | 3.8GB | ollama run codellama |
Llama 2 Uncensored | 7B | 3.8GB | ollama run llama2-uncensored |
LLaVA | 7B | 4.5GB | ollama run llava |
Gemma | 2B | 1.4GB | ollama run gemma:2b |
Gemma | 7B | 4.8GB | ollama run gemma:7b |
Solar | 10.7B | 6.1GB | ollama run solar |
Note: 你应该至少有8gb的内存来运行7B型号,16gb的内存来运行13B型号,32gb的内存来运行33B型号。
用户界面
目前已经非常多开源界面支持ollama接口了,具体可以查看github.com/ollama/olla…
我们选用openwebui.com/, 使用docker一键运行
docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
然后浏览器打开http://localhost:3000/
,注册账号即可开启跟ChatGPT一样的界面进行聊天了
REST API
文本生成
curl http://localhost:11434/api/generate -d '{
"model": "llama3",
"prompt":"Why is the sky blue?"
}'
对话模型
curl http://localhost:11434/api/chat -d '{
"model": "llama3",
"messages": [
{ "role": "user", "content": "why is the sky blue?" }
]
}'
更多可以查看api文档
将Ollama
服务暴露给网络
设置环境变量OLLAMA_HOST=0.0.0.0
,然后重启服务即可
在Linux环境下,Ollama默认作为systemd服务运行,因此需要修改ollama.service文件设置环境变量:
vim /etc/systemd/system/ollama.service
重载systemd
并重启Ollama:
systemctl daemon-reload
systemctl restart ollama
自定义系统提示
创建一个Modelfile文件
from llama3
PARAMETER temperature 1
PARAMETER num_ctx 6000
PARAMETER top_k 50
PARAMETER top_p 0.95
SYSTEM """
尽你的最大可能和能力回答用户的问题。不要重复回答问题。语言要通顺流畅。不要出现刚说一句话,过一会又重复一遍的愚蠢行为。
RULES:
- Be precise, do not reply emoji.
- Always response in Simplified Chinese, not English. or Grandma will be very angry.
"""
然后执行命令:ollama create llama3-chinese -f Modelfile
。
然后重新运行模型 ollama run llama3-chinese
即可