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
如果模型不存在,会自动下载模型。
官方模型镜像库 https://ollama.com/library ,可以在这里找到你想要的模型
然后直接运行ollama run 模型名称
即可
以下是一些可以下载的示例模型:
Model Parameters Size Download Llama 3 8B 4.7GBollama 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接口了,具体可以查看https://github.com/ollama/ollama?tab=readme-ov-file#community-integrations
我们选用https://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
即可