把模型下载到电脑,只完成了本地推理的准备工作。真正跑通 Ollama,需要把三件事连起来:安装并启动服务、拉取模型、从 Python 调用模型。来源中的入门测验围绕这些基础操作展开;下面可以作为一份动手检查清单。
安装成功,不等于模型已经就绪
理解 Ollama,可以先区分三个部件:负责运行模型的本地服务、下载到本机的模型,以及应用使用的 Python 客户端。安装 Python 包不会自动安装 Ollama 服务,也不会替你下载模型。
可以这样实践:先安装适合操作系统的 Ollama 程序,再在终端检查命令是否可用。以下示例使用 llama3.2,它只是练习用的模型选择,不是来源指定的要求。
ollama --version
ollama pull llama3.2
ollama list
pull 下载模型,list 检查本机已有的模型。下载时间、磁盘占用和推理速度取决于模型大小、网络和硬件,不能把“能下载”当成“能流畅运行”。
如果 Ollama 服务尚未启动,可以在单独的终端执行:
ollama serve
如果桌面应用已经启动服务,就不必重复运行这个命令。
chat 和 generate:按输入结构选择
两种接口都可以生成文本,但应用组织输入的方式不同:
generate接收一个提示词,适合一次性的摘要、解释或改写任务。chat接收带有角色的消息列表,适合对话,以及需要区分系统要求和用户输入的场景。
选择 chat 不意味着客户端会自动保存对话。需要多轮交流时,应用应维护消息历史,并在后续请求中传入需要保留的上下文。
用一个 Python 文件验证完整链路
下面是可以这样实践的最小示例,假设 Ollama 已在本机运行,且已经拉取 llama3.2。如果改用其他模型,请同时修改下载命令和代码中的 MODEL。
安装 Python 客户端:
python -m pip install ollama
将下面的内容保存为 check_ollama.py:
import ollama
MODEL = "llama3.2"
def main():
generated = ollama.generate(
model=MODEL,
prompt="用两句话解释什么是本地大语言模型。",
stream=False,
)
print("=== generate ===")
print(generated["response"])
chatted = ollama.chat(
model=MODEL,
messages=[
{"role": "system", "content": "你是一位简洁的技术讲师。"},
{"role": "user", "content": "列出本地运行语言模型的两个限制。"},
],
stream=False,
)
print("\n=== chat ===")
print(chatted["message"]["content"])
if __name__ == "__main__":
main()
运行:
python check_ollama.py
这里显式关闭流式输出,让每次调用返回完整结果。注意两种响应的取值位置:generate 的文本在 response,chat 的文本在 message.content。不要把它们混用。
接入项目之前,检查这四件事
- 连接是否正常:连接失败时,先检查 Ollama 服务,而不是反复修改提示词。
- 模型名称是否一致:代码中的模型名称应与已拉取的模型匹配;可以用
ollama list核对。 - 资源是否足够:先测试短输入和小规模请求,再评估长上下文、并发和更大的模型。
- 输出是否需要验证:本地运行不会消除幻觉。涉及代码执行、数据库操作或业务决策的输出,仍应校验。
入门的验收标准很简单:你能解释服务、模型和客户端各自的职责,也能独立完成一次 generate 和一次 chat 调用。做到这些,再把超时处理、日志、多轮历史和输出验证接入项目,会更稳妥。