Meta Llama 3本地部署

ops/2024/12/22 1:55:04/

感谢阅读

  • 环境安装
  • 收尾

环境安装

项目文件
下载完后在根目录进入命令终端(windows下cmd、linux下终端、conda的话activate)
运行

pip install -e .

不要控制台,因为还要下载模型。这里挂着是节省时间

模型申请链接
在这里插入图片描述
复制如图所示的链接
然后在刚才的控制台

bash download.sh

在验证哪里直接输入刚才链接即可
如果报错没有wget,则点我下载wget
然后放到C:\Windows\System32 下

torchrun --nproc_per_node 1 example_chat_completion.py \--ckpt_dir Meta-Llama-3-8B-Instruct/ \--tokenizer_path Meta-Llama-3-8B-Instruct/tokenizer.model \--max_seq_len 512 --max_batch_size 6

收尾

创建chat.py脚本

# Copyright (c) Meta Platforms, Inc. and affiliates.
# This software may be used and distributed in accordance with the terms of the Llama 3 Community License Agreement.from typing import List, Optionalimport firefrom llama import Dialog, Llamadef main(ckpt_dir: str,tokenizer_path: str,temperature: float = 0.6,top_p: float = 0.9,max_seq_len: int = 512,max_batch_size: int = 4,max_gen_len: Optional[int] = None,
):"""Examples to run with the models finetuned for chat. Prompts correspond of chatturns between the user and assistant with the final one always being the user.An optional system prompt at the beginning to control how the model should respondis also supported.The context window of llama3 models is 8192 tokens, so `max_seq_len` needs to be <= 8192.`max_gen_len` is optional because finetuned models are able to stop generations naturally."""generator = Llama.build(ckpt_dir=ckpt_dir,tokenizer_path=tokenizer_path,max_seq_len=max_seq_len,max_batch_size=max_batch_size,)# Modify the dialogs list to only include user inputsdialogs: List[Dialog] = [[{"role": "user", "content": ""}],  # Initialize with an empty user input]# Start the conversation loopwhile True:# Get user inputuser_input = input("You: ")# Exit loop if user inputs 'exit'if user_input.lower() == 'exit':break# Append user input to the dialogs listdialogs[0][0]["content"] = user_input# Use the generator to get model responseresult = generator.chat_completion(dialogs,max_gen_len=max_gen_len,temperature=temperature,top_p=top_p,)[0]# Print model responseprint(f"Model: {result['generation']['content']}")if __name__ == "__main__":fire.Fire(main)

然后运行

torchrun --nproc_per_node 1 chat.py     --ckpt_dir Meta-Llama-3-8B-Instruct/     --tokenizer_path Meta-Llama-3-8B-Instruct/tokenizer.model     --max_seq_len 512 --max_batch_size 6

http://www.ppmy.cn/ops/19105.html

相关文章

若依框架学习-springboot-gateway笔记

版本&#xff1a;若依框架微服务版本 学习内容&#xff1a;springboot-gateway 熔断降级踩坑 文档上使用的hystrix在springcloud3.1.8不再支持&#xff0c;建议改为使用CircuitBreaker&#xff0c;使用方式和hystrix几乎无差别&#xff0c;只是需要修改pom引用&#xff1a; …

【树莓派Linux内核开发】入门实操篇(虚拟机Ubuntu环境搭建+内核源码获取与配置+内核交叉编译+内核镜像挂载)

【树莓派Linux内核开发】入门实操篇&#xff08;虚拟机Ubuntu环境搭建内核源码获取与配置内核交叉编译内核镜像挂载&#xff09; 文章目录 【树莓派Linux内核开发】入门实操篇&#xff08;虚拟机Ubuntu环境搭建内核源码获取与配置内核交叉编译内核镜像挂载&#xff09;一、搭建…

VNISEdit 制作安装包

1. 环境依赖 1.1. NSIS 下载 下载地址&#xff1a;https://nsis.sourceforge.io/Download 1.2. VNISEdit 下载 下载地址1&#xff1a;https://sourceforge.net/projects/hmne/ 下载 exe 安装。 下载地址2&#xff1a;https://hmne.sourceforge.net/ 可以下载 exe 安装。也…

基于遗传算法的TSP算法(matlab实现)

一、理论基础 TSP(traveling salesman problem,旅行商问题)是典型的NP完全问题&#xff0c;即其最坏情况下的时间复杂度随着问题规模的增大按指数方式增长&#xff0c;到目前为止还未找到一个多项式时间的有效算法。TSP问题可描述为&#xff1a;已知n个城市相互之间的距离&…

C语言什么是指针数组?

一、问题 什么是指针数组&#xff1f; 二、解答 数组的元素值为指针就是指针数组。指针数组是指⼀组有序的指针的集合。指针数组的所有元素都必须是具有相同存储类型和指向相同数据类型的指针变量。 指针数组说明的⼀般形式为&#xff1a; 类型说明符 *数组名[数组长度] 其中…

tcp服务器端与多个客户端连接

如果希望Tcp服务器端可以与多个客户端连接&#xff0c;可以这样写&#xff1a; tcpServernew QTcpServer(this);connect(tcpServer,SIGNAL(newConnection()),this,SLOT(onNewConnection())); void MainWindow::onNewConnection() {QTcpSocket *tcpSocket;//TCP通讯的Sockettcp…

centOS7.9| 无root安装 openssl 1.1.1

这里写自定义目录标题 0.先安装 gcc121.下载和编译 openssl 1.1.12. 让 pkg-config 能找到.pc文件 0.先安装 gcc12 见之前的博客: 无root编译安装 gcc12 1.下载和编译 openssl 1.1.1 https://www.openssl.org/source/https://github.com/openssl/openssl/releases?page3 (2…

一个基于更新频率和卡片等级、浏览量的动态推荐排序算法

需求背景 真实场景会更复杂一些&#xff0c;下面抽象出一个简单的示例来举栗子&#xff1a; 比如现在有一个卡片列表&#xff0c;卡片自身有卡片的创建时间、卡片等级、浏览量几个关键字段。 如果单纯的根据卡片等级去排序&#xff0c;那么很容易导致一些高等级的旧卡片一直霸…