(Windows)Ollama 本地部署 AI 大模型(附 OpenWebUI 部署和 Python 调用教程)
本帖最后由 player-none 于 2025-5-5 23:12 编辑(Windows)Ollama 本地部署 AI 大模型(附 OpenWebUI 部署和 Python 调用教程)
DeepSeek-R1 / Qwen3 / Llama 等 AI 大模型不是梦!
Ollama 是什么?
我们拿 360 软件管家举个例子:它可以管理电脑上的软件,从安装到卸载,一个 360 软件管家就可以解决了。
好吧我编不下去了……不过就大概这个意思,大家 Get 到就行。
Ollama 和 360 软件管家有着共同点:它们都负责某一内容的安装到删除。Ollama 是一个负责管理本地大模型的软件。
不过它们也有不同点,除了负责的内容不一样之外,Ollama 没有 360 各种各样的缺点。
Ollama 安装
打开 Ollama 官网(https://ollama.com/download),点击“Download for Windows”按钮,Ollama 的安装包就会开始下载了,如图所示:
温馨提示:若因网络原因无法顺利下载,请考虑使用 NeatDownloadManager (NDM) / Watt Toolkit / FastGitHub 等工具。
点击“Install”开始安装,然后等进度条走完,整个过程耗时 3-5 分钟左右。注:Ollama 所需内存较大,不适合在虚拟机里安装
使用 Ollama 安装大模型
这是用时最长但最简单的一步了。按下 Win(Windows 徽标键)+R,输入“cmd”(也可以是 powershell),就可以打开终端(界面不一样没关系)。
先输入“ollama help”,显示的文字清楚地显示了 Ollama 的用法。
C:\Users\Administrator>ollama help
Large language model runner
Usage:
ollama
ollama
Available Commands:
serve Start ollama
create Create a model from a Modelfile
show Show information for a model
run Run a model
stop Stop a running model
pull Pull a model from a registry
push Push a model to a registry
list List models
ps List running 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 --help" for more information about a command.
我们想做的是运行大模型(上面所说的 Run a model),我们应该怎么办呢?
C:\Users\Administrator>ollama run --help
Run a model
Usage:
ollama run MODEL
Flags:
--format string Response format (e.g. json)
-h, --help help for run
--insecure Use an insecure registry
--keepalive string Duration to keep a model loaded (e.g. 5m)
--nowordwrap Don't wrap words to the next line automatically
--verbose Show timings for response
Environment Variables:
OLLAMA_HOST IP Address for the ollama server (default 127.0.0.1:11434)
OLLAMA_NOHISTORY Do not preserve readline history
可以看到 ollama run 命令有两个一个固定参数 MODEL 和两个可选参数 PROMPT 和 FLAGS,MODEL 代表 AI 大模型名称,PROMPT 代表我们向 AI 说的话,FLAGS 代表对 AI 回答的要求,上面写的很清楚了。
那 MODEL 该怎么填呢?
我们打开这个链接:https://ollama.com/models,里面有很多大模型:
可是具体需要多少内存呢?这里写的很清楚了:(再往下滑有关于这个大模型的介绍)
如图所示,选择你想下载的版本,例如 qwen3:8b。
所以我们在终端输入 ollama run qwen3:8b,等待下载即可(很慢,建议等的时候做下一步):
我们要等它变成这样:
Ollama 会自动在终端里运行大模型(如果你不想运行的话,下次安装的时候记得使用 ollama pull MODEL,不运行,只拉取(下载)即可。
Docker + OpenWebUI
如果你尝试不看教程直接去官网安装 Docker,你会喜提:
被 qiáng 了。
解决办法是使用镜像站。链接:https://mirrors.aliyun.com/docker-toolbox/windows/docker-for-windows/stable/
接下来我们应该开始安装 Docker。
运行你下载的 Docker Desktop Installer.exe,等待几秒让安装程序做准备(太快了没截下来),再点击“Ok”:
然后静等安装好即可,点击 Close and Restart:
接下来,我们就可以让 Docker 下载 OpenWebUI 了。(我对 Docker 操作不是很熟,不能详细说明每一步的作用)
打开 https://github.com/open-webui/open-webui,可以看见一条命令:
docker run -d -p 3000:8080 --gpus=all -v ollama:/root/.ollama -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:ollama
放终端里运行下就好了。但是!!会很慢!!(自己挂了一个小时之后才想办法找捷径.png)
首先,暴力停止它!!!(Ctrl+C)
然后,把 ghcr.io 改成 ghcr.nju.edu.cn(镜像源)下载速度飞起!!!
打开 Docker,可以看到 OpenWebUI 已经自动运行了。点击这里,打开浏览器:
点这个:
然后输入信息:
Done!
Python 调用
Python 调用 Ollama 需要安装 ollama 库,不难想到吧:
pip install ollama
等它安装完了,我们打开 Python 终端(Win+R,py):
Python 3.12.5 (tags/v3.12.5:ff3bc82, Aug6 2024, 20:45:27) on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from ollama import chat
>>> response = chat(model='qwen3:8b', messages=[
... {'role':'user','content':'你好!你是Qwen3吗?'}]
... )
这个 messages 参数的功能很强大,可以用来做连续对话,这个放到后面讲。
你会发现命令执行下来略有延迟,不用管它,等着就行(咱也没办法啊)。
>>> print(response.message.content)
<think>
嗯,用户问我是Qwen3吗?首先,我需要确认自己是不是Qwen3。根据我的知识,Qwen3是通义千问的最新版本,而我是Qwen2。所以我要告诉用户我不是Qwen3,而是Qwen2。不过,用户可能对版本不太清楚,所以我要解释清楚两者的区别,比如Qwen3可能有更强大的功能或者优化过的模型。同时,我应该保持友好,邀请用户提问,这样他们可以得到更好的帮助。另外,用户可能是在测试我的身份,或者想确认我的功能是否符合他们的需求。所以,我需要用简单明了的语言回答,避免使用专业术语,让用户容易理解。最后,确保回答准确,同时保持亲切的语气。
</think>
你好!我不是Qwen3,我是Qwen2。Qwen3是通义千问的最新版本,而我是Qwen2。如果你有任何问题或需要帮助,我会尽力提供支持!😊
(打脸了)
有谁能解释一下这是为啥?下到盗版的了?(自我感觉不是这样)
由于上面的原因,接下来我们使用 llama3.1:8b 演示。
Python 3.12.5 (tags/v3.12.5:ff3bc82, Aug6 2024, 20:45:27) on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from ollama import chat
>>> response = chat(model='llama3.1:8b', messages=)
>>> print(response.message.content)
1+1等于2。
很简介明了。
我们封装下这个功能:
>>> def ask(msg):
... print(chat(model='llama3.1:8b', messages=).message.content
...
接下来,我们就可以畅快地使用了:
>>> ask('提出让冷清的论坛重新火起来的5点建议')
以下是一些建议来促进冷清的论坛重新活跃:
- **优化论坛结构和用户体验**:检查论坛的布局和设计是否易于使用。确保新用户可以快速找到帮助和支持,内容是组织良好的,并且容易浏览。
- **创建有吸引力的内容策略**:提供高质量、相关、有趣的帖子和讨论主题。这包括发起讨论、分享有价值的信息、寻找专家意见,以及组织活动或竞赛等活动。
- **激励用户参与**:建立奖励计划或激励措施来吸引更多用户。例如,可以给出积分或徽章,或者举办抽奖和竞赛等活动。让用户有动力分享自己的想法、经历和知识。
- **重新连接社区**:重新联系论坛的老成员,并鼓励他们继续参与。这可以通过发起回归计划、组织聚会或线上活动来实现。同时,应积极吸引新成员,以保持增长和动力。
- **利用社交媒体推广**:通过社交媒体(如Face<防审核>book、Twi<防审核>tter等)宣传论坛,并与外部社区建立联系。这有助于吸引新的用户,并将现有会员与其他群体联系起来。
如果我们继续玩儿下去,就会发现有一点让我们很不爽:
等的时间太长了!
我们可以设置这样一个参数:`stream=True`。
>>> stream = chat(model='llama3.1:8b', messages=,stream=True)
>>> for chunk in stream:
... print(chunk.message.content, end='', flush=True)
...
这样就能让 AI 一个词一个词(好像真的是这样哎?为什么是一个词一个词呢?)地回答你了。
接下来,我来填刚刚挖下的小坑:messages 参数是干啥用的?
看着刚才的代码,我们首先可以得出:messages 是一个 list。针对这个 dict,我们得知:
[*]role:user,代表话是用户说的
[*]content:用户说的话
未完待续……
(Windows)Ollama 本地部署 AI 大模型教程(含问题解答)
一、Ollama 安装要点
[*]下载问题:若官网下载失败,推荐使用 Watt Toolkit 加速下载
[*]内存要求:建议 16G 内存及以上,8G 内存可能无法流畅运行 7B 以上模型
[*]验证安装:安装后cmd输入 ollama --version 显示版本即成功
二、模型下载答疑
问题现象:
qwen3:8b 显示为 Qwen2?
原因解析:
Ollama 官方模型库存在命名规范问题,建议改用:
ollama run qwen:7b
ollama run llama3:8b
三、Docker 避坑指南
[*]镜像加速:将命令中 ghcr.io 替换为 ghcr.nju.edu.cn
[*]安装验证:安装后任务栏出现鲸鱼图标即成功
[*]端口冲突:若 3000 端口被占用,修改命令中 -p 3000:8080 为其他端口
四、Python 调用完整示例
from ollama import chat
# 连续对话实现
messages = [
{'role': 'user', 'content': '用Python写个斐波那契数列'},
{'role': 'assistant', 'content': '需要递归还是迭代实现?'}
]
while True:
response = chat(
model='llama3:8b',
messages=messages,
stream=True
)
full_response = ""
for chunk in response:
print(chunk['message']['content'], end='', flush=True)
full_response += chunk['message']['content']
messages.append({'role': 'assistant', 'content': full_response})
user_input = input("\n\n您:")
messages.append({'role': 'user', 'content': user_input})
五、常见问题总结
[*]模型下载慢:在cmd执行 setx OLLAMA_MODELS ]https://ollama.cdn.kesh.ink 设置镜像源
[*]OpenWebUI 无法访问:检查Docker是否运行,浏览器访问 ]http://localhost:3000
[*]Python报错:先执行 pip install ollama 安装最新版库
更多问题欢迎在 FishC 论坛发帖交流:https://fishc.com.cn
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 @liuhongrun2022
@不二如是
@琅琊王朝
@骆驼在西部
@追逐我的明天
@Mike_python小
@鱼小二 https://fishc.com.cn/forum.php?mod=redirect&goto=findpost&ptid=249682&pid=6651838
这些数据早就被 AI 学习过了,直接问 AI 即可。 {:10_256:}{:10_256:}{:10_256:}含金量满满 质量好高{:5_105:}
有时间去试试 不二如是 发表于 2025-5-1 10:16
含金量满满
{:10_324:}这么好的帖子也能冷 player-none 发表于 2025-5-2 15:08
这么好的帖子也能冷
好帖不会沉! 催更{:10_334:} 可以一试 {:10_277:} player-none 发表于 2025-4-30 17:23
@liuhongrun2022
@不二如是
@琅琊王朝
很详细的教程,但是我还不知道这个大模型是做什么的? 骆驼在西部 发表于 2025-5-5 22:13
很详细的教程,但是我还不知道这个大模型是做什么的?
它不需要网络,也不需要登录就能使用各种先进大模型 Will try {:5_95:} {:10_275:} {:5_110:} {:5_108:} 收藏 非常好,收藏起来
页:
[1]
2