当前位置: 首页 > news >正文

使用Ollama,VLLM,LMDeploy部署大模型

1.ollama

Ollama

这个工具适合个人自己部署大模型,因为他支持的模型比较小,而且只支持特定的模型,可以在搜索框找到的即可

下载支持Linux,widows,macOS

这边使用Linux平台,将下载命令放到终端运行即可(建议创建一个虚拟环境)

curl -fsSL https://ollama.com/install.sh | sh

开启服务:

ollama run 模型的绝对路径

建议使用vscode,因为可以开启多个终端,ollama启动后不能关闭,新建一个终端执行对话

运行示例代码:其中qpi_key是随便写的,因为ollama的api_key是公共的,想写什么都可以,但是不能不写,不写会报错


from openai import OpenAIclient=OpenAI(base_url="http://localhost:11434/v1/",api_key="jdiaojnkca")
chat_completion=client.chat.completions.create(messages=[{"role":"user","content":"你好,请介绍下你自己"}],model="qwen2.5:0.5b"
)
print(chat_completion.choices[0])

2.VLLM

欢迎来到 vLLM! | vLLM 中文站

一般都在服务器上使用,如果是非CUDA的用户请按照要求参考文档操作

系统: Linux      Python: 3.9 -- 3.12  创建一个新的虚拟环境,以防有些包与其他的冲突(冲突有时候解决很麻烦,因为可能你换了合适的版本之后又会有别的包冲突,遇到过几次,折磨怕了),所以建议友友们有条件还是尽量创建一个新的虚拟环境

依次执行这三条命令

conda create -n vllm python=3.12 -y
conda activate vllm
pip install vllm

然后在vscode终端输入

vllm serve Qwen/Qwen2.5-1.5B-Instruct(这个要写模型存放的绝对路径)

然后等待下载需要的包和资源,当出现下面这种,就可以新开一个终端你要执行的代码,开启会话

3.LMDeploy

https://lmdeploy.readthedocs.io/zh-cn/stable/index.html

这个其实和vllm类似,不过要注意这个要求,要求使用的显卡,只有在sm70以上的才可以

conda create -n lmdeploy python=3.8 -y
conda activate lmdeploy
pip install lmdeploy
lmdeploy serve api_server 模型的绝对路径

开启服务后,新建终端,激活创建的虚拟环境,运行代码文件,python 文件名.py

from openai import OpenAI
client = OpenAI(api_key='YOUR_API_KEY',base_url="http://0.0.0.0:23333/v1"
)
model_name = client.models.list().data[0].id
response = client.chat.completions.create(model=model_name,messages=[{"role": "system", "content": "You are a helpful assistant."},{"role": "user", "content": " provide three suggestions about time management"},],temperature=0.8,top_p=0.8
)
print(response)

http://www.dtcms.com/a/294565.html

相关文章:

  • 二分查找-162.寻找峰值-力扣(LeetCode)
  • P1040 [NOIP 2003 提高组] 加分二叉树
  • 小米浏览器overflow不能左右滑动
  • spring-cloud概述
  • (Arxiv-2025)OVIS-U1技术报告
  • 想曰加密工具好用吗?本地安全、支持多算法的加密方案详解
  • NTC热敏电阻计算公式
  • 【大模型】Hugging Face常见模型格式详解
  • 【硬件-笔试面试题】硬件/电子工程师,笔试面试题-6,(知识点:二极管,少子多子,扩散/漂移运动)
  • mysql中ROW_NUMBER()、RANK()、DENSE_RANK()用法及区别
  • 在AI深度嵌入企业业务的当下——AI时代的融合数据库
  • 知己知彼:深入剖析跨站脚本(XSS)攻击与防御之道
  • React+Three.js实现3D场景压力/温度/密度分布可视化
  • 使用 piano_transcription_inference将钢琴录音转换为 MIDI
  • 2.4 PNIO-CM
  • 初级网安作业笔记3
  • opencv学习(视频读取)
  • Spring Data Redis 从入门到精通:原理与实战指南
  • 2025暑期—06神经网络-常见网络
  • JVM、Dalvik、ART区别
  • JS逆向实战案例之———x日头条【a-bogus】分析
  • 解析 Chromium 架构分层下 Windows 与 Linux 链接器行为差异及其影响
  • [深度学习] 大模型学习3下-模型训练与微调
  • 提升ARM Cortex-M系统性能的关键技术:TCM技术解析与实战指南
  • C++11扩展 --- 并发支持库(中)
  • sqlsuger 子表获取主表中的一个字段的写法
  • 第一章:Go语言基础入门之Go语言安装与环境配置
  • 顺丰面试提到的一个算法题
  • OpenAI发布ChatGPT Agent,AI智能体迎来关键变革
  • Git原理及使用