首页 > 其他分享 >从 GPT4All 体验 LLM

从 GPT4All 体验 LLM

时间:2023-08-08 14:57:50浏览次数:40  
标签:语言 模型 messages LLM 体验 GPT4All gpt4all 255

推荐:使用NSDT场景编辑器助你快速搭建可编辑的3D应用场景

什么是 GPT4All?

术语“GPT”源自 Radford 等人 2018 年论文的标题“通过生成预训练提高语言理解”。本文描述了如何证明变压器模型能够理解人类语言。

从那时起,许多人尝试使用转换器架构开发语言模型,并且已经发现足够大的模型可以给出出色的结果。但是,开发的许多模型都是专有的。有付费订阅的服务或具有某些限制条款的许可证。由于尺寸的原因,有些甚至无法在商用硬件上运行。

GPT4All项目试图在通用硬件上向公众提供LLM。它允许你训练和部署模型。还提供预训练模型,其尺寸较小,可以在 CPU 上合理运行。

如何获取 GPT4All

让我们只关注使用预先训练的模型。

在撰写本文时,GPT4All 可从 https://gpt4all.io/index.html 获得,您可以将其作为桌面应用程序或使用 Python 库运行。您可以下载操作系统的安装程序以运行桌面客户端。客户端只有几百MB。您应该会看到一个安装屏幕,如下所示:

安装客户端后,首次启动它将提示您安装模型,该模型可以大至数 GB。首先,您可以选择“”(GPT4All-J 型号)。这是一个相对较小但流行的模型。gpt4all-j-v1.3-groovy

客户端和模型准备就绪后,您可以在输入框中键入消息。该模型可能期望特定形式的输入,例如,特定的语言或样式。该模型需要对话风格(如 ChatGPT),并且通常可以很好地处理英语。例如,下面是它如何响应输入“给我 10 种颜色及其 RGB 代码的列表”:

如何在 Python 中使用 GPT4All

GPT4All 的关键组件是模型。桌面客户端只是它的接口。除了客户端,您还可以通过 Python 库调用模型。

不出所料,该库被命名为“”,“,您可以使用以下命令安装它:gpt4allpip

1 pip install gpt4all

之后,您只需几行代码即可在 Python 中使用它:

1 2 3 4 5 6 import gpt4all gptj = gpt4all.GPT4All("ggml-gpt4all-j-v1.3-groovy") messages = [{"role": "user", "content": "Give me a list of 10 colors and their RGB code"}] ret = gptj.chat_completion(messages) print(ret)

运行上述代码将下载模型文件(如果尚未下载)。之后,加载模型,提供输入,并将响应作为 Python 字典返回,如下所示:

1 2 3 4 5 6 7 8 9 10 11 12 {'model': 'ggml-gpt4all-j-v1.3-groovy', 'usage': {'prompt_tokens': 272,            'completion_tokens': 301,            'total_tokens': 573}, 'choices': [     {'message':         {'role': 'assistant',          'content': ' Here is a list of 10 colors and their RGB code:Red (255, 0, 0)  Green (0, 255, 0) Blue (0, 0, 255)  Yellow (255, 255, 0) Orange (255, 127, 0)  Purple (0, 128, 255) Pink (255, 192, 203)  Blue-Green (0, 0, 255)  Green-Blue (0, 0, 255)  Blue-Purple (0, 0, 255)  Blue-Green (0, 0, 255)  Blue-Purple (0, 0'         }     } ] }

上面的示例使用输入作为一个字典的列表。更复杂的输入是许多字典的列表,每个字典都包含键和 .可以是 、 或 ,而 是文本字符串。如果您使用的是 GPT4All-J 模型(如示例所示),则您的角色是在计算机 .输入应该是这两方之间的一系列对话。以下是逐步构建对话的方法:rolecontentrole"system""assistant""user"content"user""assistant"

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 import json import gpt4all gptj = gpt4all.GPT4All("ggml-gpt4all-j-v1.3-groovy") messages = [{"role": "user", "content": "Can you explain what is a large language model?"}] ret = gptj.chat_completion(messages) messages.append(ret["choices"][0]["message"]) messages.append({"role": "user", "content": "Can you give some examples applications?"}) ret = gptj.chat_completion(messages) messages.append(ret["choices"][0]["message"]) messages.append({"role": "user", "content": "Are there any limitations?"}) ret = gptj.chat_completion(messages) 消息。append(ret[“choices”][0][“message”]) 消息。append({“role”: “user”, “content”: “用两句话总结上述内容。}) RET = GPTJ。chat_completion(消息) 打印(JSON.转储(消息,缩进 = 4)) 打印(JSON.转储(ret, 缩进=4))

请注意,您多次调用了该模型。每次它响应时,您都会获取输出并将其附加到消息列表中,以便累积上下文。然后,添加新对话框并再次调用该模型。您需要收集消息,因为每次调用模型时,它都会在不知道上一个对话的情况下重新开始。因此,您的工作是保留历史记录以提醒模型其先前的反应。

下面是上述代码输出的示例,其中打印了模型的最后一个输入消息及其响应。您可能会从另一个模型中获得更好的结果。由于模型中的随机性,您还可能会得到不同的结果:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 [     { “角色”: “用户”, “内容”:“你能解释一下什么是大型语言模型吗? },     { “角色”: “助理”, “内容”:“大型语言模型是一种可以处理和理解自然语言(如语音或文本)的人工智能。它经过大量数据的训练,可以执行语言翻译、情感分析甚至回答问题等任务。大型语言模型在包括金融和医疗保健在内的各个行业中越来越受欢迎。 },     { “角色”: “用户”, “内容”: “你能举一些例子吗? },     { “角色”: “助理”, “内容”: “ 大型语言模型被用于各种应用,例如:- 语言翻译和机器翻译,其中大型语言模型在大量数据上进行训练以提高准确性和速度.- 情感分析,其中大型语言模型被训练以分析社交媒体数据并识别用户意见中的模式.- 问答, 其中大型语言模型被训练以基于大量数据来回答问题.- 医疗保健,其中大型语言模型用于分析患者数据并识别健康趋势中的模式.- 金融,其中大型语言模型用于分析财务数据并识别模式” },     { “角色”: “用户”, “内容”:“有什么限制吗? },     { “角色”: “助理”, “内容”:“是的,大型语言模型有一些限制。主要挑战之一是它们需要大量数据来训练,这可能既昂贵又耗时。此外,大型语言模型的计算成本可能很高,并且可能需要专门的硬件才能运行。另一个限制是大型语言模型可能无法理解人类语言的细微差别,这可能会使它们在某些情况下效率降低。最后,大型语言模型可能无法理解对话或文本的上下文,这可能会使它们在某些应用程序中的效果降低。 },     { “角色”: “用户”, “内容”:“用两句话概括以上内容。     } ] { “model”: “ggml-gpt4all-j-v1.3-groovy”, “用法”:{ “prompt_tokens”:2113, “completion_tokens”:542, “total_tokens”:2655 }, “选择”:[         { “消息”:{ “角色”: “助理”, “内容”:“大型语言模型是一种可以处理和理解自然语言(如语音或文本)的人工智能。他们接受过大量数据的培训,可以执行语言翻译、情感分析甚至回答问题等任务。它们在金融和医疗保健等各个行业越来越受欢迎。然而,存在一些限制,例如昂贵的数据和专用硬件,计算费用,缺乏对人类语言和上下文细微差别的理解。             }         }     ] }

总结

GPT4All 是一个不错的工具,您可以在计算机上使用。它允许您探索与大型语言模型的交互,并帮助您更好地了解模型的功能和限制。在这篇文章中,您了解到:

  • GPT4All 有一个桌面客户端,您可以将其安装在计算机上
  • GPT4All有一个Python接口,允许您在代码中与语言模型进行交互
  • 有多种语言模型可用

原文链接:从 GPT4All 体验 LLM (mvrlink.com)

标签:语言,模型,messages,LLM,体验,GPT4All,gpt4all,255
From: https://www.cnblogs.com/mvrlink/p/17614299.html

相关文章

  • FinClip 支持小程序维度域名配置;桌面端体验活动进行中
    FinClip的使命是使您(业务专家和开发人员)能够通过小程序解决关键业务流程挑战,并完成数字化转型的相关操作。不妨让我们看看在本月的产品与市场发布亮点,看看是否有助于您实现目标。产品方面的相关动向......
  • SpringSecurity1: spring boot web 样例快速体验
    本文只讲操作实践,不讲原理,这样对于想快速搭建起一个基于SpringSecurity的Web项目的朋友们而言,比较友好。文章主要由两部分构成:快速演示样例所有账户和授权数据均基于内存,能在极短的时间内搭建和运行起来,可以快速体验SpringSecurity简易生产样例建议想参考原型,在自己工程中......
  • OWASP-Top-10-for-LLMs-2023
    一、LLM01:PromptInjection0x1:攻击原理这通过特殊构造的输入来污染/覆盖prompt提示,以此攻击一个大型语言模型(LLM),使其产生非预期的意外行为。提示注入漏洞(PromptInjectionVulnerability)是指攻击者通过精心构造的输入,操控一个大型语言模型(LLM),使得LLM在不知情的情况下执行攻......
  • 【开源三方库】Aki:一行代码极简体验JS&C++跨语言交互
     开源项目 OpenHarmony是每个人的 OpenHarmony 一、简介OpenAtom OpenHarmony(以下简称“OpenHarmony”)的前端开发语言是ArkTS,在TypeScript(简称TS)生态基础上做了进一步扩展,继承了TS的所有特性,是JavaScript(简称JS)的超集。而Node-API(简称NAPI)是方舟引擎用于封装JS能力为......
  • Flowise AI:用于构建LLM流的拖放UI
    推荐:使用NSDT场景编辑器助你快速搭建可二次编辑的3D应用场景什么是FlowiseAI?FlowiseAI是一个开源的UI可视化工具,用于帮助开发LangChain应用程序。在我们详细介绍FlowiseAI之前,让我们快速定义LangChain。LangChain是一个框架/python库,可帮助您利用LLM构建自己的自定义NLP......
  • ChatGPT:怎样打造智能客服体验的重要工具?
    ChatGPT:人工智能的交互式对话伙伴"可以理解为以下几个方面:1.ChatGPT:ChatGPT是一个人工智能系统,专门设计用于进行对话和交流。它基于自然语言处理和深度学习技术,能够理解人类的语言输入并做出相应的回应。2.人工智能的:ChatGPT是由人工智能技术驱动的,它通过算法和模型来模拟人类的对......
  • 记一次体验愉快的GameJam|上交复旦x72h极限游戏开发挑战赛
    太长不看版【上交复旦x72h极限游戏开发挑战赛作品《Colorful》宣传短片】 【腾讯×上交复旦72hgamejam极限游戏开发挑战赛作品《Colorful》全流程演示】 试玩demo下载链接:https://pan.baidu.com/s/1Xdksy97qF8Qac31H6nUGww 提取码:wmuq游戏简介:你说得对,但是《卡乐芙(col......
  • Inferllm源码解析
    Inferllm源码解析文件结构application:放置几个不同模型的参数配置和后处理include:包含抽象model类的头文件src/core:核心组件,包括tensor、算法等基础算子的抽象和KV文件系统的实现src/graph:包含了几种LLM模型的具体实现src/kern:包含了不同硬件下的算子实现src:......
  • ChatGPT今日宣布推出6大新功能,体验效果更佳
    今天“一起学英语”群的KV大神发了一张截图,原来OpenAI官方账号发布了一条推文(或者称之为X文?),广而告之:下周要上功能了。这次更新的功能共计6条,看来OpenAI已准备腹泻式更新,即版本更新虽然断断续续,但一次会很多功能点。咱用大白话说下即将更新的六大功能:1.提示示例打开ChatGPT,看着空白......
  • 【腾讯云 Cloud Studio 实战训练营】一个多年云端开发体验者的实战使用
    背景近几年,越来越感觉软件的趋势逐渐从客户端越来越转向以web提供服务的云端,特别是互联网行业,典型的比如原型设计产品,从客户端软件Axure逐渐到墨刀在线原型设计的流行,UI设计行业photoshop&sketch转向蓝湖&MasterGo在线UI设计,web的力量前所未有的强大,可以说一个浏览器就能满足......