Python + Ollama 本地跑大模型:零成本打造私有 AI 助手

Python + Ollama 本地跑大模型:零成本打造私有 AI 助手
零 API 费用、零数据泄露风险、完全离线可用。本文带你从安装到实战,30 分钟跑起一个本地 AI 助手。

一、为什么要在本地跑大模型?

对比维度云端 API(ChatGPT / Claude)本地模型(Ollama)
费用按量付费,$20/月起完全免费
数据隐私数据上传到云端数据留在本地
网络依赖必须联网离线可用
模型选择固定自由切换开源模型
硬件要求需要一定配置

38%27%18%12%5%选择本地大模型的理由(2026年开发者调查)数据隐私与安全零成本长期使用离线可用可自由定制微调其他


二、Ollama 是什么?

Ollama 是一个开源的本地大模型运行框架,核心特点:

  • 一键拉取模型:类似 docker pull 的体验
  • 自动适配硬件:根据你的显存/内存自动量化
  • 兼容 OpenAI API 格式:现有代码几乎不用改
  • 跨平台:Windows / macOS / Linux 都支持

用户提问

Python 代码

Ollama 本地服务

Qwen3 / Llama4 / DeepSeek


三、环境准备

3.1 硬件要求

模型规模最低内存/显存推荐配置
1.5B~3B(轻量)4 GB8 GB 内存即可
7B~8B(主流)8 GB16 GB 内存或 8 GB 显存
14B~32B(进阶)16 GB32 GB 内存或 16 GB 显存
70B+(旗舰)48 GB专业显卡 / 服务器
没有独立显卡也能跑!Ollama 支持 纯 CPU 推理,只是速度慢一些。

3.2 安装 Ollama

# macOS / Linux(一行搞定)curl-fsSL https://ollama.com/install.sh |sh# Windows:前往 https://ollama.com/download 下载安装包

验证安装:

ollama --version# 输出:ollama version is 0.6.x

3.3 拉取模型

# 推荐:Qwen3 8B(中文能力最强的小模型之一) ollama pull qwen3:8b # 备选:Llama 4 Scout 17B(Meta 最新开源模型) ollama pull llama4:scout17b # 轻量选择:Qwen3 4B(4GB 内存就能跑) ollama pull qwen3:4b # 查看已下载的模型 ollama list 

3.4 安装 Python 依赖

pip install ollama 

四、快速上手:5 行代码跑起来

4.1 最简对话

import ollama # 发送一条消息,获取回复 response = ollama.chat( model="qwen3:8b", messages=[{"role":"user","content":"用 Python 写一个快速排序算法"}])print(response["message"]["content"])

4.2 流式输出(打字机效果)

import ollama # stream=True 开启流式输出,体验更丝滑 stream = ollama.chat( model="qwen3:8b", messages=[{"role":"user","content":"解释一下 Python 的装饰器"}], stream=True)for chunk in stream:print(chunk["message"]["content"], end="", flush=True)

4.3 多轮对话(保持上下文)

import ollama # 维护对话历史 messages =[]defchat(user_input:str)->str: messages.append({"role":"user","content": user_input}) response = ollama.chat(model="qwen3:8b", messages=messages) assistant_msg = response["message"]["content"] messages.append({"role":"assistant","content": assistant_msg})return assistant_msg # 多轮对话print(chat("你好,我正在学 Python"))print("---")print(chat("刚才我说我在学什么来着?"))# 它能记住上下文

五、实战项目:打造命令行 AI 助手

下面是一个功能完整的本地 AI 助手,支持多轮对话、Markdown 渲染、历史记录。

5.1 项目结构

local-ai-assistant/ ├── assistant.py # 主程序 ├── config.py # 配置文件 └── chat_history.json # 对话历史(自动生成) 

5.2 配置文件 config.py

# config.py MODEL_NAME ="qwen3:8b"# 使用的模型 SYSTEM_PROMPT ="""你是一个专业的 AI 编程助手。 你擅长 Python、数据分析、自动化办公。 回答要简洁实用,代码要可以直接运行。""" MAX_HISTORY =20# 最多保留的对话轮数

5.3 主程序 assistant.py

# assistant.pyimport json import ollama from datetime import datetime from config import MODEL_NAME, SYSTEM_PROMPT, MAX_HISTORY defload_history(filepath="chat_history.json"):"""加载对话历史"""try:withopen(filepath,"r", encoding="utf-8")as f:return json.load(f)except FileNotFoundError:return[]defsave_history(messages, filepath="chat_history.json"):"""保存对话历史"""withopen(filepath,"w", encoding="utf-8")as f: json.dump(messages, f, ensure_ascii=False, indent=2)defchat_stream(user_input:str, messages:list)->str:"""流式对话""" messages.append({"role":"user","content": user_input})print(f"\n\033[92m🤖 AI:\033[0m ", end="", flush=True) full_response ="" stream = ollama.chat(model=MODEL_NAME, messages=messages, stream=True)for chunk in stream: content = chunk["message"]["content"]print(content, end="", flush=True) full_response += content print("\n") messages.append({"role":"assistant","content": full_response})# 限制历史长度iflen(messages)> MAX_HISTORY *2+1: messages =[messages[0]]+ messages[-(MAX_HISTORY *2):]return full_response defmain():print("="*50)print(f" 本地 AI 助手 | 模型: {MODEL_NAME}")print(" 输入 /clear 清空历史 | /quit 退出")print("="*50)# 初始化对话 messages = load_history()ifnot messages: messages =[{"role":"system","content": SYSTEM_PROMPT}]whileTrue: user_input =input("\n\033[94m👤 你:\033[0m ").strip()ifnot user_input:continueif user_input =="/quit": save_history(messages)print("👋 再见!对话已保存。")breakif user_input =="/clear": messages =[{"role":"system","content": SYSTEM_PROMPT}] save_history(messages)print("🗑️ 对话历史已清空。")continue chat_stream(user_input, messages) save_history(messages)if __name__ =="__main__": main()

5.4 运行效果

python assistant.py 
================================================== 本地 AI 助手 | 模型: qwen3:8b 输入 /clear 清空历史 | /quit 退出 ================================================== 👤 你: 帮我写一个 Python 脚本,监控某个文件夹的变化 🤖 AI: 好的,使用 `watchdog` 库可以轻松实现文件夹监控... (此处输出完整代码) 

六、进阶玩法

6.1 让 AI 调用本地函数(Function Calling)

import ollama import json # 定义工具函数defget_weather(city:str)->str:"""模拟获取天气(可替换为真实 API)""" weather_data ={"北京":"晴天 22°C","上海":"多云 18°C","深圳":"大雨 28°C"}return weather_data.get(city,"未查询到该城市天气")defcalculate(expression:str)->str:"""安全计算数学表达式"""try: allowed =set("0123456789+-*/.() ")ifall(c in allowed for c in expression):returnstr(eval(expression))return"不安全的表达式"except Exception as e:returnf"计算错误: {e}"# 注册工具 tools =[{"type":"function","function":{"name":"get_weather","description":"获取指定城市的天气信息","parameters":{"type":"object","properties":{"city":{"type":"string","description":"城市名称"}},"required":["city"]}}},{"type":"function","function":{"name":"calculate","description":"计算数学表达式","parameters":{"type":"object","properties":{"expression":{"type":"string","description":"数学表达式"}},"required":["expression"]}}}]# 工具映射 tool_map ={"get_weather": get_weather,"calculate": calculate }# 对话 messages =[{"role":"user","content":"北京天气怎么样?顺便帮我算一下 25*36+128"}] response = ollama.chat(model="qwen3:8b", messages=messages, tools=tools)# 处理工具调用if response["message"].get("tool_calls"):for tool_call in response["message"]["tool_calls"]: func_name = tool_call["function"]["name"] func_args = tool_call["function"]["arguments"]print(f"🔧 调用工具: {func_name}({func_args})") result = tool_map[func_name](**func_args)print(f" 结果: {result}")

6.2 兼容 OpenAI SDK

# 如果你已有使用 OpenAI SDK 的代码,只需改一行from openai import OpenAI client = OpenAI( base_url="http://localhost:11434/v1",# 指向 Ollama api_key="ollama"# 随意填,不影响) response = client.chat.completions.create( model="qwen3:8b", messages=[{"role":"user","content":"Hello, who are you?"}])print(response.choices[0].message.content)
这意味着:所有基于 OpenAI API 的应用(LangChain、Dify、Cursor 等)都可以无缝切换到本地模型!

七、模型选择指南

32%25%20%13%10%2026年 Ollama 最受欢迎模型占比Qwen3 8B(中文最强)Llama 4 Scout(综合最佳)DeepSeek R2(推理之王)Gemma 4 27B(性价比高)Mistral Small(轻量首选)

模型推荐表

使用场景推荐模型大小命令
中文对话 / 写作Qwen3 8B~5 GBollama pull qwen3:8b
英文编程Llama 4 Scout~10 GBollama pull llama4:scout17b
逻辑推理 / 数学DeepSeek R2 8B~5 GBollama pull deepseek-r2:8b
低配机器Qwen3 1.7B~1 GBollama pull qwen3:1.7b
代码专用Qwen3-Coder 7B~4 GBollama pull qwen3-coder:7b

八、常见问题

Q:没有显卡能跑吗?
A:能。Ollama 支持 CPU 推理,8B 模型在 16GB 内存的机器上完全可以跑,速度约 5-10 token/s。

Q:中文效果好还是英文效果好?
A:推荐 Qwen3 系列,它的中文能力是目前开源模型里最强的,远超同级别的 Llama。

Q:和 ChatGPT 比差多少?
A:8B 级别的模型大约相当于 GPT-3.5 的水平,日常问答够用,复杂推理和长文本还有差距。如果硬件允许,跑 32B 或 70B 的模型会更接近 GPT-4 级别。

Q:商用免费吗?
A:大部分模型(Qwen、Llama、Gemma)允许商用,但建议查看各模型的具体 License。


总结

Ollama 本地 AI 的核心优势: ├── 零成本 —— 不花一分钱 API 费用 ├── 零风险 —— 数据永远不会离开你的电脑 ├── 零门槛 —— pip install + ollama pull,5 分钟上手 └── 零妥协 —— 兼容 OpenAI API,现有生态无缝切换 

现在就打开终端,花 5 分钟跑起你的第一个本地 AI 助手吧。


Read more

OpenClaw国产平替来了!CoPaw个人助理告别复杂配置,新手10分钟上手,普通人也能薅爆国产AI羊毛

OpenClaw国产平替来了!CoPaw个人助理告别复杂配置,新手10分钟上手,普通人也能薅爆国产AI羊毛

第一章:CoPaw 是什么?国产 AI 数字搭档的核心魅力 现在市面上的 AI 智能助理不少,但要么门槛高得劝退普通人,要么功能单一没灵魂。而 CoPaw 不一样——它是通义实验室(阿里) 靠着 AgentScope 智能体生态做的国产 AI 数字搭档,既是 OpenClaw 的平替升级款,还把**「好用」** 和**「实用」** 拉满了,就算你不是技术出身,也能轻松拿捏专属智能助理。 跟传统 AI 工具比,CoPaw 最戳人的点就是既会干活又有温度: * 有长期记忆还懂你:能自定义专属人设,不管是称呼、性格还是相处模式,都由你说了算。系统会自动记着你的偏好、待办和重要决定,越用越合心意,再也不用面对冷冰冰的问答机器人; * 电脑杂活全包揽:重复又繁琐的活直接甩给它就行——定时清理桌面、查天气查股价、编辑

【AI】2026年AI学习路线(从入门到精通)重点版

一、2026年AI学习知识图谱(从入门到精通) (一)入门阶段(0-6个月):建立认知,夯实基础 核心目标:掌握AI基础概念、必备数学与编程能力,能实现简单机器学习模型,建立系统的AI认知框架。 核心内容: * AI通识:AI发展史、核心概念、主要学派、经典案例,了解2026年AI前沿趋势(如多模态、具身智能)。 * 数学基础:微积分、线性代数、概率论与统计、优化理论,掌握AI算法所需的数学工具。 * 编程基础:Python核心语法、数据结构与算法、CUDA基础,能熟练使用Python处理数据、编写简单代码。 * 传统机器学习入门:监督/无监督学习基础、线性回归、决策树、模型评估方法,入门Scikit-learn工具。 * 基础实践:完成鸢尾花分类、房价预测等简单项目,参与Kaggle入门赛,积累基础实战经验。 (二)进阶阶段(6-12个月):掌握核心算法,

零代码AI革命:万字实战指南,用Dify轻松构建企业级智能知识库

零代码AI革命:万字实战指南,用Dify轻松构建企业级智能知识库

前言 在当今这个信息爆炸的时代,数据已成为企业和个人的核心资产。然而,如何从浩如烟海的文档、报告、手册和笔记中,高效、精准地提取所需信息,已成为一个普遍存在的痛点。传统的关键词搜索,面对复杂和口语化的查询时常常显得力不从心,无法真正理解用户的深层意图。我们迫切需要一种更智能、更接近自然语言交互的解决方案。 当下普遍存在的几大痛点: 1. 知识孤岛与检索困境: 企业内部的知识散落在不同的系统(如 Confluence, SharePoint, 本地文件夹)中,形成一个个信息孤岛。员工,尤其是新员工,为了找到一个问题的答案,可能需要在多个平台之间来回切换,耗费大量时间,效率低下。 2. AI 技术应用门槛高昂: 大语言模型(LLM)的出现为解决上述问题带来了曙光。但对于大多数非 AI 专业的开发者和中小企业而言,从零开始部署、微调、管理一个大模型,并将其封装成可用的应用,涉及到复杂的后端开发、算法知识、GPU 资源管理和高昂的运维成本,是一项几乎不可能完成的任务。 3.

从0到1上手OpenClaw:本地安装 + 云部署全攻略,人人都能拥有专属 AI 执行助手

从0到1上手OpenClaw:本地安装 + 云部署全攻略,人人都能拥有专属 AI 执行助手

在上一篇深度解析中,我们见证了 OpenClaw 如何打破 AI “只会说不会做” 的桎梏,从对话式 AI 进化为能落地执行的数字助手。很多朋友留言表示,被 OpenClaw 的全场景能力打动,却卡在了 “安装部署” 这第一步,担心代码门槛太高无从下手,或是怕踩了环境配置的坑迟迟无法启动。 作为系列教程的开篇,我们就从最零门槛、零成本的本地安装讲起,全程附带可直接复制的命令、新手避坑提醒,哪怕你是第一次接触终端操作,跟着步骤走也能顺利完成安装,真正实现 “一句话指令,AI 全流程执行”。 1. 安装前的必备准备 在正式开始安装前,做好这几项基础准备,能帮你避开 90% 的前期踩坑,大幅提升部署成功率,所有需要用到的工具均为免费开源,可直接从官网下载。 (1)硬件适配 不用盲目追求高配,根据自己的使用场景满足基础要求即可: * a. 零基础新手尝鲜试玩:电脑满足 4 核 CPU、