- 作者:
- 分类:知识&开发->AI->LLM大预言模型
- 阅读:2292
- 点赞:2
- 版权:CC BY-SA 4.0
- 创建:2025-02-06
- 更新:2025-02-07
原文链接(持续更新):https://neucrack.com/p/560
什么情况下选择 ollama
ollma 做了不错的封装,底层是 llama-cpp,一键上手运行,适合懒人用户,同时提供 API 服务,可以直接用其它 WEB UI 连接或者 VSCode 这种代码编辑器使用。
安装必要环境
这里略过安装 cuda 驱动等环节,请自行搜索或者看我的其它文章。
安装 ollama
这里以 Linux 为例,其它平台差不多,国内最麻烦的就是网络到国外太慢,需要代理,照猫画虎即可。
- 最好先备好一个速度快的代理,可以在本机用代理软件开一个 http代理端口。
- 按照 https://ollama.com/download 官方进行下载安装,默认会安装到全局,需要root权限。
- 可以先把终端设置好代理再安装,最简单的是临时设置终端代理变量,注意是临时的,关闭终端就不生效了:
export HTTPS_PROXY=http://127.0.0.1:8123
export HTTP_PROXY=http://127.0.0.1:8123
选择需要的模型
选择需要的模型,到ollama官方 https://ollama.com/search 找需要的模型,比如这里用 deepseek-R1-32B。
从图中可以看到多个选项,每个模型用的基础模型可能不用,比如这个 32b 其实是用 deepseek-r1 的输入输出蒸馏出的小模型,实际模型是qwen2,我们用这个尝试,因为deepseek-r1 模型太大了电脑不一定跑得起来。
另外也可以去huggingface 找 gguf 格式的模型 https://huggingface.co/models?search=gguf , 不过ollama运行gguf格式需要编写一个modelfile 文件,所以能直接在ollama官方下载的尽量在官方下载。
下载模型
自动下载 ollama官方
直接执行 ollama run deepseek-r1:32b
就会自动下载并运行模型,也可以只下载ollama pull deepseek-r1:32b
,不过值得注意的是,这里终端设置的代理可能不会生效,下载可能会很慢,因为 ollma 是作为一个 systemd 服务运行的,需要设置 systemd 的代理:
sudo vim /etc/systemd/system/ollama.service
[Service]
中添加代理设置
[Service]
Environment="HTTPS_PROXY=http://127.0.0.1:8123"
Environment="HTTP_PROXY=http://127.0.0.1:8123"
然后
sudo systemctl daemon-reload
sudo systemctl restart ollama.service
然后可以验证
sudo systemctl show ollama | grep Environment
看到自己的配置
这样 ollama 才能使用代理。
自动下载 huggingface
比如:
ollama run hf.co/unsloth/DeepSeek-R1-GGUF:Q4_K_M
手动加载 gguf 模型
还没试过,不过应该是用 ollama create
命令创建,需要自己写modlefile,类似 dockerfile, 参考 https://github.com/ollama/ollama/blob/main/docs/modelfile.md
使能局域网其它主机访问或者远程访问
默认只能本机访问,如果要其它主机也能访问,需要设置:
同样编辑 systemd 配置文件
sudo vim /etc/systemd/system/ollama.service
添加
[Service]
Environment="OLLAMA_HOST=0.0.0.0"
Environment="OLLAMA_ORIGINS=*"
模型文件下载下来放置的位置:
- macOS: ~/.ollama/models
- Linux: /usr/share/ollama/.ollama/models
- Windows: C:\Users\%username%.ollama\models
可以看到下面有一堆 类似 docker镜像的 blobs 和 manifests 文件,所以必须要用ollama 来下载不能自己手动在 huggingface上下载模型文件用。。。
web ui 网页界面交互
按照 https://github.com/open-webui/open-webui 安装,注意需要特定的 python 版本以上才行,如果你的系统python 版本太低可以安装一个 miniconda 创建一个虚拟环境比如 python3.11:
conda create -n py3.11 python=3.11
conda activate py3.11
然后安装运行就好可以在网页端http://localhost:8080
打开了:
pip install open-webui
open-webui serve
需要注意的是 serve 命令也会需要自动下载一些小模型(从hugingface),所以最好还是先开代理运行把模型下载下来。直到显示 running on http://0.0.0.0:8080 (Press CTRL+C to quit)
之后才算真的运行起来了。
另外没有代理可能界面会没有内容,会卡在 get_model 一步,也是网络问题,请求openai卡住了,解决方法也是开着代理用,不过最好代理软件把 localhost 127.0.0.1 192.168.. 这样的地址过滤掉(比如 proxychains 的配置文件里面就可以配置过滤内网地址)不然开了代理软件后虽然能访问hugingface和openai github了但是localhost却无法访问了。。。
或者把使用 openai 关掉,以及手动设置 ollama ip地址:
比如改成这样
VSCode 中使用
使用 Continue 插件,添加一个自定义 Ollama 模型,填写地址即可,参考 https://docs.continue.dev/customize/model-providers/ollama