Llama 3消费级PC安装与运行教程

news2024/11/25 2:32:19

我是 Llama 的忠实粉丝。 Meta 发布其 LLM 开源代码对整个科技界来说是一项净收益,其宽松的许可证允许大多数中小型企业在几乎没有任何限制的情况下使用其 LLM(当然,在法律范围内)。 他们的最新版本是备受期待的 Llama 3。

Llama 3 有两种大小:80 亿和 700 亿参数。 这种模型经过大量文本数据的训练,可用于各种任务,包括生成文本、翻译语言、编写不同类型的创意内容以及以信息丰富的方式回答你的问题。 Meta 宣称 Llama 3 是最好的开放模型之一,但它仍在开发中。 这是与 Mistral 和 Gemma 相比的 8B 模型基准(根据 Meta)。

NSDT工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器 - REVIT导出3D模型插件 - 3D模型语义搜索引擎 - Three.js虚拟轴心开发包 - 3D模型在线减面 - STL模型在线切割

这就引出了一个问题:作为普通人,我如何在我的计算机上本地运行这些模型?

1、开始使用 Ollama

这就是Ollama登场的地方! Ollama 是一款免费的开源应用程序,允许你在自己的计算机上运行各种大型语言模型,包括 Llama 3,即使资源有限。 Ollama 利用了 llama.cpp 的性能提升,llama.cpp 是一个开源库,旨在允许你以相对较低的硬件要求在本地运行 LLM。 它还包括一种包管理器,使你只需一个命令即可快速有效地下载和使用 LLM。

第一步是安装 Ollama。 它支持所有 3 个主要操作系统,其中 Windows 是“预览版”(更好的说法是“测试版”)。

安装完成后,打开你的终端。 在所有平台上,命令都是相同的:

ollama run llama3

等待几分钟,它会下载并加载模型,然后开始聊天! 它应该会带你进入与此类似的聊天提示:

ollama run llama3
>>> Who was the second president of the united states?
The second President of the United States was John Adams. He served from 1797 to 1801, succeeding
George Washington and being succeeded by Thomas Jefferson.

>>> Who was the 30th?
The 30th President of the United States was Calvin Coolidge! He served from August 2, 1923, to March 4,
1929.

>>> /bye

你可以在这个终端聊天中整天聊天,但是如果想要更像 ChatGPT 的东西怎么办?

2、Open WebUI

Open WebUI 是一个可扩展的、自托管的 UI,完全在 Docker 内部运行。 它可以与 Ollama 或其他 OpenAI 兼容的 LLM 一起使用,例如 LiteLLM 或我自己的 Cloudflare Workers OpenAI API。

假设你的计算机上已经运行了 Docker 和 Ollama,安装Open WebUI非常简单:

docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

只需访问 http://localhost:3000,创建一个帐户,然后开始聊天!

如果你之前没有运行 Llama 3,则必须先关闭一些模型才能开始聊天。 最简单的方法是单击左下角你的名字后单击设置图标:

然后单击模式左侧的“models”,然后粘贴 Ollama 注册表中的模型名称。 以下是我推荐用于一般用途的一些模型。

  • llama3
  • mistral
  • llama2

4、Ollama API

如果你想将 Ollama 集成到自己的项目中,Ollama 提供自己的 API 以及 OpenAI 兼容 API。 API 自动将本地保存的 LLM 加载到内存中,运行推理,然后在一定的超时后卸载。 你必须先拉取想要使用的任何模型,然后才能通过 API 运行模型,这可以通过命令行轻松完成:

ollama pull mistral

4.1 Ollama API

Ollama 有自己的 API,其中还有一些用于 Javascript 和 Python 的 SDK。

以下是如何使用 API 进行简单的文本生成推理:

curl http://localhost:11434/api/generate -d '{
  "model": "mistral",
  "prompt":"Why is the sky blue?"
}'

以下是如何使用 API 进行聊天生成推理:

curl http://localhost:11434/api/chat -d '{
  "model": "mistral",
  "messages": [
    { "role": "user", "content": "why is the sky blue?" }
  ]
}'

将 model参数替换为你要使用的任何模型。 请参阅官方 API 文档以获取更多信息。

4.2 OpenAI 兼容 API

你还可以使用 Ollama 作为 OpenAI 库的替代品(取决于用例)。 这是他们文档中的一个示例:

# Python
from openai import OpenAI

client = OpenAI(
    base_url='http://localhost:11434/v1/',

    # required but ignored
    api_key='ollama',
)

chat_completion = client.chat.completions.create(
    messages=[
        {
            'role': 'user',
            'content': 'Say this is a test',
        }
    ],
    model='mistral',
)

这也适用于 JavaScript:

// Javascript
import OpenAI from 'openai'

const openai = new OpenAI({
  baseURL: 'http://localhost:11434/v1/',

  // required but ignored
  apiKey: 'ollama',
})

const chatCompletion = await openai.chat.completions.create({
  messages: [{ role: 'user', content: 'Say this is a test' }],
  model: 'llama2',
})

5、结束语

Meta 的 Llama 3 的发布及其大型语言模型 (LLM) 技术的开源标志着技术社区的一个重要里程碑。 现在,通过 Ollama 和 Open WebUI 等本地工具可以访问这些先进的模型,普通个人可以挖掘其巨大潜力来生成文本、翻译语言、创作创意写作等。

此外,API 的可用性使开发人员能够将 LLM 无缝集成到新项目或增强现有项目。 最终,LLM 技术通过 Llama 3 等开源项目实现民主化,释放了广阔的创新可能性,并激发了科技行业的创造力。


原文链接:Llama 3本地运行教程 - BimAnt

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

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

相关文章

自定义 Dockerfile 构建 PostgreSQL 15 编译版 Docker 镜像

BG 前几日 Sean 老师发布了一篇文章 – PostgreSQL安装(一): 再简单点儿,用Docker?, 介绍如何快速安装启动 PostgreSQL 数据库。 本文再稍微延伸一点,介绍一下如何自定义 Dockerfile,加入自己想要预制的参数,构建一个自定义的 …

C语言----贪吃蛇(补充)

各位看官好,我想大家应该已经看过鄙人的上一篇博客贪吃蛇了吧。鄙人在上一篇博客中只是着重的写了贪吃蛇的实现代码,但是前期的一些知识还没有具体的介绍,比如确认光标位置,句柄等。那么我这一篇博客就来补充上一篇博客所留下来的…

笔试狂刷--Day9(模拟 + dp + 规律)

大家好,我是LvZi,今天带来笔试狂刷--Day9 一.添加逗号 题目链接:添加逗号 分析: 模拟 代码: import java.util.*;// 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main {public static void main(String[] args) {Scanner in new Scanner(System.in);i…

社交媒体数据恢复:TT语音

TT语音数据恢复方法 1. 恢复聊天记录 如果您的TT语音聊天记录丢失,可以通过以下步骤尝试恢复: 登录TT语音:首先,您需要登录您的TT语音账户。如果您忘记了密码,可以通过点击登录页面的“忘记密码”链接,然…

【强训笔记】day7

NO.1 思路:双指针模拟,begin表示最长数字字符串最后一个字符,而len表示数字字符串的长度,i用来遍历,如果为数字,那么定义j变量继续遍历,直到不为数字,i-j如果大于len,就…

基于寄存器的STM32操作流程

寄存器点灯 寄存器操作STM32的好处是不需要依靠外部文件,自由度更高,更为底层,但也更加繁杂。 通过寄存器点灯,需要按照电路结构与手册配置寄存器: 电路结构如下:可知需配置的GPIO为GPIOB5与GPIOE5。 在…

机器学习之基于Jupyter中国环境治理投资数据分析及可视化

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 机器学习之基于Jupyter中国环境治理投资数据分析及可视化项目是一个结合了机器学习和数据可视化技术的项目&#xf…

SoapUI-x64-5.7.2安装教程

http://localhost:49652/Test.asmx?WSDL 双击请求:

Word技巧:3种方法快速重复上一步操作

在编辑Word文档的时候,我们经常需要重复上一步操作,如果重复性的操作很多,就会很耽误时间,那怎么可以快速重复上一步操作呢?下面分享3种方法,一起来看看吧! 方法1:利用“格式刷”功能…

利用亚马逊云科技GenAI企业助手Amazon Q Business构建企业代码开发知识库

2024年五一节假日的前一天,亚马逊云科技正式重磅发布了云计算行业期待已久的服务——Amazon Q Business。Amazon Q Business是专为企业用户打造的一个开箱即用的完善而强大企业GenAI助手。企业用户只需要将Amazon Q Business连接到现有的企业内部数据源,…

【免费Java系列】大家好 ,给大家出一些今天学习内容的案例点赞收藏关注,持续更新作品 !

PS:每个内容块下都有教学博文的超链接,有需要可以点过去学习 ! 目录 匿名内部类 1. 实现接口 2. 继承抽象类 3. 实现事件处理 枚举 1. 定义一个简单的枚举类型 2. 枚举类型可以有属性和方法 3. 枚举类型可以实现接口 泛型 1. 定义一个泛型类 2. 使用泛型方法 3. 泛型…

华为手机 鸿蒙系统-android studio识别调试设备,开启adb调试权限

1.进入设置-关于手机-版本号,连续点击7次 认证:有锁屏密码需要输入密码, 开启开发者配置功能ok 进入开发者配置界面 打开调试功能 重新在androd studio查看可运行running devices显示了, 不行的话,重启一下android …

【Flask 系统教程 4】Jinjia2模版和语法

Jinjia2 模板 模板的介绍 Jinja2 是一种现代的、设计优雅的模板引擎,它是 Python 的一部分,由 Armin Ronacher 开发。Jinja2 允许你在 HTML 文档中嵌入 Python 代码,以及使用变量、控制结构和过滤器来动态生成内容。它的语法简洁清晰&#…

U盘未初始化?别慌,数据还有救!

当我们将U盘插入电脑,期待地打开“我的电脑”或文件管理器,却发现U盘显示为未初始化,这种心情无异于一盆冷水浇头。但先别急着慌张,这篇文章将带你了解U盘未初始化的原因,并提供有效的数据恢复方案,让你在遭…

24.5.2数据结构|顺序表实现

主要是记笔记,留着以后复习回来看的,有些内容解释的并不清晰。也就稍微可以借鉴借鉴。 目录 一、如何定义结构? 二、看书搞清楚顺序表实现流程 三、使用clion写代码 实现代码过程中的错误代码 一、如何定义结构? 应该有的部…

AI与电力

好多写AI会导致电力匮乏的消息,不绝于耳。然而大部分只能知其然,却不能知其所以然,为什么缺,怎么缺,缺多少,没什么答案也没什么可参考的。 我关注一个事情,一般先了解一下论点,然后重点看论据,最后再自己论证合理不。今天这篇文章主要聊一下数据层面上是谈一谈AI如何导…

微信小程序+esp8266温湿度读取

本文主要使用微信小程序显示ESP8266读取的温湿度并通过微信小程序控制LED灯。小程序界面如下图所示 原理讲解 esp8266 通过mqtt发布消息,微信小程序通过mqtt 订阅消息,小程序订阅后,就可以实时收到esp8266 传输来的消息。 个人可免费注册五个微信小程序账号,在微信小程序官…

Python_GUI框架 Pyside6的信号与槽应用

Python_GUI框架 Pyside6的信号与槽应用 在Pyside6框架中,信号与槽(Signals and Slots)机制是连接用户界面元素与响应功能的核心机制。我们可以把信号想象成一根电线,而槽就是电线的另一端连接的灯泡。当电线(信号&…

ubuntu 小工具

随着在专业领域待得越久,发现总会遇到各种奇怪的需求。因此,这里介绍一些ubuntu上的一些小工具。 meld 对比文件 sudo apt-get install meld sudo apt --fix-broken install # maybeHow to compare two files

量子城域网建设设备系列(二):量子密钥管系统(KMS)

在上文介绍光量子交换机的文章中我们提到,量子保密通信网络的通道切换是由量子密钥管理系统(Key Management System,KMS)给光量子交换机下发信道切换指令,实现整个网络中任意两对量子密钥分发终端的量子信道互联互通&a…