使用LLM插件从命令行访问Llama 2

大家好,最近的一个大新闻是Meta AI推出了新的开源授权的大型语言模型Llama 2,这是一项非常重要的进展。Facebook最初的LLaMA模型于今年2月发布,掀起了开源LLM领域的创新浪潮——从微调变体到从零开始的再创造。

如果在Llama 2版本发布之日,由被许可人或被许可人的附属机构提供的产品或服务的月活跃用户在前一个日历月超过7亿,则必须向Meta申请许可,Meta可自行决定是否授予许可,这使得它仍然可以适用于大多数商业用途。

使用LLM访问Llama 2

LLM工具可以通过命令行访问各种语言模型,既可以通过网络应用程序接口访问,也可以在自己的机器上自行托管。添加插件支持以扩展它对新模型的支持,现在一个独立发布的插件可以为现有的CLI工具添加对新模型的支持。

全新的llm-replicate插件提供了对Replicate上托管的模型的CLI访问,a16z-infra发布了a16z-infra/llama13b-v2-chat,该插件提供了对新的Llama 2 13B聊天模型的Replicate API访问,需要一个Replicate API密钥。

使用如下命令安装LLM:

pip install llm

如果没有安装pip,但可以使用Homebrew:

brew install simonw/llm/llm

运行llm--version确认已安装成功。

接下来,安装llm-replicate插件:

llm install llm-replicate

该插件添加了一组新的llm replicate命令——可以使用llm --help查看。

配置Replicate API密钥,以便插件能与API通信:

llm keys set replicate
Enter key: <paste key here>

在插件中注册新的a16z-infra/llama13b-v2-chat模型:

llm replicate add a16z-infra/llama13b-v2-chat \--chat --alias llama2

这就告诉插件它是一个“chat”模型,这意味着用户可以与它进行持续对话,而不仅仅是发送单个提示。

现在,可以使用在这里配置的llama2别名发送提示信息:

llm -m llama2 "Ten great names for a pet pelican"

得到的输出如下所示:

当然!以下是十个适合作为宠物鹈鹕的好名字:

  1. 花生(Peanut):一个可爱而活泼的小鹈鹕的名字。

  2. 水洼(Puddles):一个有趣而傻气的名字,适用于喜欢在水中嬉戏的鹈鹕。

  3. 皮特(Pete):一个经典的名字,适合友好外向的鹈鹕。

  4. 彭洛丽(Penelope):一个漂亮而优雅的名字,适合雌性鹈鹕。

  5. 佩西(Percy):一个迷人而精致的名字,适合雄性鹈鹕。

  6. 皮皮(Pippy):一个活泼而亲爱的名字,适合个性活跃的鹈鹕。

  7. 佩尔蒂(Pelty):一个有趣而古怪的名字,适合个性独特的鹈鹕。

  8. 皮普(Pip):一个甜美而讨人喜欢的名字,适合小鹈鹕。

  9. 勇敢(Plucky):一个勇敢而冒险的名字,适合个性鲜明的鹈鹕。

  10. 波比(Poppy):一个可爱而娇嫩的名字,适合性情温和的雌性鹈鹕。

希望这些建议能帮助你为宠物鹈鹕找到一个完美的名字!

由于是聊天模型,可以在同一对话中发送后续提示:

llm -c "Five more and make them more nautical"

Ahoy!这里有五个更具海洋气息的名字,适合你的宠物鹈鹕:

  1. 海鸟(Seabird):适合喜欢海洋及其奇观的鹈鹕的名字。

  2. 船长胡克(Captain Hook):适合勇敢无畏的鹈鹕的英勇名字。

  3. 锚(Anchor):适合始终稳定可靠的鹈鹕的坚固名字。

  4. 芬利(Finley):适合热爱海洋及其生物的鹈鹕的有关鱼的名字。

  5. 轻快(Buoyant):适合心情轻松愉快的鹈鹕的活泼愉快名字。

希望这些建议能让你满意,伙计!

LLM会将通过它发送的每个提示和响应记录到SQLite数据库中,在这里使用--truncate来缩短输出,将输出截断以便在本文中显示:

llm logs --truncate
[{"id": "01h5n5b3q6s54e03wtvqe90w2g","model": "replicate-a16z-infra-llama13b-v2-chat","prompt": "Five more and make them more nautical","system": null,"response": "Ahoy matey! Here be five more nautical-themed names for yer pet pelican:\n\n1. Captain Hook\n2. Anch...","response_json": null,"conversation_id": "01h5n5atsqfg4bhxc53j3ymnx2","duration_ms": 7364,"datetime_utc": "2023-07-18T18:48:51.999944","conversation_name": "Ten great names for a pet pelic\u2026","conversation_model": "replicate-a16z-infra-llama13b-v2-chat"},{"id": "01h5n5atss6k9zsr5qs5hb2wzd","model": "replicate-a16z-infra-llama13b-v2-chat","prompt": "Ten great names for a pet pelican","system": null,"response": "Sure, here are ten great names for a pet pelican:\n\n1. Pelty\n2. Peanut\n3. Puddles\n4. Nibbles\n5. Fu...","response_json": null,"conversation_id": "01h5n5atsqfg4bhxc53j3ymnx2","duration_ms": 7873,"datetime_utc": "2023-07-18T18:48:42.356413","conversation_name": "Ten great names for a pet pelic\u2026","conversation_model": "replicate-a16z-infra-llama13b-v2-chat"}
]

或运行llm logs path命令查看SQLite数据库文件的路径,如果已经安装了Datasette,可以使用以下命令打开日志数据库:

datasette "$(llm logs path)"

或使用Datasette Desktop:

open "$(llm logs path)"

结语

预计随着模型权重的逐步推出,用户将开始看到在其基础上的各种创新。

特别期待以下内容:

  • 微调模型。Alpaca、Vicuna等人在原始LLaMA模型的基础上进行微调,取得了惊人的成就。预计在接下来的几周内,我们将看到数十个微调模型。

  • 实现reAct和Toolformer模式,这将使Llama 2能够以类似于OpenAI Functions的方式驱动外部工具。Llama 2的论文已经提到了针对Toolformer提示的测试,因此希望这不会太困难。

希望能记录什么类型的提示语能与Llama 2效果良好地配合使用,因为预计这一模型在未来一段时间内将成为生态系统中颇具影响力的一部分。

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

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

相关文章

《面试1v1》ElasticSearch 和 Lucene

&#x1f345; 作者简介&#xff1a;王哥&#xff0c;CSDN2022博客总榜Top100&#x1f3c6;、博客专家&#x1f4aa; &#x1f345; 技术交流&#xff1a;定期更新Java硬核干货&#xff0c;不定期送书活动 &#x1f345; 王哥多年工作总结&#xff1a;Java学习路线总结&#xf…

DLA 神经网络的极限训练方法:gradient checkpointing

gradient checkpointing 一般来说&#xff0c;训练的过程需要保存中间结果&#xff08;不管是GPU还是CPU&#xff09;。前向传播根据输入(bottom_data)计算输出(top_data)&#xff0c;后向传播由top_diff计算bottom_diff&#xff08;如果某个变量打开梯度进行训练的话&#xff…

Vue 动态引入外部js文件

场景 最近在做项目优化时&#xff0c;发现一个特殊依赖&#xff0c;全局只有一个页面会用到。这个依赖很大&#xff0c;而且这个页面极少有人会打开&#xff08;隐藏页&#xff0c;留给开发或交付人员调试使用的&#xff09;。 那么我们考虑通过引入外部js的形式来处理&#…

5个顶级的开源有限元分析软件

每当我参加数值分析课程的教学时&#xff0c;都会回顾有限元方法的基础知识&#xff0c;很自然地就会出现使用哪种软件的问题。 以下讨论基于三个基本考虑&#xff1a; 在实际应用中&#xff0c;很少有人从头开始编写 FEM 代码。商业 FEM 软件通常在某些预定义的情况下非常易于…

使用 Habana Gaudi2 加速视觉语言模型 BridgeTower

&#x1f917; 宝子们可以戳 阅读原文 查看文中所有的外部链接哟&#xff01; 在对最先进的视觉语言模型 BridgeTower 进行微调时&#xff0c;使用 Optimum Habana v1.6&#xff0c; Habana Gaudi2 可以达到 近 3 倍于 A100 的速度。硬件加速的数据加载以及 fast DDP 这两个新特…

luajit 使用 clang编译的坑

为了尝试将LuaJIT接入虚幻Lua插件之中&#xff0c;需要预编译LuaJIT链接库&#xff0c;在桌面平台问题不大, 主要是移动平台&#xff0c;涉及跨平台编译&#xff0c;因为对跨平台编译具体细节没有系统研究&#xff0c;这里先记录一下跨平台编译LuaJIT的主要过程 由于官方提供的…

Pandas操作Excel

Pandas 是 Python 语言的一个扩展程序库&#xff0c;用于数据分析。 菜鸟教程&#xff1a;https://www.runoob.com/pandas/pandas-tutorial.html 读取Excel pd.read_excel(path,sheet_name,header) path&#xff1a;excel文件路径sheet_name&#xff1a;读取的sheet&#xff0…

3.netty和protobuf

1.ChannelGroup可以免遍历由netty提供,覆盖remove方法即可触发删除channel\ 2.群聊私聊 13.群聊私聊简单原理图 3.netty心跳检测机制,客户端对服务器有没有读写(读,写空闲) //IdleStateHandler(3,5,7,TimeUnite.SECONDS)是netty提供的检测状态的处理器,也加到pipeline,读,写,…

【新版系统架构补充】-嵌入式软件

嵌入式软件 嵌入式软件是指应用在嵌入式计算机系统当中的各种软件&#xff0c;除了具有通用软件的一般特性&#xff0c;还具有一些与嵌入式系统相关的特点&#xff0c;包括&#xff1a;规模较小、开发难度大、实时性和可靠性要求高、要求固化存储。 嵌入式软件分类&#xff1…

react Ref 的基本使用

类组件中使用ref 在类组件中&#xff0c;你可以使用createRef来创建一个ref&#xff0c;并将它附加到DOM元素或类组件实例上。使用ref允许你在类组件中访问和操作特定的DOM元素或类组件实例。 下面是在类组件中使用ref的步骤&#xff1a; 引入React和createRef&#xff1a; …

浅析 C 语言的共用体、枚举和位域

前言 最近在尝试阅读一些系统库的源码&#xff0c;但是其中存在很多让我感到既熟悉又陌生的语法。经过资料查阅&#xff0c;发现是 C 语言中的共用体和位域。于是&#xff0c;趁着课本还没有扔掉&#xff0c;将一些相关的知识点记录在本文。 文章目录 前言共用体 (union)枚举…

Tomcat 的内存配置

修改 Tomcat 的内存配置&#xff0c;你需要调整 Tomcat 的 Java 虚拟机&#xff08;JVM&#xff09;参数。具体来说&#xff0c;你需要修改 catalina.sh&#xff08;Linux/macOS&#xff09;或 catalina.bat&#xff08;Windows&#xff09;脚本中的 JAVA_OPTS 变量。以下是一般…

【LeetCode 算法】Merge Two Sorted Lists 合并两个有序链表

文章目录 Merge Two Sorted Lists 合并两个有序链表问题描述&#xff1a;分析代码迭代递归 Tag Merge Two Sorted Lists 合并两个有序链表 问题描述&#xff1a; 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 两个链表的…

GNN code Tips

1. 重置label取值范围 problem: otherwise occurs IndexError: target out of bounds # reset labels value range, otherwise occurs IndexError: target out of bounds uni_set torch.unique(labels) to_set torch.tensor(list(range(len(uni_set)))) labels_reset label…

网络开发-IO模型

基本概念 I/O即数据的读取&#xff08;接收&#xff09;或写入&#xff08;发送&#xff09;操作 通常用户进程中的一个完整I/O分为两个阶段 用户进程空间<-->内核空间内核空间<-->设备空间&#xff08;磁盘、网卡等&#xff09; I/O分为内存I/O、网络I/O和磁盘…

【编程】典型题目:寻找数组第K大数(四种方法对比)

【编程】典型题目&#xff1a;寻找数组第K大数&#xff08;四种方法对比&#xff09; 文章目录 【编程】典型题目&#xff1a;寻找数组第K大数&#xff08;四种方法对比&#xff09;1. 题目2. 题解2.1 方法一&#xff1a;全局排序&#xff08;粗暴&#xff09;2.2 方法二&#…

2023年第二届网络安全国际会议(CSW 2023)

会议简介 Brief Introduction 2023年第二届网络安全国际会议(CSW 2023) 会议时间&#xff1a;2023年10月13日-15日 召开地点&#xff1a;中国杭州 大会官网&#xff1a;www.cybersecurityworkshop.org 2023年第二届网络安全国际会议(CSW 2023)由杭州电子科技大学&#xff0c;国…

123.买卖股票的最佳时机3

目录 一、题目 二、分析代码 一、题目 123. 买卖股票的最佳时机 III - 力扣&#xff08;LeetCode&#xff09; 二、分析代码 class Solution { public:int maxProfit(vector<int>& prices) {//0表示没有操作//1表示第1次买入&#xff0c;2表示第1次卖出//3表示第2…

用html+javascript打造公文一键排版系统11:改进单一附件说明排版

一、用htmljavascript打造公文一键排版系统10中的一个bug 在 用htmljavascript打造公文一键排版系统10&#xff1a;单一附件说明排版 中&#xff0c;我们对附件说明的排版函数是&#xff1a; function setAtttDescFmt(p) {var t p;var a ;if (-1 ! t.indexOf(:))//是半角冒…

学习源码,模仿编程

一.观察者模式: 1.创建事件 2.发布事件 3.监听事件 4.效果: 二.模板方法模式