## 引言
随着大语言模型(LLM)的日渐普及,越来越多的项目如 llama.cpp、Ollama、GPT4All 等,显示出在本地运行这些模型的需求增长。本地运行LLM的优势显而易见:数据隐私得到保障,同时避免了高昂的推理费用。本文将探讨如何在本地设备上运行LLM,并提供实用的代码示例和解决方案。
## 主要内容
### 开源大语言模型
开源LLM的选择日益丰富,可供用户自由修改和共享。选择合适的模型时,需考虑两个维度:
1. **基础模型**:模型的训练方式及其基础架构。
2. **微调方法**:模型是否经过微调及使用的指令集。
### 推理框架
一些框架已出现以支持在各种设备上进行LLM的推理:
- **llama.cpp**:通过权重优化和量化来实现推理的C++实现。
- **GPT4All**:优化的C后端,用于高效推理。
- **Ollama**:将模型权重和环境打包成可在设备上运行的应用。
- **llamafile**:将模型权重与运行所需的所有组件打包成一个文件,无需额外安装步骤。
### 量化与推理效率
这些框架的一般作用在于通过量化减小模型的内存占用,并支持在消费者硬件(如 CPU 或笔记本 GPU)上高效推理。
### 格式化提示语
某些供应商提供的聊天模型包装器会自动格式化输入提示,但在使用文本输入/输出的LLM包装器时,你可能需要针对具体模型调整提示语格式。
## 代码示例
以下是使用Ollama在macOS上进行推理的快速示例:
```python
# 安装必要的软件包
%pip install -qU langchain_ollama
from langchain_ollama import OllamaLLM
# 定义模型
llm