如何使用 python 调用 llama3 进行对话?

news2024/9/27 9:26:57

Meta 已将最新的 LLaMa3 进行了开源,因此,我们也可以方便的使用 Python 进行 LLaMa3 模型的调用和开发。

接下来,简单介绍如何通过 transformers 库来使用 LLaMa3。

1、导入库

首先,导入必要的库:

pip3 install transformers torch

然后,使用这篇文章讲过的方法替换 HuggingFace 的国内源。需要注意的是,在下载LLaMa3 的时候,需要前往 https://huggingface.co/meta-llama/Meta-Llama-3-8B 填写一份申请,官方审核通过后,你才拥有下载 LLaMa3 的资格。

审核通过后是下面的页面:

2、下载模型

下载 LLaMa3 可通过以下命令完成:

huggingface-cli download meta-llama/Meta-Llama-3-8B  --local-dir Meta-Llama-3-8B

其中, “--local-dir Meta-Llama-3-8B” 为你希望下载的模型存放的目录,由于llama-3 的模型非常大,上述命令会下载大概 32 GB的数据,因此,在下载前你需要你找一个磁盘空间足够大的目录来存放。

温馨提示:下载过程会比较漫长,等待即可。如果中途下载中断,你可以重新执行相同的指令来继续完成下载。

下载完成后,你可以直接使用下面的代码进行体验:

from transformers import AutoTokenizer, AutoModelForCausalLM
import torch

model_id = "meta-llama/Meta-Llama-3-8B-Instruct"

tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
    model_id,
    torch_dtype=torch.bfloat16,
    device_map="auto",
)

messages = [
    {"role": "system", "content": "You are a pirate chatbot who always responds in pirate speak!"},
    {"role": "user", "content": "Who are you?"},
]

input_ids = tokenizer.apply_chat_template(
    messages,
    add_generation_prompt=True,
    return_tensors="pt"
).to(model.device)

terminators = [
    tokenizer.eos_token_id,
    tokenizer.convert_tokens_to_ids("<|eot_id|>")
]

outputs = model.generate(
    input_ids,
    max_new_tokens=256,
    eos_token_id=terminators,
    do_sample=True,
    temperature=0.6,
    top_p=0.9,
)
response = outputs[0][input_ids.shape[-1]:]
print(tokenizer.decode(response, skip_special_tokens=True))

或者使用下面的代码:

import transformers
import torch

model_id = "meta-llama/Meta-Llama-3-8B"
pipeline = transformers.pipeline(
    "text-generation", model=model_id, model_kwargs={"torch_dtype": torch.bfloat16}, device_map="auto"
)
pipeline("Hey how are you doing today?")

同样的,LLaMa3 模型的运行最好在有 GPU 的开发环境下进行,否则输出一句话都会运行非常久的时间。


如果你想学习 AI ,欢迎来添加我的微信 (vx: ddcsggcs),会有很多好玩的AI技术分享,可以咨询、也可以围观朋友圈呀~

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

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

相关文章

【2024】前端学习笔记10-基本选择器-组合选择器

学习笔记 基本选择器ID选择器 组合选择器后代选择器子选择器兄弟选择器 基本选择器 之前文章使用的分别为元素选择器和类选择器&#xff0c;这里不再过多记录。 元素选择器 p {color: blue;font-size: 14px; }在这个例子中&#xff0c;所有的<p>元素的文本颜色将被设置…

常见区块链数据模型介绍

除了加密技术和共识算法&#xff0c;区块链技术还依赖于一种数据模型&#xff0c;它决定了信息如何被结构化、验证和存储。数据模型定义了账户如何管理&#xff0c;状态转换如何发生&#xff0c;以及用户和开发者如何与系统交互。 在区块链技术的短暂历史中&#xff0c;数据…

如何开发数字药店与医保购药APP:技术架构与实现细节

本文将深入探讨数字药店与医保购药APP的技术架构及其实现细节&#xff0c;帮助开发者更好地理解该领域的技术需求。 一、技术架构概述 数字药店与医保购药APP的技术架构通常可以分为以下几个层次&#xff1a; 1.前端层&#xff1a; -用户界面 -用户体验 2.中间层&#xff…

c++初级——多态

多态的概念 多态的概念&#xff1a;通俗来讲&#xff0c;就是多种形态。 多态也有类别&#xff08;我们把编译时⼀般归为静态&#xff0c;运⾏时归为动态&#xff09; 运行时多态&#xff08;静态多态&#xff09;其中包括函数重载和函数模板&#xff0c;它们通过传不同类型…

RS FSW43 信号与频谱分析仪

FSW43 信号与频谱分析仪 苏州新利通仪器仪表有限公司 Rohde & Schwarz FSW43 信号与频谱分析仪具有较高内部分析带宽&#xff0c;可对宽带组件和通信系统进行特征校准。同时具备出色的相位噪声和灵敏度&#xff0c;有助于开发高性能振荡器。 R&SFSW 信号与频谱分析…

③无需编程 独立通道 Modbus主站EtherNet/IP转ModbusRTU/ASCII工业EIP网关串口服务器

Modbus主站EtherNet/IP转ModbusRTU/ASCII工业EIP网关串口服务器https://item.taobao.com/item.htm?ftt&id743840591638 接上一章 EtherNet/IP 串口网关 EtherNet/IP 转 RS485 EtherNet/IP 通信功能 EtherNet/IP 概述 EtherNet/IP 是通过“ODVA(Open DeviceNet Vendor…

Chrome Cookie最大有效期

Chrome Cookie最大有效期 代码设置了cookie有效期是10年&#xff0c;但在浏览器上实际上发现只有一年多一点&#xff0c;查证后发现chrome对cookie的最大有效期做了限制&#xff08;400&#xff09;天&#xff0c;实际上99.9999%的场景也是可以满足的 官方表述 测试 理论设置 …

[RabbitMQ] RabbitMQ介绍,安装与快速上手

&#x1f338;个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 &#x1f3f5;️热门专栏: &#x1f9ca; Java基本语法(97平均质量分)https://blog.csdn.net/2301_80050796/category_12615970.html?spm1001.2014.3001.5482 &#x1f355; Collection与…

设计师一定要收藏好这6个网站,设计必备

新手设计师找免费素材&#xff0c;找灵感就上这6个网站&#xff0c;赶紧收藏好&#xff01; 1、设计素材——菜鸟图库 菜鸟图库-免费设计素材下载 菜鸟图库是一个非常大的素材库&#xff0c;站内包含设计、办公、自媒体、图片、电商等各行业素材。网站还为新手设计师提供免费的…

注册安全分析报告:人民卫生音像

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

MySQL高阶1951-查询具有最多共同关注者的所有两两结成对

目录 题目 准备数据 分析数据 实现 题目 写出一个查询语句&#xff0c;找到具有最多共同关注者的所有两两结对组。换句话说&#xff0c;如果有两个用户的共同关注者是最大的&#xff0c;我们应该返回所有具有此最大值的两两结对组 结果返回表&#xff0c;每一行应该包含u…

1.1.4 计算机网络的分类

按分布范围分类&#xff1a; 广域网&#xff08;wan&#xff09; 城域网&#xff08;man&#xff09; 局域网&#xff08;lan&#xff09; 个域网&#xff08;pan&#xff09; 注意&#xff1a;如今局域网几乎采用“以太网技术实现”&#xff0c;因此“以太网”几乎成了“局域…

WebGL入门(一)绘制一个点

源码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title><scr…

硬件设计-噪声的学习

目录 LDO 噪声和 PSRR ​编辑 噪声类型 数据表中的噪声规格 哪种规格适合您的应用 如何降低 LDO 噪声&#xff1f; LDO 噪声的影响 LDO 噪声和 PSRR 低压差线性稳压器 (LDO) 为调节由较高电压输入产生的输出电压提供了一种简单方法。虽然操作简单&#xff0c;但其自生噪…

codeforces round973 div2

A zhans blender 问题&#xff1a; 思路&#xff1a; 模拟 代码&#xff1a; #include <bits/stdc.h> using namespace std;typedef long long ll;void solve() {int n, x, y;cin >> n >> x >> y;cout << (n min(x, y) - 1) / min(x, y) &…

第164天:应急响应-挖矿脚本检测指南_威胁情报_样本定性_文件清除_入口修复

目录 案例一&#xff1a;挖矿样本-Win&Linux-危害&定性 案例二&#xff1a;Linux-Web安全漏洞导致挖矿事件 案例三&#xff1a; Windows-系统口令爆破导致挖矿事件 案例一&#xff1a;挖矿样本-Win&Linux-危害&定性 windows样本 非常明显的特征就是cpu的占…

一定要收藏的4款AI论文大纲写作方法!说不定就用上了~

在当今学术研究和写作领域&#xff0c;AI论文写作工具的出现极大地提高了写作效率和质量。这些工具不仅能够帮助研究人员快速生成论文草稿&#xff0c;还能进行内容优化、查重和排版等操作。本文将推荐四款优秀的AI论文大纲写作方法&#xff0c;并特别推荐千笔-AIPassPaper&…

拼图缺口形状检测系统源码分享

拼图缺口形状检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer…

车间调度 | 利用遗传算法(GA)求解混合流水车间调度问题(Hybrid flow-shop scheduling problem, HFSP)

车间调度 | 利用遗传算法(GA)求解混合流水车间调度问题(Hybrid flow-shop scheduling problem, HFSP) 目录 车间调度 | 利用遗传算法(GA)求解混合流水车间调度问题(Hybrid flow-shop scheduling problem, HFSP)效果一览基本介绍程序设计参考资料 效果一览 基本介绍 利用遗传算…

11-pg内核之锁管理器(六)死锁检测

概念 每个事务都在等待集合中的另一事务&#xff0c;由于这个集合是一个有限集合&#xff0c;因此一旦在这个等待的链条上产生了环&#xff0c;就会产生死锁。自旋锁和轻量锁属于系统锁&#xff0c;他们目前没有死锁检测机制&#xff0c;只能靠内核开发人员在开发过程中谨慎的…