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

news/2024/10/11 9:23:30/

我是 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模型在线切割

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

llama">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 注册表中的模型名称。 以下是我推荐用于一般用途的一些模型。

llama-api">4、Ollama API

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

ollama pull mistral

llama-api">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 OpenAIclient = OpenAI(base_url='http://localhost:11434/v1/',# required but ignoredapi_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 ignoredapiKey: '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.ppmy.cn/news/1443493.html

相关文章

Golang Colly批量爬取小红书图片

语言:Golang 库:Iris/Colly 先看输入日志: Saved file: images\20240428190531_2_0.jpg It is image 20240428190532_2_1.jpg Saved file: images\20240428190532_2_1.jpg It is image 20240428190533_2_2.jpg Saved file: images\20240428190533_2_2.jpg It is image 2024…

香港BTC、ETH现货ETF同时通过,对行业意义几何?

香港比美国更快一步通过以太坊现货 ETF。 2024 年 4 月 15 日,香港嘉实国际资产管理有限公司(Harvest Global Investments)今天宣布,得到香港证监会的原则上批准,将推出两大数字资产(比特币及以太坊&#…

音频智能切换器JR-AR42-A

憬锐JR-AR42-A音频自动智能切换器(四切一),具备四路模拟卡侬立体声音频输入,两路模拟卡侬立体声音频输出,其中输入第1路和输出第1路为断电直通通道。具有输入音频信号幅度判别,可设置门限电平和切换延时时间,可以根据需…

装饰器模式、代理模式、适配器模式对比

装饰器模式、代理模式和适配器模式都是结构型设计模式,它们的主要目标都是将将类或对象按某种布局组成更大的结构,使得程序结构更加清晰。这里将装饰器模式、代理模式和适配器模式进行比较,主要是因为三个设计模式的类图结构相似度较高、且功…

redis模糊查询redis中的key

redis模糊查询redis中的key 方式一&#xff1a;使用keys命令 /*** 查找匹配的key** param pattern* return*/ public Set<String> keys(String pattern) {return redisTemplate.keys(pattern); }方式二&#xff1a;使用san命令 /*** 查找匹配的key** param pattern* r…

SpringMVC(SSM框架)

目录 一、MVC模式 二、获取请求参数 1. 通过HttpServletRequest获取 2. 通过方法参数获取 3. 通过PathVariable获取 4. 通过ModelAttributes获取 5. 使用RequestBody获取请求体 三、处理响应 四、异常处理 1. 使用ExceptionHandler注解 2. 使用ControllerAdvice和Re…

pyCharm导入pyspark中的sparkconf和sparkcontext错误

背景&#xff1a;学习黑马程序员python课程的pyspark实战部分时按照下图导入pysark包时发现sparkconf和sparkcontext无法导入和运行。 首先想到是不是在CMD窗口下载的pySpark路径及安装是否正确&#xff1f; 通过下图发现第三方库都安装正确&#xff0c;然后就考虑库的路径&a…

【python项目推荐】键盘监控--统计打字频率

原文&#xff1a;https://greptime.com/blogs/2024-03-19-keyboard-monitoring 代码&#xff1a;https://github.com/GreptimeTeam/demo-scene/tree/main/keyboard-monitor 项目简介 该项目实现了打字频率统计及可视化功能。 主要使用的库 pynput&#xff1a;允许您控制和监…