本地 LLM 模型与 Ollama、Python 集成实战
在本地计算机上运行大型语言模型(LLM)是提升隐私性、降低成本以及构建可离线 AI 应用的绝佳策略。Ollama 作为一个开源平台,让现代线性模型的本地运行变得简单。配置好 Ollama 并拉取模型后,即可通过 ollama 库从 Python 连接这些模型。
环境准备
要完成本教程,需确保以下资源就绪:
- Ollama 已安装并运行:这是使用本地 LLM 的基础。
- Python 3.8+:Ollama 的 Python SDK 依赖此版本。
- 模型资源:教程将演示
llama3.2:latest和codellama:latest。 - 硬件要求:本地运行需要足够的内存、磁盘空间和 CPU 性能。若有 GPU,速度会显著提升。
安装与配置
首先访问 Ollama 官网下载对应操作系统的安装程序。Windows 和 macOS 通常提供图形化安装包,Linux 用户可使用命令行脚本:
curl -fsSL https://ollama.com/install.sh | sh
验证安装是否成功:
ollama -v
若命令有效,继续启动服务:
ollama serve
部分 Linux 发行版(如 Ubuntu)可能已自动启动服务,此时手动执行可能会报错,属正常现象。
接下来拉取所需模型。以 llama3.2:latest 为例,它约占用 2.0 GB 空间:
ollama pull llama3.2:latest
ollama pull codellama:latest
下载完成后,可通过 CLI 快速测试:
ollama run llama3.2:latest
>>> Explain what Python is in one sentence.
Python is a high-level, interpreted programming language...
按 Ctrl + D 退出。若熟悉 Docker,会发现 Ollama 的 CLI 逻辑与之类似:拉取镜像即拉取模型,本地运行即调用模型。
基础交互:聊天与生成
Ollama Python 库提供了两个核心接口:ollama.chat() 用于多轮对话,ollama.generate() 用于一次性提示。
多轮对话
利用 chat() 函数可以构建具有上下文记忆的助手。消息列表包含角色(role)和内容(content)。
from ollama import chat
messages = [
{"role": "user", "content": "Explain what Python is in one sentence."}
]
response = chat(model="llama3.2:latest", messages=messages)
print(response.message.content)
为保持上下文,可将模型回复追加到消息列表中:
messages.append(response.message)
messages.append({: , : })
response = chat(model=, messages=messages)


