從 GPT4All 體驗 LLM
推薦:使用NSDT場景編輯器助你快速搭建可編輯的3D應(yīng)用場景什么是 GPT4All?
術(shù)語“GPT”源自 Radford 等人 2018 年論文的標題“通過生成預(yù)訓練提高語言理解”。本文描述了如何證明變壓器模型能夠理解人類語言。
從那時起,許多人嘗試使用轉(zhuǎn)換器架構(gòu)開發(fā)語言模型,并且已經(jīng)發(fā)現(xiàn)足夠大的模型可以給出出色的結(jié)果。但是,開發(fā)的許多模型都是專有的。有付費訂閱的服務(wù)或具有某些限制條款的許可證。由于尺寸的原因,有些甚至無法在商用硬件上運行。
GPT4All項目試圖在通用硬件上向公眾提供LLM。它允許你訓練和部署模型。還提供預(yù)訓練模型,其尺寸較小,可以在 CPU 上合理運行。
如何獲取 GPT4All讓我們只關(guān)注使用預(yù)先訓練的模型。
在撰寫本文時,GPT4All 可從 https://gpt4all.io/index.html 獲得,您可以將其作為桌面應(yīng)用程序或使用 Python 庫運行。您可以下載操作系統(tǒng)的安裝程序以運行桌面客戶端??蛻舳酥挥袔装費B。您應(yīng)該會看到一個安裝屏幕,如下所示:
安裝客戶端后,首次啟動它將提示您安裝模型,該模型可以大至數(shù) GB。首先,您可以選擇“”(GPT4All-J 型號)。這是一個相對較小但流行的模型。gpt4all-j-v1.3-groovy
客戶端和模型準備就緒后,您可以在輸入框中鍵入消息。該模型可能期望特定形式的輸入,例如,特定的語言或樣式。該模型需要對話風格(如 ChatGPT),并且通??梢院芎玫靥幚碛⒄Z。例如,下面是它如何響應(yīng)輸入“給我 10 種顏色及其 RGB 代碼的列表”:
如何在 Python 中使用 GPT4AllGPT4All 的關(guān)鍵組件是模型。桌面客戶端只是它的接口。除了客戶端,您還可以通過 Python 庫調(diào)用模型。
不出所料,該庫被命名為“”,“,您可以使用以下命令安裝它: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) |
運行上述代碼將下載模型文件(如果尚未下載)。之后,加載模型,提供輸入,并將響應(yīng)作為 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' } } ] } |
上面的示例使用輸入作為一個字典的列表。更復(fù)雜的輸入是許多字典的列表,每個字典都包含鍵和 .可以是 、 或 ,而 是文本字符串。如果您使用的是 GPT4All-J 模型(如示例所示),則您的角色是在計算機 .輸入應(yīng)該是這兩方之間的一系列對話。以下是逐步構(gòu)建對話的方法: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”: “用兩句話總結(jié)上述內(nèi)容。}) RET = GPTJ。chat_completion(消息) 打印(JSON.轉(zhuǎn)儲(消息,縮進 = 4)) 打印(JSON.轉(zhuǎn)儲(ret, 縮進=4)) |
請注意,您多次調(diào)用了該模型。每次它響應(yīng)時,您都會獲取輸出并將其附加到消息列表中,以便累積上下文。然后,添加新對話框并再次調(diào)用該模型。您需要收集消息,因為每次調(diào)用模型時,它都會在不知道上一個對話的情況下重新開始。因此,您的工作是保留歷史記錄以提醒模型其先前的反應(yīng)。
下面是上述代碼輸出的示例,其中打印了模型的最后一個輸入消息及其響應(yīng)。您可能會從另一個模型中獲得更好的結(jié)果。由于模型中的隨機性,您還可能會得到不同的結(jié)果:
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 | [ { “角色”: “用戶”, “內(nèi)容”:“你能解釋一下什么是大型語言模型嗎? }, { “角色”: “助理”, “內(nèi)容”:“大型語言模型是一種可以處理和理解自然語言(如語音或文本)的人工智能。它經(jīng)過大量數(shù)據(jù)的訓練,可以執(zhí)行語言翻譯、情感分析甚至回答問題等任務(wù)。大型語言模型在包括金融和醫(yī)療保健在內(nèi)的各個行業(yè)中越來越受歡迎。 }, { “角色”: “用戶”, “內(nèi)容”: “你能舉一些例子嗎? }, { “角色”: “助理”, “內(nèi)容”: “ 大型語言模型被用于各種應(yīng)用,例如:- 語言翻譯和機器翻譯,其中大型語言模型在大量數(shù)據(jù)上進行訓練以提高準確性和速度.- 情感分析,其中大型語言模型被訓練以分析社交媒體數(shù)據(jù)并識別用戶意見中的模式.- 問答, 其中大型語言模型被訓練以基于大量數(shù)據(jù)來回答問題.- 醫(yī)療保健,其中大型語言模型用于分析患者數(shù)據(jù)并識別健康趨勢中的模式.- 金融,其中大型語言模型用于分析財務(wù)數(shù)據(jù)并識別模式” }, { “角色”: “用戶”, “內(nèi)容”:“有什么限制嗎? }, { “角色”: “助理”, “內(nèi)容”:“是的,大型語言模型有一些限制。主要挑戰(zhàn)之一是它們需要大量數(shù)據(jù)來訓練,這可能既昂貴又耗時。此外,大型語言模型的計算成本可能很高,并且可能需要專門的硬件才能運行。另一個限制是大型語言模型可能無法理解人類語言的細微差別,這可能會使它們在某些情況下效率降低。最后,大型語言模型可能無法理解對話或文本的上下文,這可能會使它們在某些應(yīng)用程序中的效果降低。 }, { “角色”: “用戶”, “內(nèi)容”:“用兩句話概括以上內(nèi)容。 } ] { “model”: “ggml-gpt4all-j-v1.3-groovy”, “用法”:{ “prompt_tokens”:2113, “completion_tokens”:542, “total_tokens”:2655 }, “選擇”:[ { “消息”:{ “角色”: “助理”, “內(nèi)容”:“大型語言模型是一種可以處理和理解自然語言(如語音或文本)的人工智能。他們接受過大量數(shù)據(jù)的培訓,可以執(zhí)行語言翻譯、情感分析甚至回答問題等任務(wù)。它們在金融和醫(yī)療保健等各個行業(yè)越來越受歡迎。然而,存在一些限制,例如昂貴的數(shù)據(jù)和專用硬件,計算費用,缺乏對人類語言和上下文細微差別的理解。 } } ] } |
GPT4All 是一個不錯的工具,您可以在計算機上使用。它允許您探索與大型語言模型的交互,并幫助您更好地了解模型的功能和限制。在這篇文章中,您了解到:
GPT4All 有一個桌面客戶端,您可以將其安裝在計算機上
GPT4All有一個Python接口,允許您在代碼中與語言模型進行交互
有多種語言模型可用
原文鏈接:從 GPT4All 體驗 LLM (mvrlink.com)
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。