偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

為了保護(hù)客戶(hù)隱私,使用Ruby在本地運(yùn)行開(kāi)源AI模型

譯文 精選
人工智能
本文將向您介紹如何在本地下載開(kāi)源的AI模型,讓它運(yùn)行起來(lái),以及如何針對(duì)其運(yùn)行Ruby腳本。

譯者 | 陳峻

審校 | 重樓

最近,我們實(shí)施了一個(gè)定制化的人工智能(AI)項(xiàng)目。鑒于甲方持有著非常敏感的客戶(hù)信息,為了安全起見(jiàn),我們不能將它們傳遞給OpenAI或其他專(zhuān)有模型。因此,我們?cè)?/span>AWS虛擬機(jī)中下載并運(yùn)行了一個(gè)開(kāi)源的AI模型,使之完全處于我們的控制之下。同時(shí),Rails應(yīng)用可以在安全的環(huán)境中,對(duì)AI進(jìn)行API調(diào)用。當(dāng)然,如果不必考慮安全問(wèn)題,我們更傾向于直接與OpenAI合作。

下面,我將和大家分享如何在本地下載開(kāi)源的AI模型,讓它運(yùn)行起來(lái),以及如何針對(duì)其運(yùn)行Ruby腳本。

為什么要定制?

這個(gè)項(xiàng)目背后的原因很簡(jiǎn)單:數(shù)據(jù)安全。在處理敏感的客戶(hù)信息時(shí),最安全的方法往往是在公司內(nèi)部進(jìn)行。為此,我們需要定制化的AI模型,來(lái)提供更高級(jí)別的安全控制和隱私保護(hù)。

開(kāi)源模式

在過(guò)去的6個(gè)月里,市場(chǎng)上出現(xiàn)了諸如:MistralMixtralLama等大量開(kāi)源的AI模型。它們雖然沒(méi)有GPT-4那么強(qiáng)大,但是其中不少模型的性能已經(jīng)超過(guò)了GPT-3.5,而且隨著時(shí)間的推移,它們會(huì)越來(lái)越強(qiáng)。當(dāng)然,該選用哪種模型,則完全取決于您的處理能力和需要實(shí)現(xiàn)的目標(biāo)。

由于我們將在本地運(yùn)行AI模型,因此選擇了大小約為4GBMistral。它在大多數(shù)指標(biāo)上都優(yōu)于GPT-3.5。盡管Mixtral的性能優(yōu)于Mistral,但它是一個(gè)龐大的模型,至少需要48GB內(nèi)存才能運(yùn)行。

參數(shù)

在談?wù)摯笳Z(yǔ)言模型(LLM)時(shí),我們往往會(huì)考慮提到它們的參數(shù)大小。在此,我們將在本地運(yùn)行的Mistral模型是一個(gè)70億參數(shù)的模型(當(dāng)然,Mixtral擁有700億個(gè)參數(shù),而GPT-3.5大約有1750億個(gè)參數(shù))。

大語(yǔ)言模型通常需要基于神經(jīng)網(wǎng)絡(luò)。而神經(jīng)網(wǎng)絡(luò)是神經(jīng)元的集合,每個(gè)神經(jīng)元都會(huì)連接到下一層的所有其他神經(jīng)元上。

如上圖所示,每個(gè)連接都有一個(gè)權(quán)重,通常用百分比表示。每個(gè)神經(jīng)元還有一個(gè)偏差(bias),當(dāng)數(shù)據(jù)通過(guò)某個(gè)節(jié)點(diǎn)時(shí),偏差會(huì)對(duì)數(shù)據(jù)進(jìn)行修正。

神經(jīng)網(wǎng)絡(luò)的目的是要“學(xué)到”一種先進(jìn)的算法、一種模式匹配的算法。通過(guò)在大量文本中接受訓(xùn)練,它將逐漸學(xué)會(huì)預(yù)測(cè)文本模式的能力,進(jìn)而對(duì)我們給出的提示做出有意義的回應(yīng)。簡(jiǎn)單而言,參數(shù)就是模型中權(quán)重和偏差的數(shù)量。它可以讓我們了解神經(jīng)網(wǎng)絡(luò)中有多少個(gè)神經(jīng)元。例如,對(duì)于一個(gè)70億參數(shù)的模型來(lái)說(shuō),大約有100層,每層都有數(shù)千個(gè)神經(jīng)元。

在本地運(yùn)行模型

要在本地運(yùn)行開(kāi)源模型,首先必須下載相關(guān)應(yīng)用。雖然市場(chǎng)上有多種選擇,但是我發(fā)現(xiàn)最簡(jiǎn)單,也便于在英特爾Mac上運(yùn)行的是Ollama。

雖然Ollama目前只能在MacLinux上運(yùn)行,不過(guò)它未來(lái)還能運(yùn)行在Windows上。當(dāng)然,您可以在Windows上使用WSL(Windows Subsystem for Linux)來(lái)運(yùn)行Linux shell。

Ollama不但允許您下載并運(yùn)行各種開(kāi)源模型,而且會(huì)在本地端口上打開(kāi)模型,讓您能夠通過(guò)Ruby代碼進(jìn)行API調(diào)用。這便方便了Ruby開(kāi)發(fā)者編寫(xiě)能夠與本地模型相集成的Ruby應(yīng)用。

獲取Ollama

由于Ollama主要基于命令行,因此在MacLinux系統(tǒng)上安裝Ollama非常簡(jiǎn)單。您只需通過(guò)鏈接https://olama.ai/下載Ollama,花5分鐘左右時(shí)間安裝軟件包,再運(yùn)行模型即可。

安裝首個(gè)模型

在設(shè)置并運(yùn)行Ollama之后,您將在瀏覽器的任務(wù)欄中看到Ollama圖標(biāo)。這意味著它正在后臺(tái)運(yùn)行,并可運(yùn)行您的模型。為了下載模型,您可以打開(kāi)終端并運(yùn)行如下命令:

ollama run mistral

由于Mistral約有4GB大小,因此您需要花一段時(shí)間完成下載。下載完成后,它將自動(dòng)打開(kāi)Ollama提示符,以便您與Mistral進(jìn)行交互和通信。

下一次您再通過(guò)Ollama運(yùn)行mistral時(shí),便可直接運(yùn)行相應(yīng)的模型了。

定制模型

類(lèi)似我們?cè)?/span>OpenAI中創(chuàng)建自定義的GPT,通過(guò)Ollama,您可以對(duì)基礎(chǔ)模型進(jìn)行定制。在此,我們可以簡(jiǎn)單地創(chuàng)建一個(gè)自定義的模型。更多詳細(xì)案例,請(qǐng)參考Ollama的聯(lián)機(jī)文檔。

首先,您可以創(chuàng)建一個(gè)Modelfile(模型文件),并在其中添加如下文本:

FROM mistral

# Set the temperature set the randomness or creativity of the response
PARAMETER temperature 0.3

# Set the system message
SYSTEM ”””
You are an excerpt Ruby developer. 
You will be asked questions about the Ruby Programming
language. 
You will provide an explanation along with code examples.
”””

上面出現(xiàn)的系統(tǒng)消息是AI模型做出特定反應(yīng)的基礎(chǔ)。

接著,您可以在終端上運(yùn)行如下命令,以創(chuàng)建新的模型:

ollama create <model-name> -f './Modelfile

在我們的項(xiàng)目案例中,我將該模型命名為Ruby。

ollama create ruby -f './Modelfile'

同時(shí),您可以使用如下命令羅列顯示自己的現(xiàn)有模型:

ollama list

至此,您可以用如下命令運(yùn)行自定義的模型了:

Ollama run ruby

與Ruby集成

雖然Ollama尚沒(méi)有專(zhuān)用的gem,但是Ruby開(kāi)發(fā)人員可以使用基本的HTTP請(qǐng)求方法與模型進(jìn)行交互。在后臺(tái)運(yùn)行的Ollama可以通過(guò)11434端口打開(kāi)模型,因此您可以通過(guò)“http://localhost:11434”訪問(wèn)它。此外,OllamaAPI的文檔也為聊天對(duì)話和創(chuàng)建嵌入等基本命令提供了不同的端點(diǎn)。

在本項(xiàng)目案例中,我們希望使用/api/chat端點(diǎn)向AI模型發(fā)送提示。下圖展示了一些與模型交互的基本Ruby代碼:

上述Ruby代碼段的功能包括:

  1. 通過(guò)“net/http”、“uri”和“json”三個(gè)庫(kù),分別執(zhí)行HTTP請(qǐng)求、解析URI和處理JSON數(shù)據(jù)。
  2. 創(chuàng)建包含API端點(diǎn)地址(http://localhost:11434/api/chat)的URI對(duì)象。
  3. 使用以URI為參數(shù)的Net::HTTP::Post.new方法,創(chuàng)建新的HTTP POST請(qǐng)求。請(qǐng)求的內(nèi)容類(lèi)型設(shè)置為“application/json”。
  4. 請(qǐng)求的正文被設(shè)置為一個(gè)代表了哈希值的JSON字符串。該哈希值包含了三個(gè)鍵:“模型”、“消息”和“流”。其中,模型鍵被設(shè)置為“ruby”,也就是我們的模型;消息鍵被設(shè)置為一個(gè)數(shù)組,其中包含了代表用戶(hù)消息的單個(gè)哈希值;而流鍵被設(shè)置為false。
  5. 系統(tǒng)引導(dǎo)模型該如何回應(yīng)信息。我們已經(jīng)在Modelfile中予以了設(shè)置。用戶(hù)信息是我們的標(biāo)準(zhǔn)提示。模型會(huì)以輔助信息作出回應(yīng)。消息哈希遵循與AI模型交叉的模式。它帶有一個(gè)角色和內(nèi)容。此處的角色可以是系統(tǒng)、用戶(hù)和輔助。
  6. HTTP請(qǐng)求使用Net::HTTP.start方法被發(fā)送。該方法會(huì)打開(kāi)與指定主機(jī)名和端口的網(wǎng)絡(luò)連接,然后發(fā)送請(qǐng)求。連接的讀取超時(shí)時(shí)間被設(shè)置為120秒,畢竟我運(yùn)行的是2019款英特爾Mac,所以響應(yīng)速度可能有點(diǎn)慢。而在相應(yīng)的AWS服務(wù)器上運(yùn)行時(shí),這將不是問(wèn)題。
  7. 服務(wù)器的響應(yīng)被存儲(chǔ)在“response”變量中。

案例小結(jié)

如上所述,運(yùn)行本地AI模型的真正價(jià)值體現(xiàn)在,協(xié)助持有敏感數(shù)據(jù)的公司,處理電子郵件或文檔等非結(jié)構(gòu)化的數(shù)據(jù),并提取有價(jià)值的結(jié)構(gòu)化信息。在我們參加的項(xiàng)目案例中,我們對(duì)客戶(hù)關(guān)系管理(CRM)系統(tǒng)中的所有客戶(hù)信息進(jìn)行了模型培訓(xùn)。據(jù)此,用戶(hù)可以詢(xún)問(wèn)其任何有關(guān)客戶(hù)的問(wèn)題,而無(wú)需翻閱數(shù)百份記錄。

譯者介紹

陳峻(Julian Chen),51CTO社區(qū)編輯,具有十多年的IT項(xiàng)目實(shí)施經(jīng)驗(yàn),善于對(duì)內(nèi)外部資源與風(fēng)險(xiǎn)實(shí)施管控,專(zhuān)注傳播網(wǎng)絡(luò)與信息安全知識(shí)與經(jīng)驗(yàn)。

原文標(biāo)題:How To Run Open-Source AI Models Locally With Ruby,作者:Kane Hooper

責(zé)任編輯:華軒 來(lái)源: 51CTO
相關(guān)推薦

2021-07-09 14:31:55

IBM開(kāi)源框架混合云

2022-09-08 16:30:44

物聯(lián)網(wǎng)保護(hù)隱私

2025-03-28 09:00:00

2010-08-26 14:03:23

隱私保護(hù)

2022-05-19 13:21:51

數(shù)據(jù)保護(hù)隱私信息安全

2025-04-03 00:10:11

DockerAI模型

2020-09-02 14:13:48

Facebook 開(kāi)發(fā)開(kāi)源

2023-07-30 22:34:56

隱私保護(hù)檢索

2024-02-04 17:03:30

2021-05-06 09:52:27

語(yǔ)言開(kāi)源AI

2010-10-09 08:58:03

NginxRuby on Rai

2010-08-27 10:02:16

2022-08-18 23:20:03

數(shù)據(jù)泄露IP 地址隱私

2018-04-03 11:13:24

2018-05-14 23:38:42

2022-08-19 15:42:26

安全數(shù)據(jù)隱私網(wǎng)絡(luò)安全

2023-12-05 18:50:24

騰訊安全HaS大模型

2022-09-02 15:10:21

醫(yī)療保健AI

2013-10-23 11:18:11

2012-03-08 11:11:43

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)