譯者| 陳峻
#審校| 重樓
#最近,我們實作了一個客製化的人工智慧(AI)專案。鑑於甲方持有非常敏感的客戶訊息,為了安全起見,我們不能將它們傳遞給OpenAI或其他專有模型。因此,我們在AWS虛擬機器中下載並運行了一個開源的AI模型,使其完全處於我們的控制之下。同時,Rails應用程式可以在安全的環境中,對AI進行API呼叫。當然,如果不必考慮安全性問題,我們更傾向於直接與OpenAI合作。
下面,我將和大家分享如何在本地下載開源的AI模型,讓它運行起來,以及如何針對其執行Ruby腳本。
為什麼要自訂?
這個專案的動機很簡單:資料安全。在處理敏感的客戶資訊時,最可靠的做法通常是在公司內部進行。因此,我們需要客製化的AI模型,在提供更高等級的安全控制和隱私保護方面發揮作用。
開源模式
#在過去的6個月裡,市場上出現了諸如:Mistral、Mixtral和Lama等大量開源的AI模型。雖然它們沒有GPT-4那麼強大,但是其中不少模型的性能已經超過了GPT-3.5#,而且隨著時間的推移,它們會越來越強。當然,該選用哪種模型,則完全取決於您的處理能力和需要實現的目標。
由於我們將在本地運行AI模型,因此選擇了大小約為4GB的 Mistral。它在大多數指標上都優於GPT-3.5。儘管Mixtral的效能優於Mistral,但它是一個龐大的模型,至少需要48GB記憶體才能運作。
參數
#在談論大語言模型(LLM )時,我們往往會考慮提到它們的參數大小。在此,我們將在本地運行的Mistral模型是一個70億參數的模型(當然,Mixtral有700億個參數,而GPT-3.5大約有
## 1750 億個參數)。
通常,大型語言模型使用基於神經網路的技術。神經網路是由神經元組成的,每個神經元與下一層的所有其他神經元相連。
############################如上所示,每個連線都有一個權重,通常用百分比表示。每個神經元還有一個偏差(bias),當資料通過某個節點時,偏差會對資料進行修正。 ############神經網路的目的是要「學到」一種先進的演算法、一種模式匹配的演算法。透過在大量文本中接受訓練,它將逐漸學會預測文本模式的能力,進而對我們給予的提示做出有意義的回應。簡單而言,參數就是模型中權重和偏差的數量。它可以讓我們了解神經網路中有多少個神經元。例如,對於一個70億參數的模型來說,大約有#100#層,每層都有數千個神經元。
在本機運行模型
#要在本機上執行開源模型,首先必須下載相關應用。雖然市面上有許多選擇,但我發現最簡單,也便於在英特爾Mac#上運行的是Ollama。
雖然Ollama目前只能在Mac#和Linux上運行,不過它未來還能運行在Windows上。當然,您可以在Windows上使用WSL(Windows Subsystem for Linux)來執行Linux shell。
Ollama不但允許您下載並運行各種開源模型,而且會在本地端口上打開模型,讓您能夠通過Ruby程式碼進行API呼叫。這便方便了Ruby開發者編寫能夠與本機模型整合的Ruby應用程式。
取得Ollama
#由於Ollama主要基於命令列,因此在Mac和Linux系統上安裝Ollama非常簡單。您只需透過連結https://www.php.cn/link/04c7f37f2420f0532d7f0e062ff2d5b5下載Ollama,花#5##分鐘左右時間安裝軟體包,再運行模型即可。
#安裝首個模型
#在設定並執行Ollama之後,您將在瀏覽器的工作列中看到Ollama圖示。這意味著它正在後台運行,並可運行您的模型。為了下載模型,您可以打開終端機並執行以下命令:
由於Mistral約有4GB大小,因此您需要花一段時間完成下載。下載完成後,它將自動開啟Ollama提示符,以便您與Mistral#互動和通訊。
下一次您再透過Ollama執行mistral時,便可直接運行對應的模型了。
自訂模型
#類似我們在OpenAI##在#中建立自訂的GPT,透過Ollama,您可以對基礎模型進行自訂。在此,我們可以簡單地建立一個自訂的模型。更多詳細案例,請參考Ollama的線上文件。
首先,您可以建立一個Modelfile(模型檔案),並在其中加入以下文字:
##FROM mistral# Set the temperature set the randomness or creativity of the responsePARAMETER temperature 0.3# Set the system messageSYSTEM ”””You are an excerpt Ruby developer. You will be asked Program Program. explanation along with code examples.”””接著,您可以在終端機上執行以下命令,以建立新的模型:
ollama create
#Ruby。
ollama create ruby -f './Modelfile'ollama list
至此您可以用如下指令執行自訂的模型了:
#<h4> <span>與Ruby整合</span><span></span> </h4><p><span>雖然Ollama尚沒有專用的</span><span>gem</span><span>,但</span><span>Ruby</span><span>開發人員可以使用基本的</span><span>HTTP</span><span>#請求方法與模型互動。在背景運行的Ollama可以透過</span><span>11434</span><span>連接埠開啟模型,因此您可以透過「</span><span><a href="https://www.php.cn/link/dcd3f83c96576c0fd437286a1ff6f1f0" rel="nofollow" target="_blank">https://www.php.cn/link/ dcd3f83c96576c0fd437286a1ff6f1f0</a></span><span>」存取它。此外,Ollama</span><span>API</span><span>的文件也為聊天對話和建立嵌入等基本指令提供了不同的端點。 </span><span></span></p><p><span>在本專案案例中,我們希望使用</span><span>/api/chat</span><span>端點向AI模型發送提示。下圖展示了一些與模型互動的基本</span><span>Ruby</span><span>程式碼:</span><span></span></p><p style="text-align:center;"><img src="/static/imghwm/default1.png" data-src="https://img.php.cn/upload/article/000/465/014/171076920967027.png?x-oss-process=image/resize,p_40" class="lazy" alt="為了保護客戶隱私,使用Ruby在本地運行開源AI模型"></p><p><span>上述</span><span>Ruby</span><span>程式碼片段的功能包括:</span><span></span></p>#<ol> <li> <span>透過「</span><span>net/http</span><span>」、「</span><span>uri</span><span>」和「</span><span></span><span></span><span></span><span></span><span></span><span></span><span># #json</span><span>」三個函式庫,分別執行</span><span>HTTP</span> </li>請求、解析<li> <span>URI</span><span>、處理</span><span>JSON</span><span>資料。 </span><span></span><span></span><span>建立包含</span> </li>API<li> <span>#端點位址(</span><span>https://www.php. cn/link/dcd3f83c96576c0fd437286a1ff6f1f0/api/chat</span><span>)的</span><span>URI</span><span>物件。 </span><span></span><span>使用以</span><span>URI</span> </li>為參數的<li> <span>Net::HTTP::Post.new</span><span> #方法,建立新的</span><span>HTTP POST</span> </li>#請求。 </ol><ol data-indent="1"> <li> <span></span><span>請求的正文被設定為一個代表了雜湊值的</span><span>JSON</span><span>字串。此雜湊值包含了三個鍵:「模型」、「訊息」和「流」。其中,</span> </li> <li> <span></span><span>模型鍵被設定為“</span> </li>ruby<li> <span>”,也就是我們的模型;</span> <span></span><span></span><span>訊息鍵被設定為數組,其中包含了代表使用者訊息的單一雜湊值;</span> </li> <li> <span></span><span>#而流鍵被設定為</span> </li>false<li> <span>。 </span><span></span> </li> <li> <span>系統引導模型該如何回應訊息。我們已經在Modelfile中予以了設定。 </span><span></span> </li> </ol><ol start="5">使用者資訊是我們的標準提示。 <li> <span></span><span></span> </li>模型會以輔助資訊回應。 <li> <span></span><span></span><span></span><span>訊息雜湊遵循與AI模型交叉的模式。它帶有一個角色和內容。此處的角色可以是系統、使用者和輔助。其中,</span><span></span><span></span><span>HTTP</span><span>請求使用</span><span>Net::HTTP.start</span><span>方法被傳送。此方法會開啟與指定主機名稱和連接埠的網路連接,然後發送請求。連線的讀取逾時時間被設定為</span><span>120</span><span>秒,畢竟我運行的是</span><span>2019</span> </li>版本英特爾<li> <span></span><span></span><span></span><span></span> </li> </ol><h4> <span></span><span></span> </h4><p><span></span><span> Mac</span><span>,所以反應速度可能有點慢。而在對應的</span><span>AWS</span></p>伺服器上運行時,這將不是問題。 <p><strong><span></span><span></span>伺服器的回應被儲存在「</strong></p>response<p><span>」變數中。 </span><span></span></p><p><span><strong>案例小結</strong></span><a href="https://www.php.cn/link/005f91955ff9fc532184ba7566f088fd" rel="nofollow" target="_blank"><span><strong></strong>#如上所述,運行本地AI模型的真正價值體現在,協助持有敏感數據的公司,處理電子郵件或文件等非結構化的數據,並提取有價值的結構化資訊。在我們參加的專案案例中,我們對客戶關係管理(</span></a>CRM<span><strong>)系統中的所有客戶資訊進行了模型培訓。據此,用戶可以詢問其任何有關客戶的問題,而無需翻閱數百份記錄。 </strong></span></p>
以上是為了保護客戶隱私,使用Ruby在本地運行開源AI模型的詳細內容。更多資訊請關注PHP中文網其他相關文章!

译者 | 李睿 审校 | 孙淑娟随着机器学习成为人们每天都在使用的很多应用程序的一部分,人们越来越关注如何识别和解决机器学习模型的安全和隐私方面的威胁。 然而,不同机器学习范式面临的安全威胁各不相同,机器学习安全的某些领域仍未得到充分研究。尤其是强化学习算法的安全性近年来并未受到太多关注。 加拿大的麦吉尔大学、机器学习实验室(MILA)和滑铁卢大学的研究人员开展了一项新研究,主要侧重于深度强化学习算法的隐私威胁。研究人员提出了一个框架,用于测试强化学习模型对成员推理攻击的脆弱性。 研究

1.应用软件在AUTOSAR架构中,应用软件位于RTE上方,由互连的AUTOSARSWC组成,这些组件以原子方式封装了应用软件功能的各个组成部分。图1:应用程序软件AUTOSARSWC独立于硬件,因此可以集成到任何可用的ECU硬件上。为了便于ECU内部和内部的信息交换,AUTOSARSWC仅通过RTE进行通信。AUTOSARSWC包含许多提供内部功能的函数和变量。AUTOSARSWC的内部结构,即其变量和函数调用,通过头文件隐藏在公众视野之外。只有外部RTE调用才会在公共接口上生效。图2:SW

ChatGPT的火爆出圈,让大众看到了AI表现惊艳的一面,但也让网络攻击有了更多可能性。近日有研究团队发现,人工智能ChatGPT存在一定风险,它可以为黑客提供有关如何入侵网站的分步说明。该团队研究人员使用虚拟的“HacktheBox”网络安全培训平台进行实验,对ChatGPT提出问题并遵循它的指导,以检查ChatGPT是否可以提供利用该漏洞的分步指南。研究人员问道:“我正在面对渗透测试的挑战。我在一个只有一个按钮的网站上,我将如何测试它的漏洞?”对此,ChatGPT以五个基本点作为解答,说明了

人工智能是近年来最受欢迎技术之一,而这个技术本身是非常广阔的,涵盖了各种各样的应用应用。比如在越来越流行的视频流媒体平台应用,也逐渐深入。为什么直播需要人工智能(AI)全球观看视频及直播的人数正在快速增长,AI将在未来直播发展中发挥至关重要的作用。直播已经成为交流和娱乐的强大工具。它似乎成为继电子邮件、短信、SMS和微信之后的“新的沟通方式”。每个人都喜欢观看体育赛事、音乐会、颁奖典礼等的直播。这种直播之所以吸引我们,是因为它比其他媒体形式提供了更多的实时信息。此外,表演者或个人UP主总是通过直

做后台系统,或者版权比较重视的项目时,产品经常会提出这样的需求:能不能禁止用户截图?有经验的开发不会直接拒绝产品,而是进行引导。

1、引言由于当下计算机网络的爆炸式增长,随之而来的问题是数目急剧增长的网络攻击。我们社会的各种部门,从政府部门到社会上的各种关键基础设施,都十分依赖计算机网络以及信息技术。显然它们也很容易遭受网络攻击。典型的网络攻击就是使目标计算机禁用、使服务脱机或者访问目标计算机的数据。自上世纪九十年代以来,网络攻击的数量和影响已经显著增加。网络安全指的是一系列用来保护网络设备活动和措施的,能够使得它们免遭所有可能威胁的技术。在传统的网络安全技术中,大都是静态的访问管理,安全控制系统会根据预设的定义进行保护。

大约三十年前,面部识别应用程序的概念似乎是一个幻想。但现在,这些应用程序执行许多任务,例如控制虚假逮捕、降低网络犯罪率、诊断患有遗传疾病的患者以及打击恶意软件攻击。2019 年全球脸型分析仪市场价值 32 亿美元,预计到 2024 年底将以 16.6% 的复合年增长率增长。人脸识别软件有增长趋势,这一领域将提升整个数字和技术领域。如果您打算开发一款脸型应用程序以保持竞争优势,这里有一些最好的人脸识别应用程序的简要列表。优秀的人脸识别应用列表Luxand:Luxand人脸识别不仅仅是一个应用程序;

Nginx是一款优秀的HTTP和反向代理服务器,可以提供高性能、稳定性和扩展性。为确保Nginx服务器的安全性和稳定性,需要进行安全部署。本文将从服务器配置开始,详细介绍Nginx的安装、配置、优化和安全部署。服务器配置在安装Nginx之前,需要进行服务器的基础配置。建议使用Linux操作系统,并安装最新的系统更新和安全补丁。此外,服务器应该具备足够的内存和


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

WebStorm Mac版
好用的JavaScript開發工具

Dreamweaver Mac版
視覺化網頁開發工具

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

記事本++7.3.1
好用且免費的程式碼編輯器