Day18:Ollama 安装与本地模型运行:把你的电脑变成AI宠物乐园
Day18:Ollama 安装与本地模型运行:把你的电脑变成AI宠物乐园
前言
你是否想过,在自己电脑上就能拥有一个像ChatGPT一样的AI助手?不用联网、无需付费、隐私安全,还能随时随地调戏它?今天,我们就来实现这个愿望!借助 Ollama 这个神器,你可以在本地轻松运行大语言模型(如Qwen、Llama 3),并用Python代码调用它。本文将从零开始,手把手教你安装Ollama、拉取模型、编写调用代码,并对比本地模型与在线模型的优劣。无论你是AI小白还是老司机,都能在这里找到乐趣!
为什么要在本地跑大模型?
在开始之前,我们先聊聊本地运行模型的三大好处:
-
告别网速焦虑
在线模型每次提问都要上传数据、等待服务器响应,如果网络波动,你就只能对着转圈圈发呆。本地模型完全在电脑内运行,速度取决于你的硬件配置,流畅度拉满! -
隐私是底线
你的问题(比如“我的银行卡密码忘记了怎么办?”)如果上传到云端,就可能被记录。本地模型让你的数据永远留在本地,真正实现隐私无忧。 -
免费才是王道
在线API按token收费,长对话或频繁调用分分钟烧钱。本地模型一次下载,终身免费使用,想怎么玩就怎么玩。
所以,本地运行大模型,就像是领养了一只AI宠物,它只属于你!
环境准备:Ollama安装指南
Ollama 是一个开源工具,它将大模型打包成一个个“宠物盒子”,只需一条命令就能拉取、运行,甚至通过API调用。它支持 macOS、Linux 和 Windows(需WSL2或直接使用Windows版)。
Windows安装
方法一:直接安装(推荐新手)
-
访问 Ollama官网 下载 Windows 安装包(
.exe文件)。 -
双击运行,一路点击“Next”完成安装。
-
安装完成后,打开命令提示符(CMD)或 PowerShell,输入
ollama --version检查是否成功。如果显示版本号,则安装成功。

方法二:通过WSL2安装(适合开发者)
如果你熟悉 Linux,建议在 WSL2 中安装,体验更接近生产环境。
-
安装 WSL2 并启动一个 Linux 发行版(如 Ubuntu)。
-
在 WSL 终端中执行以下命令:
curl -fsSL https://ollama.com/install.sh | sh
- 安装完成后,同样用
ollama --version验证。
macOS安装
在终端中执行一键安装命令:
curl -fsSL https://ollama.com/install.sh | sh
等待脚本执行完毕即可。macOS用户无需额外配置,Ollama会自动下载并安装。
Linux安装
同样使用官方安装脚本:
curl -fsSL https://ollama.com/install.sh | sh
该脚本会自动检测你的发行版并安装。安装完成后,你可以通过 systemctl 管理Ollama服务:
sudo systemctl start ollama
sudo systemctl enable ollama
Ollama基础命令:领养你的第一只AI宠物
安装好Ollama后,我们来学习几个核心命令,就像学习如何照顾你的新宠物一样。
拉取模型(ollama pull)
使用 pull 命令从Ollama仓库下载模型。今天推荐两个热门模型:通义千问(Qwen)和 Llama 3,都是7B参数版本,适合大多数电脑。
# 拉取通义千问7B
ollama pull qwen:7b
# 拉取Llama 3 7B
ollama pull llama3:7b
模型大小约3.8GB~4.2GB,根据网络速度等待一段时间。下载完成后,模型就保存在本地了。
小贴士:如果你显存足够(8GB以上),也可以试试更大的模型,比如
qwen:14b或llama3:70b,但速度会慢很多。
查看本地模型(ollama list)
输入以下命令,列出所有已下载的模型:
ollama list
输出示例:
NAME ID SIZE MODIFIED
qwen:7b 123abc... 3.8 GB 2 minutes ago
llama3:7b 456def... 4.1 GB 1 hour ago
运行模型并对话(ollama run)
这是最有趣的命令!运行模型后,你就可以直接和它聊天了。
ollama run qwen:7b
进入交互模式后,输入问题,模型会实时回复。试试问:
>>> 你好,你是谁
模型会回答类似“我是通义千问,由阿里云开发的语言模型……”等内容。输入 /bye 或按 Ctrl+D 退出。
删除模型(ollama rm)
如果你不再需要某个模型,可以用 rm 命令删除,释放磁盘空间:
ollama rm qwen:7b
谨慎操作,删除后需要重新下载。
API调用:用Python代码调戏你的AI宠物
Ollama 不仅提供了命令行交互,还启动了一个HTTP服务,让你可以通过API调用模型。这意味着你可以用Python、JavaScript等语言编写程序,让AI自动回答问题,简直是为开发者量身定做的功能!
启动Ollama服务
默认情况下,Ollama安装后会自动在后台运行服务,监听 http://localhost:11434。如果没有启动,可以手动执行:
ollama serve
该命令会启动服务并保持前台运行(你也可以用 systemctl 管理)。服务启动后,就可以通过API访问了。
API端点简介
Ollama 提供了两个主要API端点:
-
/api/generate:纯文本生成,适合简单问答。
-
/v1/chat/completions:兼容OpenAI的聊天格式,方便迁移代码。
我们重点使用 /v1/chat/completions,因为它格式通用,未来如果切换到在线模型也无需大改代码。
Python脚本实现本地问答
首先安装 requests 库(如果未安装):
pip install requests
然后编写以下Python脚本,实现本地模型问答,并记录响应时间。脚本中还预留了调用在线模型的接口,方便对比。
import requests
import time
# 本地Ollama API地址
LOCAL_URL = "http://localhost:11434/v1/chat/completions"
def ask_local(prompt, model="qwen:7b"):
"""调用本地Ollama模型"""
payload = {
"model": model,
"messages": [{"role": "user", "content": prompt}],
"stream": False
}
start = time.time()
try:
response = requests.post(LOCAL_URL, json=payload, timeout=60)
elapsed = time.time() - start
if response.status_code == 200:
result = response.json()
answer = result['choices'][0]['message']['content']
return answer, elapsed
else:
return f"HTTP错误:{response.status_code}", elapsed
except Exception as e:
return f"请求异常:{str(e)}", time.time() - start
def main():
prompt = "用一句话解释什么是人工智能。"
print(f"📝 提问:{prompt}\n")
# 调用本地模型
print("🤖 本地模型 (qwen:7b) 思考中...")
answer, cost_time = ask_local(prompt)
print(f"💬 回答:{answer}")
print(f"⏱️ 耗时:{cost_time:.2f} 秒\n")
# 如果你想对比在线模型,可以取消注释以下部分并配置API密钥
# print("🌐 在线模型 (gpt-3.5-turbo) 思考中...")
# online_answer, online_time = ask_online(prompt) # ask_online函数需自行实现
# print(f"💬 回答:{online_answer}")
# print(f"⏱️ 耗时:{online_time:.2f} 秒")
if __name__ == "__main__":
main()
保存为 ollama_demo.py,运行:
python ollama_demo.py
你将看到类似输出:
📝 提问:用一句话解释什么是人工智能。
🤖 本地模型 (qwen:7b) 思考中...
💬 回答:人工智能是让机器模拟人类智能行为的科技。
⏱️ 耗时:1.35 秒
恭喜!你已经成功用Python调用了本地模型,完成了第一个自动化问答任务。是不是很有成就感?
本地模型 vs 在线模型:谁更胜一筹?
现在我们来做一个非正式的PK,从响应速度、回答质量和隐私成本三个维度对比本地模型与在线模型(如GPT-3.5、GPT-4)。
响应速度对比
**本地模型:**速度完全取决于硬件。
-
如果你有NVIDIA显卡(如RTX 3060 12GB),7B模型每秒可生成30-50个token,回答一句话只需12秒。
-
如果只用CPU,速度会慢一些,大约5~10秒,但依然比网络延迟+服务器排队快(除非你拥有超高速光纤且服务器空闲)。
**在线模型:**受网络延迟和服务器负载影响,通常需要2~5秒,高峰时段可能更长。
**结论:**本地模型在速度上通常占优,尤其是有GPU时。
回答质量对比
-
**本地模型:**Qwen 7B和Llama 3 7B都是经过指令微调的优秀开源模型,能够流畅回答日常问题、进行简单推理。但对于复杂逻辑、创意写作、多语言混合等任务,可能不如顶级在线模型。
-
**在线模型:**GPT-4、Claude 3.5等拥有更大参数和更丰富的训练数据,回答往往更精准、更有深度,甚至能完成代码调试、论文写作等高难度任务。
**结论:**在线模型质量更高,但本地模型也能满足大部分通用需求。
隐私与成本
-
**隐私:**本地模型完胜!你的数据永远不会离开电脑。
-
**成本:**本地模型一次性下载,永久免费;在线模型按token收费,长对话或频繁调用会产生费用。
**最终建议:**两者不是替代关系,而是互补。日常简单问答、隐私问题用本地模型;需要高质量答案、复杂任务时,可以临时调用在线模型。这样既省钱又高效!
总结与展望
通过本文,你已经学会了:
-
安装Ollama工具,并在Windows/macOS/Linux上成功运行。
-
使用Ollama基本命令拉取、运行、管理模型。
-
通过Python代码调用Ollama API,实现本地模型的自动化问答。
-
对比本地模型与在线模型的优劣,做到心中有数。
现在,你已经成为了一名合格的“AI驯兽师”,可以在本地自由调教你的AI宠物了!下一步可以尝试:
-
拉取更多模型,如CodeLlama(代码专用)、Mistral等。
-
学习如何对模型进行量化,降低资源占用。
-
结合LangChain、FastAPI等框架,构建更复杂的AI应用。
AI的世界广阔无垠,而你已经在本地迈出了最关键的一步。如果在实践中遇到问题,欢迎留言交流!
常见问题解答
Q1:运行 ollama run 时出现“Error: model requires more memory”怎么办? A:这通常是因为你的内存或显存不足。可以尝试拉取更小的模型(如 qwen:0.5b),或者关闭其他占用内存的程序。如果使用CPU,确保至少有8GB空闲内存。
Q2:API调用时返回“Connection refused”错误? A:请确认Ollama服务是否正在运行。可以在终端执行 ollama serve 启动服务,或者检查服务是否被防火墙阻止。
Q3:如何让模型生成更长的回答? A:在API调用中,可以添加 max_tokens 参数(例如 “max_tokens”: 500)。对于 /v1/chat/completions,可以在payload中加入 “max_tokens”: 500。
Q4:有没有图形化界面可以使用本地模型? A:有的!比如 Open WebUI 可以对接Ollama,提供类似ChatGPT的Web界面。你也可以搜索“Ollama GUI”找到更多工具。
Q5:模型下载速度太慢怎么办? A:可以尝试更换网络环境,或者使用代理。Ollama的模型托管在GitHub和HuggingFace,国内用户可能较慢,可以寻找镜像源(如阿里云、百度云等,需自行搜索)。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)