使用 Ollama 将本地大型语言模型 (LLM) 集成到 Python 项目中,是提高隐私性、降低成本和构建可离线使用的 AI 应用的绝佳策略。Ollama 是一个开源平台,可让您轻松地在本地计算机上运行现代线性模型 (LLM)。设置好 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 发行版可能已自动启动服务。接下来拉取所需的模型,确保有足够的磁盘空间:
ollama pull llama3.2:latest
ollama pull codellama:latest
模型下载完成后,可通过命令行测试:
ollama run llama3.2:latest
# 输入提示词,例如:Explain what Python is in one sentence.
最后安装 Python SDK:
python -m pip install ollama
文本生成与对话交互
Ollama Python 库提供了两个主要工具:ollama.chat() 用于多轮对话,ollama.generate() 用于一次性生成。
多轮对话与上下文
chat() 函数适合构建具有上下文的助手。消息以字典列表形式传递,包含 role 和 content。
from ollama import chat
messages = [
{"role": "system", "content": "You are an expert Python tutor."},
{"role": "user", "content": "Define list comprehensions in a sentence."}
]
response = chat(model="llama3.2:latest", messages=messages)
print(response.message.content)
为了保持上下文,可以将模型的回复追加到消息列表中继续提问:
messages.append(response.message)
messages.append({: , : })
response = chat(model=, messages=messages)
(response.message.content)


