有哪些在本地运行大模型的方法

前言

在本文中,我们将看到在本地运行任何 LLM 的不同方法

1/ LMStudio

LM Studio 是一款桌面应用程序,用于在计算机上运行本地 LLM。链接:https://lmstudio.ai/

2/ Ollama

Ollama 是一款工具,可让您在机器上本地运行开源大型语言模型 (LLM)。它支持多种模型,包括 Llama 2、Code Llama 等。它将模型权重、配置和数据捆绑到一个由 Modelfile 定义的包中。链接:https://ollama.com/

3/ HuggingFace 和 Transformer

Hugging Face 是机器学习和人工智能的 Docker Hub 版本,提供大量开源模型。Hugging Face 还提供 transformers,这是一个 Python 库,可简化本地运行 LLM 的过程。示例:如何运行 Microsoft 的 Phi 2import torch
from transformers import AutoModelForCausalLM, AutoTokenizer

torch.set_default_device(
"cuda")

model = AutoModelForCausalLM.from_pretrained(
"microsoft/phi-2", torch_dtype="auto", trust_remote_code=True)
tokenizer = AutoTokenizer.from_pretrained(
"microsoft/phi-2", trust_remote_code=True)

inputs = tokenizer(
'''def print_prime(n):
"""
Print all primes between 1 and n
"""'''
, return_tensors="pt", return_attention_mask=False)

outputs = model.generate(**inputs, max_length=
200)
text = tokenizer.batch_decode(outputs)[
0]
print(text)

4/ LangChain

LangChain 是一个用于构建 AI 应用程序的 Python 框架。它提供抽象和中间件,以便在其支持的模型之一之上开发 AI 应用程序。例如,以下代码向 Microsoft/DialoGPT-medium 模型提出一个问题:from langchain.llms.huggingface_pipeline import HuggingFacePipeline

hf = HuggingFacePipeline.from_model_id(
model_id=
"microsoft/DialoGPT-medium", task="text-generation", pipeline_kwargs={"max_new_tokens": 200, "pad_token_id": 50256},
)

from langchain.prompts import PromptTemplate

template =
"""Question: {question}

Answer: Let's think step by step."""
prompt = PromptTemplate.from_template(template)

chain = prompt | hf

question =
"What is electroencephalography?"

print(chain.invoke({"question": question}))

5/ Llama.cpp

Llama.cpp 是一个基于 C 和 C++ 的 LLM 推理引擎,针对 Apple 芯片进行了优化,并运行 Meta 的 Llama2 模型。链接:https: //github.com/ggerganov/llama.cpp

6/ LlamaFile

由 Mozilla 开发,为运行 LLM 提供了一种用户友好的替代方案。Llamafile 以其可移植性和创建单文件可执行文件的能力而闻名。链接:https ://github.com/Mozilla-Ocho/llamafile

7/ Jan.ai

Jan通过在您的计算机上本地运行 LLM ,将您的计算机变成AI机器。这是一个注重隐私、本地优先的开源解决方案。链接:https://jan.ai/

8/ LLM

Simon Willison 的 LLM 是我见过的在自己的机器上下载和使用开源 LLM 的更简单的方法之一。虽然你需要安装 Python 才能运行它,但你不需要接触任何 Python 代码。如果你在 Mac 上使用 Homebrew,只需安装pip install llm

LLM 默认使用 OpenAI 模型,但您可以使用插件在本地运行其他模型。例如,如果您安装 gpt4all 插件,您将可以访问 GPT4All 中的其他本地模型。此外还有适用于 llama、MLC 项目和 MPT-30B 的插件,以及其他远程模型。

使用 LLM install model-name 在命令行上安装插件:llm install llm-gpt4all

要向本地 LLM 发送查询,请使用以下语法:llm -m the-model-name "Your query"

9/ GPT4ALL

GPT4ALL 是一款易于使用的桌面应用程序,具有直观的 GUI。它支持本地模型运行,并通过 API 密钥提供与 OpenAI 的连接。它以处理本地文档以获取上下文、确保隐私的能力而脱颖而出。链接:https: //gpt4all.io/index.html

10/ H2OGPT

h2oGPT 简化了创建私人 LLM 的过程。它包括一个大型语言模型、一个嵌入模型、一个用于文档嵌入的数据库、一个命令行界面和一个图形用户界面。

用户名和密码随便填,你可以在这里测试:https://gpt.h2o.ai/

链接:https://github.com/h2oai/h2ogpt

11/ LocalLLM

顾名思义,您还可以使用它运行本地 LLM!链接:https://github.com/GoogleCloudPlatform/localllm

12/ Oobabooga

适用于大型语言模型的 Gradio Web UI。其目标是成为文本生成的 AUTOMATIC1111/stable-diffusion-webui。链接:https: //github.com/oobabooga/text-generation-webui

13/ Koboldcpp

您可以从以下链接下载它的最新版本:https://github.com/LostRuins/koboldcpp/releases。

14/ LocalAI

LocalAI 是免费的开源 OpenAI 替代品。LocalAI 可作为替代 REST API,与 OpenAI(Elevenlabs、Anthropic……)API 规范兼容,用于本地 AI 推理。它允许您在本地或使用消费级硬件在本地运行 LLM、生成图像和音频(不止于此),支持多种模型系列。不需要 GPU。链接:https: //github.com/mudler/LocalAI

15/ EXUI

这是一个简单、轻量级的基于浏览器的 UI,用于使用 ExLlamaV2 运行本地推理。链接:https: //github.com/turboderp/exui

16/ vLLM士

vLLM 是一个快速且易于使用的 LLM 推理和服务库。安装非常简单pip install vllm

链接:https://github.com/vllm-project/vllm

17/ MLX

MLX 是 Apple 芯片上用于机器学习研究的阵列框架,由 Apple 机器学习研究部门提供。您也可以托管本地 LLM

链接:https://github.com/ml-explore/mlx

18/ CTranslate2

CTranslate2 是一个 C++ 和 Python 库,用于使用 Transformer 模型进行高效推理。目前支持以下模型类型:

  • 编码器-解码器模型:Transformer base/big、M2M-100、NLLB、BART、mBART、Pegasus、T5、Whisper
  • 仅解码器模型:GPT-2、GPT-J、GPT-NeoX、OPT、BLOOM、MPT、Llama、Mistral、Gemma、CodeGen、GPTBigCode、Falcon
  • 仅编码器模型:BERT、DistilBERT、XLM-RoBERTa

链接:https://github.com/OpenNMT/CTranslate2

19/ Pinokio

一个不仅提供法学硕士学位,还提供多种解决方案的平台。链接:https://pinokio.computer/

20/ PowerInfer

PowerInfer 是一款利用激活局部性为您的设备提供 CPU/GPU LLM 推理引擎。链接:https: //github.com/SJTU-IPADS/PowerInfer

21/ MLC LLM

MLC LLM 是一种通用解决方案,允许将任何语言模型本地部署在各种硬件后端和本机应用程序上。链接:https://llm.mlc.ai/

22/ TXTAI

运行并使用任何 LLM。链接:https://github.com/neuml/txtai

23/ RayLLM

RayLLM(原名 Aviary)是一款基于 Ray Serve 构建的 LLM 服务解决方案,可轻松部署和管理各种开源 LLM。链接:https://github.com/ray-project/ray-llm

24/ LlamaSharp

llama.cpp 的 C#/.NET 绑定。它提供更高级别的 API 来推断 LLaMA 模型,并使用 C#/.NET 将其部署到本地设备上。它适用于 Windows、Linux 和 Mac,无需自行编译 llama.cpp。即使没有 GPU 或 GPU 内存不足,您仍然可以使用 LLaMA 模型!链接:https: //github.com/SciSharp/LLamaSharp

25/ LMQL

您可以在本地安装 LMQL,也可以使用基于 Web 的 Playground IDE。要通过 Transformers 或 llama.cpp 使用自托管模型,您必须在本地安装 LMQL。要在本地安装 LMQL:pip install lmql
#Running LMQL Programs
lmql playground

更多信息:

  • 文档:https://lmql.ai/docs/
  • 游乐场:https://lmql.ai/playground/

26/ AvaPLS

Ava PLS 是一款开源桌面应用程序,用于在您的计算机上本地运行语言模型。它允许您执行各种语言任务,如文本生成、语法校正、改写、摘要、数据提取等。链接:https://avapls.com/

27/ LiteLLM

使用 OpenAI 格式调用所有 LLM API [Bedrock、Huggingface、VertexAI、TogetherAI、Azure、OpenAI 等] 链接:https ://github.com/BerriAI/litellm

28/ HammerAI

也没有真正使用 LLM 开发 AI APP,但这款应用提供了在您自己的机器上使用 LLM 的聊天体验,使用 HammerAI,您可以与在您的浏览器中本地运行的角色扮演 AI 角色聊天——100% 免费且完全私密。链接:https://www.hammerai.com/

29/ Bedrock/VertexAI

谷歌和亚马逊提供法学硕士 (LLM) 托管解决方案

  • 链接:https://aws.amazon.com/bedrock/
  • 链接:https://cloud.google.com/vertex-ai

30/ 2Img.ai

大量的AI教程资源和LLM模型汇集。可以学习到很多。有一个本地化LLM的产品在孵化。等待她们的发布地址。


欢迎你分享你的作品到我们的平台上. http://www.shxcj.com 或者 www.2img.ai 让更多的人看到你的才华。

创作不易,觉得不错的话,点个赞吧!!!

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

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

相关文章

vue项目静态图片下载

正常情况下只需要传入图片路径就可以进行下载 methods: {downs(path, name) {//必须同源才能下载var alink document.createElement("a");alink.href path;alink.download name; //图片名alink.click();},}, 但是当我们downs方法中直接传入"/assets/load/xx…

二、分布式软总线是如何高效的传输数据和任务的

分布式软总线在HarmonyOS中高效传输数据和任务主要依靠以下几个关键技术点和设计原则: 设备快速发现与连接: 利用多种通信技术(如Wi-Fi、蓝牙、有线连接等),结合广播、多播及服务发现协议,实现设备间的快速发现与稳定连接。这包括设备的唯一标识管理、网络条件自适应选择…

【pytorch14】感知机

单层感知机模型 对于单层的感知机,它的激活函数是一个sigmoid 对于符号的定义做一个规范化,输入层每一层进行一个编号 输入是第0层,上标0表示属于输入层,下标0到n表示一共有n个节点(这里严格来说应该是0~n-1,为了书写…

一站式广告监测新体验,Xinstall助你广告投放更精准

在这个移动互联网飞速发展的时代,App推广与运营成为了每个开发者与广告主关注的焦点。然而,面对琳琅满目的广告平台和复杂的投放环境,如何精准评估广告效果、优化投放策略,成为了摆在面前的一道难题。今天,我们就来聊聊…

Jemeter--关联接口压测

Jemeter–独立不变参接口压测 Jemeter–独立变参接口压测 Jemeter–关联接口压测 案例分析 比如:有个波次复核接口很慢,优化后需要压测。但是波次复核接口数据是由另外两个接口(配单详情、内盒信息)的数据组合而来,而…

排序题目:三个数的最大乘积

文章目录 题目标题和出处难度题目描述要求示例数据范围 解法一思路和算法代码复杂度分析 解法二思路和算法代码复杂度分析 题目 标题和出处 标题:三个数的最大乘积 出处:628. 三个数的最大乘积 难度 3 级 题目描述 要求 给定一个整数数组 nums …

fastadmin最新版导出数据时 表格中会有 html标签的解决办法

fastadmin 自带的导出方法, 是一个纯前端的导出, 没有请求后台的接口 当我们使用导出功能时, 有些数据, 我们在设计的时候,配置的是 枚举类型的 但是当我们导出数据的时候, 居然导出的数据中带有 html 的…

使用el-col和el-row布局,有版心,一页有两栏布局 三栏布局 四栏布局 使用vue动态渲染元素

使用Vue结合Element UI的el-row和el-col组件来实现版心布局,并动态渲染不同栏数的布局,可以通过以下步骤实现: 定义版心容器:使用el-container来定义整个页面的容器,其中el-header、el-main、el-footer分别定义头部、主…

k8s-第十节-Ingress

Ingress 介绍 Ingress 为外部访问集群提供了一个 统一 入口,避免了对外暴露集群端口;功能类似 Nginx,可以根据域名、路径把请求转发到不同的 Service。可以配置 https 跟 LoadBalancer 有什么区别? LoadBalancer 需要对外暴露…

Promise解决异步编程问题

一个典型的异步编程问题:即您尝试在循环中发起多个异步请求,并希望在所有请求都完成后执行某些操作。然而,由于JavaScript的异步性质,num和total的比较在循环结束时立即执行,而不是在所有请求都完成后执行。这可能导致…

【12321骚扰电话举报受理中心-短信验证安全分析报告】

前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 暴力破解密码,造成用户信息泄露短信盗刷的安全问题,影响业务及导致用户投诉带来经济损失,尤其是后付费客户,风险巨大,造成亏损无底洞…

开发常识:命令行终端、库源码、开发环境阶段

目录 命令行终端 集成开发环境(IDE ):有插件校验等限制,成功率低于操作系统 库源码 github上搜 官网 UNPKG托管开源的包 专业名词 环境 开发:本地机 开发和调试 生产:最终部署 测试:…

交流负载箱的主要功能有哪些?

交流负载箱可以模拟各种实际用电设备的功率、电流、电压等参数,使得电源系统在运行过程中能够承受实际负载的考验,确保电源系统的稳定运行。通过交流负载箱对电源设备进行测试,可以检测出电源设备在过载、短路等异常情况下的保护功能是否正常…

Linux和mysql中的基础知识

cpu读取的指令大部分在内存中(不考虑缓存) 任何程序在运行之前都的加入到内存。 eip->pc指针,指明当前指令在什么位置。 代码大概率是从上往下执行的,基于这样的基本理论。既可以将一部分指令加载到CPU对应的缓存中&#xf…

解决zip文件中文乱码问题

后台微服务运行在linux环境里,前端Vue。在一个项目中,把后台的文件打包成zip,下载到前台。结果发现zip文件名本身乱码,zip文件内压缩的文件也是乱码。所谓乱码,程序员都见过,就是中文变成了乱七八糟的字符。…

【CSAPP】-datalab实验

实验原理与内容 本实验每位学生拿到一个datalab-handout.tar文件。学生可以通过U盘、网盘、虚拟机共享文件等方式将其导入到Unbuntu实验环境中,选择合适位置存放。然后在Ubuntu环境下解压。解压后,根据文件中的叙述和要求更改bits.c文件。本次实验的主要…

【全网最全】2024年APMCM第十四届亚太地区大学生数学建模竞赛(中文赛项)完整思路解析+代码+论文

我是Tina表姐,毕业于中国人民大学,对数学建模的热爱让我在这一领域深耕多年。我的建模思路已经帮助了百余位学习者和参赛者在数学建模的道路上取得了显著的进步和成就。现在,我将这份宝贵的经验和知识凝练成一份全面的解题思路与代码论文集合…

云计算【第一阶段(26)】Linux网络设置

一、查看网络配置 1.查看网络接口信息ifconfig 查看所有活动的网络接口信息 2.ifconfig命令 查看指定网络接口信息 ifconfig 网络接口 (1)第一行:以太网卡的名字 ens33其中en代表以太网卡, centos6的是eth0, e…

本地maven仓库向远程仓库部署jar包

使用mvn命令即可,如下 mvn deploy:deploy-file \ -DgroupIdtop.rdfa.auth \ -DartifactIdrdfa-auth-spring-mvc-starter \ -Dversion3.0.0-20230718-RELEASE \ -Dpackagingjar \ -Dfile/Users/panmeng/Documents/repository/top/rdfa/auth/rdf…

中国算力网络市场发展分析

中国算力网络市场发展现状 算力涵盖计算、内存、存储等全方位能力,广泛分布于网络边缘、云计算中心、联网设备及转发节点。随着数字化技术革新,算力与网络正深度融合,推动“算网一体化”的演进。这一新型基础设施日渐凸显其重要性&#xff0c…