# Ollama 实现大模型调用
Ollama 实现大模型调用
1. 什么是 Ollama?
Ollama 是一个高效的本地 LLM 运行工具,支持 macOS、Linux 和 Windows。它通过一条命令即可在本地部署开源大模型,简化了模型管理和调用流程。无论是研究人员还是开发者,Ollama 都能帮助你轻松运行大模型,探索 NLP 的无限可能。
2. 安装与配置 Ollama
2.1 安装
- 访问 Ollama 官网,下载适用于你系统的安装程序(如 Windows 的
OllamaSetup.exe
)。 - 双击安装,默认路径为
C:\Users\%username%\AppData\Local\Programs\Ollama
。 - 安装完成后,右下角出现 Ollama 图标,右键选择「Quit Ollama」退出,为后续配置做准备。
2.2 环境配置
- 关闭开机自启(可选):
- 删除
%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup
中的Ollama.lnk
文件。
- 删除
- 配置模型存储路径(必须):
- 默认模型存储在
C:\Users\%username%\.ollama\models
,建议更改到其他盘(如D:\Work\ollama\models
)以节省 C 盘空间。 - 在系统环境变量中添加:
- 变量名:
OLLAMA_MODELS
- 变量值:
D:\Work\ollama\models
- 变量名:
- 默认模型存储在
2.3 运行模型
- 重新启动 Ollama,在安装目录打开命令行。
- 执行
ollama run <模型名称>
(如qwen2:1.5b
),首次运行会自动下载模型。 - 模型下载完成后即可交互使用。推荐模型:
- Qwen2:1.5b:轻量,适合低配置设备。
- Llama 2:7b:需 8GB 显存,性能更强。
- Llama 2:13b:需 16GB 显存,适合高性能任务。
注意:无 GPU 时默认使用 CPU,有 GPU 自动加载 GPU 加速。
3. 通过 Python 调用 Ollama
Ollama 提供灵活的 API,支持多种调用方式。以下是三种常见方法:
3.1 使用 ollama
库
- 安装:
pip install ollama
- 代码示例(聊天模式):
import ollama response = ollama.chat(model='qwen2:1.5b', messages=[{'role': 'user', 'content': '为什么天空是蓝色的?'} ]) print(response['message']['content'])
- 特点:简单直接,支持生成和聊天模式。
3.2 使用 ollama.Client
- 代码示例(远程调用):
from ollama import Client client = Client(host='http://127.0.0.1:11434') response = client.chat(model='qwen2:1.5b', messages=[{'role': 'user', 'content': '为什么天空是蓝色的?'} ]) print(response['message']['content'])
- 特点:支持远程服务器调用,适合分布式环境。
3.3 流式输出
- 代码示例:
import ollama stream = ollama.chat(model='qwen2:1.5b', messages=[{'role': 'user', 'content': '为什么天空是蓝色的?'} ], stream=True) for chunk in stream:print(chunk['message']['content'], end='', flush=True)
- 特点:实时输出,适合交互式应用。
4. 结合 LangChain 调用
LangChain 是一个强大的 LLM 应用框架,与 Ollama 结合可实现更复杂的功能。
- 安装:
pip install langchain langchain_community
- 代码示例:
from langchain_community.llms import Ollama llm = Ollama(base_url='http://127.0.0.1:11434', model='qwen2:1.5b', temperature=0) res = llm.invoke('你是谁?') print(res)
- 特点:支持复杂工作流,如 RAG、代理等,温度参数控制输出稳定性。
5. 使用 requests 调用
对于需要自定义调用的场景,可直接使用 HTTP 请求。
- 安装:
pip install requests
- 代码示例:
import requests url = 'http://127.0.0.1:11434/api/chat' headers = {'Content-Type': 'application/json'} data = {'model': 'qwen2:1.5b','options': {'temperature': 0},'stream': False,'messages': [{'role': 'system', 'content': '你是谁?'}] } response = requests.post(url, json=data, headers=headers, timeout=60) print(response.json())
- 特点:高度自定义,适合集成到现有系统。