微信扫码
添加专属顾问
我要投稿
开源LLM推理框架大比拼:Ollama与vLLM谁更胜一筹?本文为你揭晓答案。 核心内容: 1. 两大热门开源框架Ollama和vLLM的全面对比 2. Ollama的极简安装与使用体验详解 3. 性能测试与适用场景的深度分析
三部曲之第一部分:对比分析我最爱的两个与 OpenAI 服务器兼容的 LLM 模型推理框架
开源 LLM 模型已经成为爱好者、程序员和希望在日常工作中使用生成式 AI 同时保护隐私的用户的热门选择。这些模型性能出色,有时在许多任务上甚至可以媲美像 GPT-4o 或 Claude Sonnet 3.5 这样的大型闭源模型。
虽然它们是开源的,但并不意味着开箱即用,你需要一个框架来在本地或服务器上运行它们,满足特定用例。此外,OpenAI 兼容的服务器已成为部署模型最流行的方式,因为这种 API 让你可以用几乎任何 SDK 或客户端来使用你的 LLM,比如 OpenAI SDK、Transformers、LangChain 等。所以问题来了:哪个框架最适合部署与 OpenAI 兼容的 LLM?
在这三篇系列文章中,我们将分析 Ollama 和 vLLM 这两个最受欢迎的框架,它们都支持 OpenAI API 兼容性。本分析将涵盖性能、易用性、自定义能力以及其他有助于选择最适合你特定用例的框架的公平比较。希望你喜欢这篇文章,如果觉得不错,请留言哦!
对比大战开始啦!
Ollama 是一个强大的框架,目标是让运行 LLM 变得尽可能简单。可以把它想象成 LLM 的 Docker——它简化了下载、运行和管理大型语言模型的整个过程,无论是在本地机器还是服务器上。
Ollama 的安装非常简单。以下是在不同平台上的安装方法:
Linux(我用的这个)
curl -fsSL https://ollama.com/install.sh | sh
macOS
brew install ollama
Windows
我不用 Windows,但 Ollama 的一个优势就是它的多功能性:
Ollama 提供了一个现成的模型库,你只需要一行代码就能运行:
ollama run <anymodel>
这让你可以轻松在终端运行 Ollama 模型库中的任何模型。在本教程中,我将使用我最喜欢的模型之一 Qwen2.5–14B,它可以在我的 RTX 4060(16GB 显存)上运行:
ollama run qwen2.5:14b --verbose
就这样!只用一行代码,你就能在本地或服务器上运行一个 LLM,想问啥就问啥。我加了 --verbose
参数,这样可以看到每秒处理的 token 数(tok/sec)性能——在我的机器上,达到了 26 tok/sec.
上一节展示了 Ollama 使用的简便性。但我们之前用的是默认参数。如果想改参数怎么办?
要用特定参数创建自己的模型,你需要创建一个 Modelfile,这是一个包含你想设置参数的纯文本文件。示例:
FROM qwen2.5:14b
# 设置温度为 1 [越高越有创造性,越低越连贯]
PARAMETER temperature 0.5
# 设置上下文窗口大小为 8192,控制 LLM 生成下一个 token 时可用的上下文 token 数
PARAMETER num_ctx 8192
# 设置生成 token 数为 4096(最大值)
PARAMETER num_predict 4096
# 系统提示配置
SYSTEM """You are a helpful AI assistant."""
构建并运行自定义模型:
# 构建模型
ollama create mymodel -f Modelfile
# 运行模型
ollama run mymodel --verbose
完整的可自定义参数列表可以查看这个链接:[链接地址]。
目前为止,我们已经在终端运行了一个模型,这是个很棒的功能,方便你轻松尝试各种模型。但我们研究的目标是用与 OpenAI 兼容的方式使用这些模型。Ollama 怎么做到呢?Ollama 提供了两种与模型交互的方式:
import requests
# 基本聊天完成请求
response = requests.post('http://<your_ollama_server_ip>:11434/api/chat',
json={
'model': 'qwen2.5:14b',
'messages': [
{
'role': 'system',
'content': 'You are a helpful AI assistant.'
},
{
'role': 'user',
'content': '什么是人工智能?'
}
],
'stream': False
}
)
print(response.json()['message']['content'])
用 OpenAI Python SDK:
from openai import OpenAI
client = OpenAI(
base_url="http://<your_ollama_server_ip>:11434/v1",
api_key="dummy" # vLLM 要求 API key,这是它对比 Ollama 的一个优势。我们这里设为 None,所以可以随便填个字符串
)
# 聊天完成
response = client.chat.completions.create(
model="qwen2.5:14b",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "什么是人工智能?"}
]
)
print(response.choices[0].message.content)
Ollama 的 API 功能强大,为开发者提供了很多实用特性。我们将在本教程的第三部分详细讨论这个框架的优缺点,现在先列出主要功能:
在本系列三篇的第一篇中,我们探索了 Ollama,一个强大且用户友好的本地运行 LLM 的框架。从简单的安装流程到灵活的 API 功能,Ollama 以其简洁和易用性脱颖而出,是开发者尝试开源 LLM 的一个吸引人选择。
本篇探索的主要收获:
在系列的第二部分,我们将深入探讨 vLLM,了解它的功能和能力。这将为第三部分做铺垫,我们会详细比较这两个框架,帮助你根据特定需求和用例做出明智选择。
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2025-08-02
大模型时代的AI Infra内容浅析与趋势思考
2025-08-02
阿里Qwen-MT翻译模型发布: 挑战GPT-4.1,专业术语、领域风格精准拿捏!
2025-08-02
AI开发者必看:深度解析MCP,打造高效LLM应用的秘密武器!
2025-08-02
【深度】企业 AI 落地实践(四):如何构建端到端的 AI 应用观测体系
2025-08-02
Ollama vs vLLM:哪个框架更适合推理?(第二部分)
2025-08-02
刚刚,Anthropic切断OpenAI对Claude的访问权限
2025-08-02
金融大模型的“垂直突围”:蚂蚁数科打造更懂金融的行业大脑
2025-08-02
一个人干掉整个技术部
2025-05-29
2025-05-23
2025-06-01
2025-05-07
2025-05-07
2025-05-07
2025-06-07
2025-06-21
2025-06-12
2025-05-20
2025-08-02
2025-08-02
2025-07-31
2025-07-31
2025-07-31
2025-07-30
2025-07-30
2025-07-30