本地部署大模型记录

news2024/11/16 20:34:03

前言

一说起大模型,都是需要GPU,能不能有一些方法实现本地也可以部署大模型,这也就是写这一篇的初衷了。

ollama

介绍

ollama主要简化了部署大模型的复杂度

github地址:ollama/ollama:启动并运行 Llama 2、Mistral、Gemma 和其他大型语言模型。 (github.com)icon-default.png?t=N7T8https://github.com/ollama/ollama

github上可以看ollama相关介绍,包括如何使用

下载

ollama一开始主要支持linux,docker也可以,目前有windows下的预览版可以下载

ollama官网 windows预览版下载icon-default.png?t=N7T8https://ollama.com/download/OllamaSetup.exe

运行

安装完成即可通过cmd窗口使用ollama命令来运行大模型(注意第一次会先下载模型文件,我这里用的llama2的大小是4G多,还可以)

接下来就可以输入进行大模型对话了

不过命令行在实际应用中不方便,那么也可以通过ollama实现webapi调用方式

ollama serve--启用server模式

ollama run llama2(这里就是具体模型名称)

接下来即可通过postman、apipost等工具调用大模型了

注意这里地址是:localhost:11434/api/chat

存在问题

1)命令行下速度很快,但是webapi方式就很慢

还没搞懂咋回事,现在只是初步知道了怎么用。后面再试试其他模型,看看是不是模型的问题

vllm

介绍

vllm主要作用其实是可以提高推理性能,但是必须在linux下运行,而且必须有GPU

官网地址

vllm官网 Welcome to vLLM! — vLLMicon-default.png?t=N7T8https://docs.vllm.ai/en/latest/

下载模型

这里以下载千问7B为例,由于模型文件会比较大,因此安装git的lfs插件

git lfs install
git clone https://huggingface.co/Qwen/Qwen-7B-Chat

安装vllm

安装的话,为了避免python环境冲突问题,先通过conda创建一个新的虚拟环境

然后pip install vllm

也可以先从github下载,再去安装

vllm github地址icon-default.png?t=N7T8https://github.com/vllm-project/vllm

运行

python -m vllm.entrypoints.openai.api_server  --model="Qwen/Qwen-7B-Chat" --trust-remote-code --port 1234

注意:--model参数这里,如果之前已经下载了模型文件,这里是参数值改为模型文件路径,否则设置为模型名,然后会自动下载

注意2:通过aipost工具调用大模型,model参数需要和如上cmd运行命令的--model参数一致,否则会提示找不到model,这个我觉得是比较不好的一点

存在问题

1)通过apipost工具调用webapi,回答完,还会继续输出其他内容

一样,没搞懂为啥

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1526372.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深入了解 Spring boot的事务管理机制:掌握 Spring 事务的几种传播行为、隔离级别和回滚机制,理解 AOP 在事务管理中的应用

🎉🎉欢迎光临,终于等到你啦🎉🎉 🏅我是苏泽,一位对技术充满热情的探索者和分享者。🚀🚀 🌟持续更新的专栏《Spring 狂野之旅:从入门到入魔》 &a…

zabbix监控InfluxDB

一、简介 InfluxDB是一个时序数据库,旨在处理时间戳数据的高写入和查询负载。它是用Go编程语言编写的开源数据库,专门用于存储和查询时间序列数据,如指标、事件和日志。InfluxDB通常用于监控和可观测性、物联网应用和实时分析。它支持类似SQ…

【C语言】常见的字符串处理函数

目录 1、strlen()函数 2、strcpy()、strncpy()函数 3、strstr() 函数 4、strcmp()、strncmp()函数 5、strcat(&#…

SpringCache和redis区别?什么是SpringCache?

目录 一、Redis介绍1.1 Redis缓存1.2 redis缓存使用前提1.3 redis使用缓存的时机 二、实际操作案例2.1 常规准备工作2.2 引入配置redis2.2.1 引入redis的启动依赖2.2.2 在application.yml里面配置redis的地址信息等2.2.3 创建redisTemplate的配置类,指定键值序列化方…

SpringCloud Sleuth 分布式请求链路跟踪

一、前言 接下来是开展一系列的 SpringCloud 的学习之旅,从传统的模块之间调用,一步步的升级为 SpringCloud 模块之间的调用,此篇文章为第十篇,即介绍 Sleuth 分布式请求链路跟踪。 二、概述 2.1 出现的原因 在微服务框架中&…

JavaWeb后端——分层解耦 IOC DI

分层/三层架构概述 三层架构:Controller、Service、Dao 解耦/IOC&DI概述 分层解耦 容器称为:IOC容器/Spring容器 IOC 容器中创建,管理的对象,称为:bean 对象 IOC&DI入门 实现 IOC&DI 需要的注解&#…

21-分支和循环语句_while语句(中)(初阶)

21-2 代码准备 getchar():获取字符 int ch getchar(); //把获取的字符的ASCII码值放在ch中 int main() {int ch getchar();printf("%c\n", ch); //ch存的是该字符的ASCII码值,此处以字符形式打印ASCII码值对应的字符putchar(ch); } 运…

C++容器适配器与stack,queue,priority_queue(优先级队列)的实现以及仿函数(函数对象)与deque的简单介绍

🎉个人名片: 🐼作者简介:一名乐于分享在学习道路上收获的大二在校生 🙈个人主页🎉:GOTXX 🐼个人WeChat:ILXOXVJE 🐼本文由GOTXX原创,首发CSDN&…

简单的溯源取证

环境准备: Linux虚拟机:内网部署蜜罐探测系统 。(192.168.XX.XX) windows虚拟机:有FTP弱口令漏洞的web服务 (受害机器) (192.168.125.134) kali Linux虚拟机:攻击机服务端 。 (192.168.125.130) MAC:管理员电脑。(192.168.XX.XX) 一、利用kailiLinuxmsf生成windows木马文件…

Maven项目 快速修复log4j 漏洞

1、log4j 漏洞介绍 log4j的漏洞介绍以及原理请参考文章 ,网址详见下面文章 Log4j漏洞原理及修复_linux log4j漏洞修复方案-CSDN博客,遇到这个漏洞要升级log4j 的jar包到2.17.0 以上。 2、项目快速处理方案 由于maven 管理jar 的spring 项目或者…

dpdk二层转发环境搭建-二

文章目录 前言虚拟机的网络拓扑结构网络拓扑结构网络配置 DPDK的准备工作DPDK的编译网卡绑定 测试 前言 我之前尝试通过namespace,搭建dpdk的测试环境,但是对于tcp有点问题,而且过程也比较麻烦,见: dpdk网络转发环境的…

es文档操作命令

文档操作 documents 创建数据(put) 向 user 索引下创建3条数据 PUT /user/_doc/1 {"name":"zhangsan","age":18,"sex":"男","info":"一顿操作猛如虎,一看工资2500"…

【OpenCV • c++】图像平滑处理(1) —— 线性滤波

文章目录 一、平滑处理二、图像滤波三、邻域算子与线性邻域滤波四、方框滤波代码演示 一、平滑处理 平滑处理也称为模糊处理,是一种简单且使用频率很高的图像处理方法,平滑处理的用途有很多,最常见的是用来减少图像上的噪点或者失真。在涉及到…

鸿蒙Harmony应用开发—ArkTS声明式开发(容器组件:EffectComponent)

特效合并容器组件,用于子节点特效绘制的合并,实现特效的绘制性能优化。 说明: 该组件从API Version 10开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 该组件为系统接口。 目前该组件仅支持子组件背景…

[java基础揉碎]Object类详解

目录 equals方法: hashCode: toString: finalize: equals方法: 和equals对比 1.: 既可以判断基本类型,又可以判断引用类型 2.: 如果判断基本类型,判断的是值是否相等。示例: int i10; double d10.0; 3.:如果判断引用类型,判断的是地址是…

信息检索(十三):On Complementarity Objectives for Hybrid Retrieval

On Complementarity Objectives for Hybrid Retrieval 摘要1. 引言2. 相关工作2.1 稀疏和密集检索2.2 互补性 3. 提出方法3.1 Ratio of Complementarity (RoC)3.2 词汇表示(S)3.3 语义表示(D)3.4 互补目标 4. 实验4.1 实验设置4.2…

哪里有视频素材网站免费下载?高清烟花视频素材哪里有?

如果你在寻找那些能点亮夜空的绚丽烟花视频素材,或者无水印的高清视频素材,那下面这些资源网站将会是你的宝库。今天,我要分享给你一些最佳的无水印视频素材下载网站,让你的视频制作闪耀起来。 1.蛙学府 这个网站是视频创作者的天…

windows使用docker运行TP6使用swoole内置http服务

1,下载docker-Windows客户端 下载地址:https://www.docker.com/products/docker-desktop docker --version #查看docker版本 docker-compose --version #查看docker-compose版本 2,安装环境 使用一键安装包:https://gitee.com/yes…

如何在Linux CentOS部署宝塔面板并实现固定公网地址访问内网宝塔

文章目录 一、使用官网一键安装命令安装宝塔二、简单配置宝塔,内网穿透三、使用固定公网地址访问宝塔 宝塔面板作为建站运维工具,适合新手,简单好用。当我们在家里/公司搭建了宝塔,没有公网IP,但是想要在外也可以访问内…

Android和IOS应用开发-Flutter 应用中实现记录和使用全局状态的几种方法

文章目录 在Flutter中记录和使用全局状态使用 Provider步骤1步骤2步骤3 使用 BLoC步骤1步骤2步骤3 使用 GetX:步骤1步骤2步骤3 在Flutter中记录和使用全局状态 在 Flutter 应用中,您可以使用以下几种方法来实现记录和使用全局状态,并在整个应…