本地运行LLM的框架的选择
Ollama和vLLM作为当下流行的LLM部署工具,各具独特优势与适用场景。
Ollama
-
安装和配置
■ 使用Docker容器部署,简化安装流程;
■ 支持多种操作系统(包括Windows、Mac和Linux),提供标准化的API接口。
■支持从huggingface/modelscope等平台下载的模型文件。 -
性能
■ 在GPU环境下,推理速度显著优于CPU,支持OneAPI接入提升性能;
■ 显存占用相对较低,例如Qwen2.5:7b模型仅需6GB显存。 -
资源占用
■ 在调用时加载模型,显存占用较低,适合在资源有限的环境中运行;
■ 支持多种大模型,包括Qwen2.5等。 -
成本
■ 本地部署,需要本地机器硬件支持,成本取决于硬件配置。
vLLM
-
安装和配置
■ 需要安装Python环境和相关依赖,对技术要求较高(也支持Docker);
■ 支持从huggingface/modelscope等平台下载的模型文件。 -
性能
■ 采用PagedAttention技术,提高内存利用率,支持高并发处理;
■ 在高用户负载下,vLLM官方给出的吞吐量比HuggingFace Transformers高出24倍,比Text Generation Inference高出3.5倍。 -
资源占用
■ 模型加载常驻显存,显存占用相对较高,例如单卡16GB显存可能不足以运行Qwen2.5:7b模型;
■ 需要较高的计算资源,适合在高性能硬件环境中运行。 -
成本
■ 本地部署,需要本地机器硬件支持,成本取决于硬件配置。
总结
在多机、多卡环境下,vLLM的性能优势可能更加明显
- 技术基础和资源:如果有较强的技术基础和硬件资源,可以选择vLLM以获得更高的性能和吞吐量。如果希望快速搭建和管理知识库,且对硬件资源要求不高,可以选择Ollama;
- 成本考虑:如果硬件资源有限,尤其是在只有CPU或者单卡的情况下,选择Ollama进行本地部署是一个不错的选择,能够满足大部分的场景需要。如果有一定的硬件资源,且需要MaxKB具备高性能的问答能力,可以选择vLLM,或者通过类似Xinference平台进行部署;
- MaxKB应用场景:简单来说,对于需要高效实时响应和高并发处理的问答场景,vLLM更为适合。对于需要快速搭建和灵活管理知识库的应用场景,Ollama更为适合。
====================
支持windows本地部署LLM的框架
Ollama
Ollama:一个主打“本地化”体验的大模型推理框架
支持windows,macOS,linux
https://ollama.com/download
LM Studio
支持windows,macOS,linux
下载模型时会遭遇失败,需要HF的代理
https://lmstudio.ai/
GPT4ALL
GPT4All 是一个开源平台,旨在提供本地化的语言模型解决方案,使用户能够在本地计算机上运行和部署强大的语言模型。其主要功能包括支持聊天机器人、文本生成、问答系统和其他基于自然语言处理的应用。支持CPU和GPU的本地推理能力。
支持windows,macOS,linux
https://www.nomic.ai/gpt4all
===========
Ollama 本地部署大模型
Ollama是一个开源的大型语言模型部署工具,它可以帮助用户快速在本地部署运行大模型。类似于Docker一样,仅仅用几行命令就可以运行一个大模型。
https://ollama.com/
官网直接下载安装:Download Ollama
默认会安装在C盘,占用3G左右空间
C:\Users\c1g\AppData\Local\Programs
修改ollama安装目录
通常情况下,我们不希望安装到C盘,此时我们就可以通过使用命令的方式将Ollama安装到其他盘。
以管理员身份运行CMD,并定位到OllamaSetup.exe所在的目录(假设OllamaSetup.exe在D:\download目录下),然后执行如下命令:
OllamaSetup.exe /DIR="D:\software\Ollama"
环境配置
关于->高级系统设置->环境变量
配置Ollama模型文件地址
由于Ollama在下载模型时,会自动下载到C盘,因此需要设置下载目录。方法如下:
在环境变量中添加“OLLAMA_MODELS”,之后重启ollama,我把下载模型的目录设置在了"D:\ai\ollama"目录下。
1.下载地址
OLLAMA_MODELS
D:\ai\ollama_models
2.监听地址和端口
OLLAMA_HOST
0.0.0.0:3001
3.跨域
OLLAMA_ORIGINS
*
运行ollama后,桌面右下角就出出来一个羊驼图标,右键"view logs",就可以看一些运行信息.
routes.go:1125: INFO server config env="map[CUDA_VISIBLE_DEVICES: GPU_DEVICE_ORDINAL: HIP_VISIBLE_DEVICES: HSA_OVERRIDE_GFX_VERSION: OLLAMA_DEBUG:false OLLAMA_FLASH_ATTENTION:false OLLAMA_HOST:http://0.0.0.0:3001 OLLAMA_INTEL_GPU:false
Ollama使用帮助
使用win健+R,打开cmd命令
ollama -h
Usage:
ollama [flags]
ollama [command]
Available Commands:
serve Start ollama
create Create a model from a Modelfile
show Show information for a model
run Run a model
pull Pull a model from a registry
push Push a model to a registry
list List models
ps List running models
cp Copy a model
rm Remove a model
help Help about any command
Flags:
-h, --help help for ollama
-v, --version Show version information
Use "ollama [command] --help" for more information about a command.
Ollama 常用命令
ollama serve #启动ollama
ollama create #从模型文件创建模型
ollama show #显示模型信息
ollama run #运行模型
ollama pull #从注册表中拉取模型
ollama push #将模型推送到注册表
ollama list #列出模型
ollama cp #复制模型
ollama rm #删除模型
ollama help #获取有关任何命令的帮助信息
启动ollama后查看
http://localhost:3001/
Ollama is running
开启windows防火墙
windows defender
新建入站规则,端口tcp:3001,允许连接
http://192.168.244.1:3001
模型仓库下载地址
https://ollama.com/library
模型介绍
在使用 Ollama 部署 DeepSeek R1 系列模型时,硬件需求主要取决于模型的大小(参数量)。模型越大,对计算资源(如 GPU 显存、CPU 和内存)的要求越高。以下是 DeepSeek R1 系列模型对硬件的要求概览:
GPU 需求
1.5B 和 7B 模型:可以在消费级 GPU 上运行,例如 NVIDIA GTX 1660、RTX 3060(8-12 GB 显存)。
8B 和 14B 模型:需要高端 GPU,例如 NVIDIA RTX 3090、A100(16-24 GB 显存)。
32B 和 70B 模型:需要专业级 GPU,例如 NVIDIA A100、H100(32 GB+ 显存)。
671B 模型:需要多 GPU 并行计算,例如多张 A100 或 H100。
CPU 和内存需求
1.5B 和 7B 模型:8-16 GB 内存,普通多核 CPU(如 Intel i5 或 Ryzen 5)。
8B 和 14B 模型:16-32 GB 内存,高性能多核 CPU(如 Intel i7 或 Ryzen 7)。
32B 和 70B 模型:64-128 GB 内存,服务器级 CPU(如 Intel Xeon 或 AMD EPYC)。
671B 模型:256 GB+ 内存,多路服务器级 CPU。
Llama
Meta产品Llama 3.1
包含8B、70B 和405B三个规模,最大上下文提升到了128k,Llama目前开源领域中用户最多、性能最强的大型模型系列之一
Llama 3.1 8B 128k 4.7GB
ollama pull llama3.1
llama3.3 70b 80G
ollama pull llama3.3
Google Gemma2
谷歌明星开源模型Gemma 2
Gemma 2有90亿(9B)和270亿(27B)两种参数规模可用
Gemma2 9B 8k 5.4GB
ollama pull gemma2:9b
Alibaba qwen2
阿里云发布开源模型通义千问2,Qwen2-7B比Llama3-8B快
Qwen2-0.5B、Qwen2-1.5B、Qwen2-7B、Qwen2-57B-A14B 和 Qwen2-72B
qwen2 7B 128K 4.4GB
ollama pull qwen2:7b
qwen2.5 7B 4.7GB
ollama pull qwen2.5
代码模型列表,以7B为主
deepseek coder 7B
CodeGemma 7B
StarCode2 7B
Code Llama 7B
CodeGemma
CodeGemma模型保留了基础Gemma模型的自然语言处理能力。
CodeGemma支持包括 Python、JavaScript、Java、Kotlin、C++、C#、Rust、Go 在内的多种编程语言。
专注于代码生成、理解、补全、数学推理和指令遵循等任务,性能优越,适用于多种场景,将为开发者带来全新编程体验。
CodeGemma7B 8K 5.0GB
ollama pull codegemma:7b
deepseek-coder-v2 16b 8.9GB
没有更小的
starcoder2
starcoder2 7B 4.0GB
starcoder2 3B 1.7GB
llama2-chinese
Llama 2 对话中文微调参数模型
这个模型是基于 Meta Platform, Inc. 所发布的 Llama 2 Chat 开源模型来进行微调
llama2-chinese 7b 3.8GB
deepseek
deepseek-v3 通用基础模型,堪比业内顶尖模型如GPT-4、Claude-3.5等
deepseek-r1 深度推理模型,专门用来解决那些需要复杂推理和深度思考的问题。它处理的任务更具挑战性,比如数理逻辑推理、编程代码分析等
deepseek 1.5b 1.1GB
deepseek 7b 4.7GB
deepseek 32b 20GB
deepseek 671b 404GB
ollama pull deepseek-r1:7b
部署模型示例
ollama run llama3.1
ollama run gemma2:9b
ollama run qwen2:0.5b
运行的模型列表
ollama list
拉取deepseek-r1:7b模型
ollama pull deepseek-r1:7b
pulling manifest
pulling 96c415656d37... 100% ▕████████████████████████████████████████████████████████▏ 4.7 GB
pulling 369ca498f347... 100% ▕████████████████████████████████████████████████████████▏ 387 B
pulling 6e4c38e1172f... 100% ▕████████████████████████████████████████████████████████▏ 1.1 KB
pulling f4d24e9138dd... 100% ▕████████████████████████████████████████████████████████▏ 148 B
pulling 40fb844194b2... 0% ▕ ▏ 0 B/ 487 B
verifying sha256 digest
writing manifest
success
运行deepseek-r1:7b
ollama run deepseek-r1:7b
>>> Send a message (/? for help)
>>> hello
<think>
</think>
Hello! How can I assist you today?
>>> 你好
<think>
Alright, the user greeted me with "你好," which means "hello" in Chinese. I should respond politely.
I want to make sure my reply is friendly and clear.
Maybe say something like, "你好!有什么我可以帮助你的吗?" which means "Hello! Is there anything I can help you
with?"
That sounds good!
</think>
你好!有什么我可以帮助你的吗?
>>> Send a message (/? for help)
如果我们想退出对话,我们可以通过/bye命令退出
使用API访问模型
Ollama有一套用于运行和管理模型的 REST API。
Generate a response
curl http://localhost:3001/api/generate -d ‘{
"model": "llama3.1:latest",
"prompt":"Why is the sky blue?"
}’
curl http://localhost:3001/api/generate -d ‘{
"model": "llama3.1:latest",
"prompt": "写一首关于夏天的打油诗",
"format": "json",
"stream": false
}’
更多API可以参考:
https://github.com/ollama/ollama/blob/main/docs/api.md
客户端交互工具
虽然我们可以通过CMD窗口进行对话,但是相对不那么直观,于是我们可以通过第三方Web UI来实现对话效果。
支持windows的客户端工具
可以使用
浏览器插件
- Chat with Ollama
- Page Assist
支持多人的webui
docker安装UI
- Dify
- open-WebUI
Chrome插件-Chat with Ollama
我们通过谷歌浏览器官方插件地址搜索Chat with Ollama
安装完成后在Hostname输入本地地址:http://localhost:3001,选择Model,保存后可以开始对话
Chrome插件-Page Assist
我们通过谷歌浏览器官方插件地址搜索Page Assist
新增至 Chrome
在设署选项中->ollama设置->Ollama URL:http://127.0.0.1:3001
保存完后就可以看到上方有可用的模型,选择模型后就可以使用.
第三方网站chatboxai
直接访问 https://web.chatboxai.app/
打开后界面中间会有一个弹出框,直接选择"local model",或者点击左下角的settings.
先在DISPLAY中设置语言为"简体中文",
在MODEL中设置API:http://127.0.0.1:3001,模型中选择已有模型”deepseek-r1:7b”.最后保存.
如果无法连接可以修改 WINDOWS 用户环境变量中
OLLAMA_HOST 0.0.0.0 --任何IP都可以访问
OLLAMA_ORIGINS *
配置好环境变量后,重启下Ollama.
接下来我们就可以愉快的对话了.
No Responses (yet)
Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.