Ollama 本地部署大模型 + Python API 集成开发完整教程(2026最新版,含 GPU 加速配置)

🌸你好呀!我是 lbb小魔仙
🌟 感谢陪伴~ 小白博主在线求友
🌿 跟着小白学Linux/Java/Python
📖 专栏汇总:
《Linux》专栏 | 《Java》专栏 | 《Python》专栏

- [Ollama 本地部署大模型 + Python API 集成开发完整教程(2026最新版,含 GPU 加速配置)](#Ollama 本地部署大模型 + Python API 集成开发完整教程(2026最新版,含 GPU 加速配置))
-
- 摘要
- [1. Ollama 简介:为什么选择本地部署](#1. Ollama 简介:为什么选择本地部署)
-
- [1.1 Ollama 的核心优势](#1.1 Ollama 的核心优势)
- [1.2 适用场景](#1.2 适用场景)
- [2. 安装 Ollama](#2. 安装 Ollama)
-
- [2.1 Windows 安装](#2.1 Windows 安装)
- [2.2 验证安装](#2.2 验证安装)
- [2.3 检查服务状态](#2.3 检查服务状态)
- [2.4 配置模型存储路径(可选,推荐)](#2.4 配置模型存储路径(可选,推荐))
- [3. 模型管理:下载、运行、删除](#3. 模型管理:下载、运行、删除)
-
- [3.1 查看可用模型](#3.1 查看可用模型)
- [3.2 常用模型推荐](#3.2 常用模型推荐)
- [3.3 下载模型](#3.3 下载模型)
- [3.4 运行模型(命令行交互)](#3.4 运行模型(命令行交互))
- [3.5 查看已安装模型](#3.5 查看已安装模型)
- [3.6 删除模型](#3.6 删除模型)
- [3.7 查看模型详细信息](#3.7 查看模型详细信息)
- [4. GPU 加速配置与验证](#4. GPU 加速配置与验证)
-
- [4.1 确认 GPU 加速是否生效](#4.1 确认 GPU 加速是否生效)
- [4.2 GPU 加速不可用的排查](#4.2 GPU 加速不可用的排查)
- [4.3 显存不足的应对策略](#4.3 显存不足的应对策略)
- [5. Python 集成开发环境搭建](#5. Python 集成开发环境搭建)
-
- [5.1 创建虚拟环境](#5.1 创建虚拟环境)
- [5.2 安装 Ollama Python SDK](#5.2 安装 Ollama Python SDK)
- [5.3 安装辅助库](#5.3 安装辅助库)
- [6. Python 调用 Ollama:同步与流式输出](#6. Python 调用 Ollama:同步与流式输出)
-
- [6.1 同步调用(等待完整回复)](#6.1 同步调用(等待完整回复))
- [6.2 流式输出(逐字输出,体验更好)](#6.2 流式输出(逐字输出,体验更好))
- [6.3 简单文本生成(非对话模式)](#6.3 简单文本生成(非对话模式))
- [6.4 带参数的调用](#6.4 带参数的调用)
- [7. 多轮对话实现](#7. 多轮对话实现)
-
- [7.1 基础多轮对话](#7.1 基础多轮对话)
- [7.2 交互式命令行聊天](#7.2 交互式命令行聊天)
- [8. LangChain + Ollama 构建 RAG 应用](#8. LangChain + Ollama 构建 RAG 应用)
-
- [8.1 安装依赖](#8.1 安装依赖)
- [8.2 完整 RAG 示例](#8.2 完整 RAG 示例)
- [8.3 嵌入模型说明](#8.3 嵌入模型说明)
- [9. 自定义 Modelfile 创建专属模型](#9. 自定义 Modelfile 创建专属模型)
-
- [9.1 什么是 Modelfile](#9.1 什么是 Modelfile)
- [9.2 创建 Modelfile](#9.2 创建 Modelfile)
- [9.3 构建自定义模型](#9.3 构建自定义模型)
- [9.4 运行自定义模型](#9.4 运行自定义模型)
- [9.5 Python 调用自定义模型](#9.5 Python 调用自定义模型)
- [10. Ollama REST API 直接调用](#10. Ollama REST API 直接调用)
-
- [10.1 生成回答](#10.1 生成回答)
- [10.2 流式生成](#10.2 流式生成)
- [10.3 查看正在运行的模型](#10.3 查看正在运行的模型)
- [10.4 列出所有本地模型](#10.4 列出所有本地模型)
- [10.5 获取文本嵌入向量](#10.5 获取文本嵌入向量)
- [10.6 Python 使用 requests 库调用](#10.6 Python 使用 requests 库调用)
- [11. 常见问题与解决方案](#11. 常见问题与解决方案)
-
- [11.1 模型下载速度慢或超时](#11.1 模型下载速度慢或超时)
- [11.2 `Error: could not connect to ollama app`](#11.2
Error: could not connect to ollama app) - [11.3 Python 连接 Ollama 报错 `ConnectionError`](#11.3 Python 连接 Ollama 报错
ConnectionError) - [11.4 模型回复乱码或截断](#11.4 模型回复乱码或截断)
- [11.5 GPU 显存不够运行大模型](#11.5 GPU 显存不够运行大模型)
- [11.6 Windows 下 Ollama 服务占用 C 盘空间过大](#11.6 Windows 下 Ollama 服务占用 C 盘空间过大)
- [11.7 Python 脚本中模型加载慢(首次调用延迟高)](#11.7 Python 脚本中模型加载慢(首次调用延迟高))
- [11.8 同时运行多个模型](#11.8 同时运行多个模型)
- [12. 总结](#12. 总结)
-
- [12.1 本文核心要点](#12.1 本文核心要点)
- [12.2 推荐模型选择指南](#12.2 推荐模型选择指南)
- [12.3 进阶学习方向](#12.3 进阶学习方向)
摘要
Ollama 是目前最流行的本地大模型部署工具,支持一键运行 Llama 3、Qwen2.5、DeepSeek-R1、Gemma 3 等主流开源大模型,无需复杂的模型下载和依赖配置。本文将从 Ollama 的安装、模型管理、GPU 加速配置,到 Python API 集成开发(同步调用、流式输出、多轮对话、RAG 检索增强),提供完整的实战教程。同时覆盖 Ollama REST API 调用、LangChain 集成、自定义 Modelfile 创建、常见报错排查等进阶内容,帮助开发者快速搭建本地 AI 应用开发环境。所有步骤在 Windows 11 + RTX 4060 环境下实测通过。
🚀 个人主页 : 有点流鼻涕 · CSDN
💬 座右铭 : "向光而行,沐光而生。"
1. Ollama 简介:为什么选择本地部署
1.1 Ollama 的核心优势
| 特性 | 说明 |
|---|---|
| 一键部署 | ollama run qwen2.5 即可下载并运行模型,无需手动配置环境 |
| GPU 自动加速 | 检测到 NVIDIA GPU 自动启用 CUDA 加速,无需额外配置 |
| REST API 开箱即用 | 默认启动 HTTP 服务(端口 11434),任何语言都可调用 |
| 丰富的模型库 | 支持 200+ 开源模型,包括 Llama、Qwen、DeepSeek、Mistral 等 |
| 多平台支持 | Windows、macOS、Linux 全平台覆盖 |
1.2 适用场景
- 本地 AI 开发与调试,避免 API 费用
- 数据隐私要求高的场景(医疗、金融、法律)
- 离线环境下的 AI 应用部署
- 学习大模型原理与 Prompt 工程
2. 安装 Ollama
2.1 Windows 安装
方式一:官方安装包(推荐)
前往官网下载:
https://ollama.com/download
选择 Windows 版本,下载 OllamaSetup.exe,双击安装。安装路径默认 C:\Users\用户名\AppData\Local\Programs\Ollama。
方式二:使用 winget 命令安装
bash
winget install Ollama.Ollama
2.2 验证安装
安装完成后,打开新的 CMD 或 PowerShell 窗口:
bash
ollama --version
输出示例:
ollama version is 0.6.8
2.3 检查服务状态
Ollama 安装后会自动注册为系统服务,在后台运行。确认服务是否启动:
bash
# 查看 Ollama 服务状态(PowerShell)
Get-Service ollama
# 或通过 API 检查
curl http://localhost:11434/api/tags
如果服务未启动:
bash
# 手动启动服务
ollama serve
2.4 配置模型存储路径(可选,推荐)
默认模型存储在 C 盘用户目录下,大模型文件较大(4-40GB),建议迁移到其他磁盘:
bash
# 设置环境变量(PowerShell 管理员模式)
[System.Environment]::SetEnvironmentVariable("OLLAMA_MODELS", "D:\ollama\models", "User")
设置后重启 Ollama 服务生效。
3. 模型管理:下载、运行、删除
3.1 查看可用模型
浏览模型库:
https://ollama.com/library
3.2 常用模型推荐
| 模型 | 参数量 | 显存需求 | 特点 |
|---|---|---|---|
qwen2.5:7b |
7B | ~5GB | 中文能力强,综合表现优秀 |
deepseek-r1:7b |
7B | ~5GB | 推理能力突出,支持思维链 |
llama3.1:8b |
8B | ~5.5GB | Meta 开源,英文能力强 |
gemma3:4b |
4B | ~3GB | Google 出品,轻量高效 |
qwen2.5:14b |
14B | ~10GB | 中文最强开源模型之一 |
deepseek-r1:14b |
14B | ~10GB | 推理与代码能力出色 |
3.3 下载模型
bash
# 下载 Qwen2.5 7B 模型(推荐中文用户首选)
ollama pull qwen2.5:7b
# 下载 DeepSeek-R1 7B 模型
ollama pull deepseek-r1:7b
下载速度取决于网络环境,7B 模型约 4.7GB。
3.4 运行模型(命令行交互)
bash
ollama run qwen2.5:7b
首次运行会自动下载模型。进入交互界面后直接输入问题:
>>> 你好,请用Python写一个快速排序算法
模型会实时流式输出回答。退出对话:
>>> /bye
3.5 查看已安装模型
bash
ollama list
输出示例:
NAME ID SIZE MODIFIED
qwen2.5:7b a2w6a2a3b4c5 4.7 GB 2 hours ago
deepseek-r1:7b b3c7d8e9f0a1 4.8 GB 1 day ago
3.6 删除模型
bash
ollama rm llama3.1:8b
3.7 查看模型详细信息
bash
ollama show qwen2.5:7b
4. GPU 加速配置与验证
4.1 确认 GPU 加速是否生效
运行模型时,观察 GPU 显存占用:
bash
# 在另一个终端窗口执行
nvidia-smi -l 1
如果运行模型后 GPU 显存占用增加(如从 0 跳到 4-5GB),说明 GPU 加速已生效。
也可以通过 API 查看:
bash
curl http://localhost:11434/api/ps
如果返回结果中没有 GPU 相关信息,可能存在以下问题。
4.2 GPU 加速不可用的排查
排查 1:确认 NVIDIA 驱动已安装
bash
nvidia-smi
如果报错,安装或更新 NVIDIA 驱动。
排查 2:Windows 下的 CUDA 配置
Ollama 在 Windows 上会自动检测 CUDA,无需手动安装 CUDA Toolkit。但需要确保:
- NVIDIA 驱动版本 ≥ 530(可通过
nvidia-smi查看) - 系统中存在
nvcuda.dll(通常随驱动自动安装)
排查 3:强制指定 GPU
bash
# 设置环境变量,指定使用的 GPU
set CUDA_VISIBLE_DEVICES=0
ollama serve
4.3 显存不足的应对策略
如果模型参数量大于显存容量,Ollama 会自动使用 CPU + GPU 混合推理(部分层放在 CPU 上),但速度会显著下降。应对方案:
- 选择参数量更小的模型(如 7B → 4B)
- 使用量化版本模型:
bash
# Q4_K_M 量化版本(约 1/4 大小)
ollama run qwen2.5:7b-q4_K_M
5. Python 集成开发环境搭建
5.1 创建虚拟环境
bash
conda create -n ollama_dev python=3.11 -y
conda activate ollama_dev
5.2 安装 Ollama Python SDK
bash
pip install ollama
5.3 安装辅助库
bash
pip install langchain langchain-community chromadb sentence-transformers
6. Python 调用 Ollama:同步与流式输出
6.1 同步调用(等待完整回复)
python
# sync_chat.py
import ollama
response = ollama.chat(
model='qwen2.5:7b',
messages=[
{
'role': 'user',
'content': '请用Python实现一个二分查找算法,并说明时间复杂度',
}
]
)
print(response['message']['content'])
运行:
bash
python sync_chat.py
6.2 流式输出(逐字输出,体验更好)
python
# stream_chat.py
import ollama
stream = ollama.chat(
model='qwen2.5:7b',
messages=[
{
'role': 'user',
'content': '请解释什么是梯度下降算法,用通俗的语言说明',
}
],
stream=True # 开启流式输出
)
for chunk in stream:
print(chunk['message']['content'], end='', flush=True)
print() # 换行
6.3 简单文本生成(非对话模式)
python
# generate.py
import ollama
response = ollama.generate(
model='qwen2.5:7b',
prompt='写一首关于编程的五言绝句'
)
print(response['response'])
6.4 带参数的调用
python
# advanced_params.py
import ollama
response = ollama.chat(
model='qwen2.5:7b',
messages=[
{'role': 'user', 'content': '生成10个Python变量命名建议'}
],
options={
'temperature': 0.7, # 创造性(0-1,越高越随机)
'top_p': 0.9, # 核采样参数
'num_predict': 512, # 最大生成 token 数
}
)
print(response['message']['content'])
参数说明:
| 参数 | 范围 | 作用 |
|---|---|---|
temperature |
0.0 - 2.0 | 控制随机性,代码生成建议 0.1-0.3,创意写作建议 0.7-1.0 |
top_p |
0.0 - 1.0 | 核采样,限制候选 token 范围 |
num_predict |
正整数 | 最大生成 token 数量,防止无限生成 |
repeat_penalty |
1.0 - 2.0 | 重复惩罚,避免重复内容 |
7. 多轮对话实现
7.1 基础多轮对话
python
# multi_turn_chat.py
import ollama
# 维护对话历史
messages = []
def chat(user_input: str) -> str:
messages.append({'role': 'user', 'content': user_input})
response = ollama.chat(
model='qwen2.5:7b',
messages=messages
)
assistant_msg = response['message']['content']
messages.append({'role': 'assistant', 'content': assistant_msg})
return assistant_msg
# 测试多轮对话
print("=== 第一轮 ===")
print(chat("我想学习Python,请给我一个学习路线"))
print("\n=== 第二轮(追问) ===")
print(chat("其中数据分析方向,你推荐哪些库?"))
print("\n=== 第三轮(继续深入) ===")
print(chat("能给我一个pandas读取CSV并做基本统计分析的代码示例吗?"))
# 打印完整对话历史
print("\n=== 完整对话历史 ===")
for msg in messages:
role = "用户" if msg['role'] == 'user' else "助手"
print(f"[{role}]: {msg['content'][:100]}...")
7.2 交互式命令行聊天
python
# interactive_chat.py
import ollama
messages = [
{
'role': 'system',
'content': '你是一位资深的Python开发工程师,擅长解答编程问题。请给出简洁、专业的回答。'
}
]
print("Ollama 聊天终端(输入 /quit 退出,输入 /clear 清空历史)")
print("-" * 50)
while True:
user_input = input("\n你: ").strip()
if not user_input:
continue
if user_input == '/quit':
print("再见!")
break
if user_input == '/clear':
messages = [messages[0]] # 保留 system prompt
print("对话历史已清空")
continue
messages.append({'role': 'user', 'content': user_input})
print("助手: ", end='', flush=True)
stream = ollama.chat(
model='qwen2.5:7b',
messages=messages,
stream=True
)
full_response = ''
for chunk in stream:
content = chunk['message']['content']
print(content, end='', flush=True)
full_response += content
print()
messages.append({'role': 'assistant', 'content': full_response})
8. LangChain + Ollama 构建 RAG 应用
RAG(检索增强生成)是企业级 AI 应用最常用的架构。以下实现一个基于本地文档的问答系统。
8.1 安装依赖
bash
pip install langchain langchain-community langchain-text-splitters chromadb sentence-transformers pypdf
8.2 完整 RAG 示例
python
# rag_app.py
from langchain_community.document_loaders import TextLoader, PyPDFLoader
from langchain_text_splitters import RecursiveCharacterTextSplitter
from langchain_community.embeddings import OllamaEmbeddings
from langchain_community.vectorstores import Chroma
from langchain_community.llms import Ollama
from langchain.chains import RetrievalQA
# ===== 第一步:加载文档 =====
# 支持 .txt 和 .pdf 文件
loader = TextLoader("knowledge_base.txt", encoding="utf-8")
documents = loader.load()
# 如果是 PDF 文件
# loader = PyPDFLoader("document.pdf")
# documents = loader.load()
print(f"加载了 {len(documents)} 个文档")
# ===== 第二步:文本分割 =====
text_splitter = RecursiveCharacterTextSplitter(
chunk_size=500, # 每个文本块的最大字符数
chunk_overlap=50, # 相邻文本块的重叠字符数
separators=["\n\n", "\n", "。", "!", "?", ";", " "] # 分割优先级
)
chunks = text_splitter.split_documents(documents)
print(f"分割为 {len(chunks)} 个文本块")
# ===== 第三步:创建向量数据库 =====
embeddings = OllamaEmbeddings(model="qwen2.5:7b")
vectorstore = Chroma.from_documents(
documents=chunks,
embedding=embeddings,
persist_directory="./chroma_db" # 持久化存储路径
)
print("向量数据库创建完成")
# ===== 第四步:构建 RAG 链 =====
llm = Ollama(model="qwen2.5:7b", temperature=0.3)
qa_chain = RetrievalQA.from_chain_type(
llm=llm,
chain_type="stuff", # 将检索到的文档拼接到 prompt 中
retriever=vectorstore.as_retriever(
search_type="similarity",
search_kwargs={"k": 3} # 检索最相关的 3 个文本块
),
return_source_documents=True
)
# ===== 第五步:提问 =====
questions = [
"文档中提到的核心概念是什么?",
"请总结文档的主要内容",
]
for q in questions:
print(f"\n问题: {q}")
result = qa_chain.invoke({"query": q})
print(f"回答: {result['result']}")
print(f"参考来源: {len(result['source_documents'])} 个文本块")
8.3 嵌入模型说明
Ollama 的嵌入模型会将文本转换为向量,用于相似度检索。推荐使用:
| 模型 | 维度 | 说明 |
|---|---|---|
qwen2.5:7b |
3584 | 通用,中文效果好 |
nomic-embed-text |
768 | 轻量级,速度快 |
mxbai-embed-large |
1024 | 英文场景推荐 |
9. 自定义 Modelfile 创建专属模型
9.1 什么是 Modelfile
Modelfile 类似 Dockerfile,用于基于已有模型创建自定义模型,可以设置系统提示词、参数、模板等。
9.2 创建 Modelfile
创建文件 my_assistant.modelfile:
bash
# 基于 qwen2.5:7b 模型
FROM qwen2.5:7b
# 设置系统提示词
SYSTEM """
你是一位专业的Python编程助手,具有以下特点:
1. 回答简洁、直接,不啰嗦
2. 代码示例必须完整可运行
3. 遵循 PEP 8 编码规范
4. 必要时添加类型注解
"""
# 设置生成参数
PARAMETER temperature 0.3
PARAMETER top_p 0.9
PARAMETER num_predict 2048
PARAMETER repeat_penalty 1.1
# 设置模板(Ollama 默认模板已足够,此处仅为演示)
TEMPLATE """
{{- if .System }}<|im_start|>system
{{ .System }}<|im_end|>
{{- end }}
<|im_start|>user
{{ .Prompt }}<|im_end|>
<|im_start|>assistant
{{ .Response }}<|im_end|>
"""
9.3 构建自定义模型
bash
ollama create my-python-assistant -f my_assistant.modelfile
9.4 运行自定义模型
bash
ollama run my-python-assistant
9.5 Python 调用自定义模型
python
import ollama
response = ollama.chat(
model='my-python-assistant',
messages=[
{'role': 'user', 'content': '写一个读取Excel文件并统计各列数据类型的函数'}
]
)
print(response['message']['content'])
10. Ollama REST API 直接调用
即使不用 Python SDK,也可以直接通过 HTTP 请求调用 Ollama API,适用于任何编程语言。
10.1 生成回答
bash
curl http://localhost:11434/api/chat -d '{
"model": "qwen2.5:7b",
"messages": [
{"role": "user", "content": "什么是机器学习?用一句话解释"}
],
"stream": false
}'
10.2 流式生成
bash
curl http://localhost:11434/api/chat -d '{
"model": "qwen2.5:7b",
"messages": [
{"role": "user", "content": "写一个Python冒泡排序"}
],
"stream": true
}'
10.3 查看正在运行的模型
bash
curl http://localhost:11434/api/ps
10.4 列出所有本地模型
bash
curl http://localhost:11434/api/tags
10.5 获取文本嵌入向量
bash
curl http://localhost:11434/api/embeddings -d '{
"model": "qwen2.5:7b",
"prompt": "这是一段测试文本"
}'
10.6 Python 使用 requests 库调用
python
# rest_api_call.py
import requests
import json
OLLAMA_URL = "http://localhost:11434"
def chat(model: str, messages: list, stream: bool = False) -> str:
payload = {
"model": model,
"messages": messages,
"stream": stream
}
if stream:
response = requests.post(
f"{OLLAMA_URL}/api/chat",
json=payload,
stream=True
)
full_text = ""
for line in response.iter_lines():
if line:
chunk = json.loads(line)
content = chunk.get("message", {}).get("content", "")
print(content, end="", flush=True)
full_text += content
print()
return full_text
else:
response = requests.post(f"{OLLAMA_URL}/api/chat", json=payload)
result = response.json()
return result["message"]["content"]
# 使用示例
answer = chat(
model="qwen2.5:7b",
messages=[
{"role": "user", "content": "用Python实现斐波那契数列,给出三种方式"}
],
stream=True
)
11. 常见问题与解决方案
11.1 模型下载速度慢或超时
bash
# 设置环境变量使用代理(如果有)
set HTTPS_PROXY=http://127.0.0.1:7890
ollama pull qwen2.5:7b
# 或使用 Hugging Face 镜像下载(手动导入)
# 从 hf-mirror.com 下载 GGUF 格式模型文件后导入
ollama create my-model -f Modelfile
11.2 Error: could not connect to ollama app
Ollama 服务未启动:
bash
# 手动启动服务
ollama serve
# 或检查服务状态
# Windows: 打开"服务"管理器,找到 Ollama,确认状态为"正在运行"
11.3 Python 连接 Ollama 报错 ConnectionError
python
# Ollama 默认监听 localhost:11434
# 如果部署在远程服务器,需要配置环境变量
import ollama
ollama.Client(host='http://192.168.1.100:11434')
远程服务器需配置 Ollama 监听所有网卡:
bash
# Linux/macOS
OLLAMA_HOST=0.0.0.0 ollama serve
# Windows:设置系统环境变量
# OLLAMA_HOST = 0.0.0.0
11.4 模型回复乱码或截断
python
# 降低 temperature,减少重复
response = ollama.chat(
model='qwen2.5:7b',
messages=[{'role': 'user', 'content': '...'}],
options={
'temperature': 0.3,
'repeat_penalty': 1.2,
'num_predict': 4096 # 增大输出长度
}
)
11.5 GPU 显存不够运行大模型
bash
# 使用量化版本(显存占用减少约 70%)
ollama run qwen2.5:7b-q4_K_M
# 或设置仅使用 CPU(调试用)
set OLLAMA_NUM_GPU=0
ollama run qwen2.5:7b
11.6 Windows 下 Ollama 服务占用 C 盘空间过大
bash
# 将模型存储迁移到其他盘
# 设置环境变量
set OLLAMA_MODELS=D:\ollama_models
# 或在系统环境变量中永久设置
# 变量名:OLLAMA_MODELS
# 变量值:D:\ollama_models
设置后需重启 Ollama 服务,并将原目录 C:\Users\用户名\.ollama\models 中的文件移动到新目录。
11.7 Python 脚本中模型加载慢(首次调用延迟高)
首次调用时模型需要加载到显存,可能耗时 10-30 秒。可提前预热:
python
# warm_up.py
import ollama
# 预热:发送一个简单请求,让模型加载到显存
try:
ollama.chat(model='qwen2.5:7b', messages=[
{'role': 'user', 'content': 'hi'}
])
print("模型预热完成")
except Exception as e:
print(f"预热失败: {e}")
11.8 同时运行多个模型
bash
# Ollama 支持同时加载多个模型(取决于显存大小)
# 在不同终端窗口分别运行
ollama run qwen2.5:7b
ollama run deepseek-r1:7b
12. 总结
12.1 本文核心要点
- Ollama 是本地大模型部署的最优选择:一键安装、GPU 自动加速、REST API 开箱即用。
- Python 集成非常简单 :
pip install ollama后即可同步/流式调用,支持多轮对话。 - LangChain + Ollama 是 RAG 的最佳入门方案:无需 API Key,完全本地运行,数据不出本机。
- Modelfile 可以定制专属 AI 助手:设置系统提示词和参数,打造特定领域的 AI 助手。
12.2 推荐模型选择指南
| 使用场景 | 推荐模型 | 理由 |
|---|---|---|
| 通用中文问答 | qwen2.5:7b |
中文能力最强 |
| 代码生成 | deepseek-r1:7b |
代码与推理能力出色 |
| 轻量部署(显存小) | gemma3:4b |
仅需 3GB 显存 |
| 高质量推理 | deepseek-r1:14b |
思维链推理能力强 |
| 英文场景 | llama3.1:8b |
Meta 开源,英文表现好 |
12.3 进阶学习方向
- Ollama 多模态 :运行支持图片理解的模型(如
llava) - Function Calling:让模型调用外部工具和 API
- Ollama + Open WebUI:搭建类似 ChatGPT 的 Web 界面
- Ollama 集群部署:多机多卡运行超大参数模型
- 模型微调:基于 Ollama 运行 LoRA 微调后的模型
📌 如果本文对你有帮助,欢迎点赞收藏,关注博主获取更多 Python + AI 实战教程!
📕个人领域 :Linux/C++/java/AI🚀 个人主页 :有点流鼻涕 · CSDN
💬 座右铭 : "向光而行,沐光而生。"
