Heim >Technologie-Peripheriegeräte >KI >Um die Privatsphäre der Kunden zu schützen, führen Sie Open-Source-KI-Modelle lokal mit Ruby aus

Um die Privatsphäre der Kunden zu schützen, führen Sie Open-Source-KI-Modelle lokal mit Ruby aus

王林
王林nach vorne
2024-03-18 21:40:03585Durchsuche

Übersetzer |. Chen Jun

Rezensent |. Kürzlich haben wir ein maßgeschneidertes Projekt für künstliche Intelligenz (KI) implementiert. Da Partei A über sehr sensible Kundeninformationen verfügt, können wir diese aus Sicherheitsgründen nicht an

OpenAI

oder andere proprietäre Modelle weitergeben. Deshalb haben wir ein Open-Source-KI-Modell heruntergeladen und in einer virtuellen AWS-Maschine ausgeführt, sodass wir es vollständig unter unserer Kontrolle haben. Gleichzeitig können Rails-Anwendungen API-Anrufe an die KI in einer sicheren Umgebung tätigen. Wenn Sicherheitsaspekte nicht berücksichtigt werden müssen, würden wir natürlich lieber direkt mit OpenAI zusammenarbeiten.

Im Folgenden erkläre ich Ihnen, wie Sie das Open-Source-KI-Modell lokal herunterladen, laufen lassen und wie Sie das Skript Um die Privatsphäre der Kunden zu schützen, führen Sie Open-Source-KI-Modelle lokal mit Ruby aus

Ruby

dagegen ausführen. Warum anpassen?

Die Motivation für dieses Projekt ist einfach: Datensicherheit. Beim Umgang mit sensiblen Kundeninformationen ist es in der Regel am zuverlässigsten, dies innerhalb des Unternehmens zu tun. Daher benötigen wir maßgeschneiderte KI-Modelle, die dazu beitragen, ein höheres Maß an Sicherheitskontrolle und Datenschutz zu gewährleisten.

Open-Source-Modell

In den vergangenen

6

Monaten gab es neue Produkte auf dem Markt wie: Mistral, Mixtral und Lamaetc. Eine große Anzahl von Open-Source-KI-Modellen. Obwohl sie nicht so leistungsstark sind wie GPT-4, übertrifft die Leistung vieler von ihnen GPT-3.5 und sie werden mit der Zeit immer leistungsfähiger. Für welches Modell Sie sich entscheiden, hängt natürlich ganz von Ihren Verarbeitungsmöglichkeiten und dem, was Sie erreichen möchten, ab. Da wir das KI-Modell lokal ausführen werden, haben wir den

Mistral

ausgewählt, der ungefähr 4 GB ist. Bei den meisten Kennzahlen übertrifft es GPT-3.5. Obwohl Mixtral eine bessere Leistung als Mistral bietet, handelt es sich um ein sperriges Modell, das zum Betrieb mindestens 48 GB Speicher benötigt. Parameter

Wenn wir über große Sprachmodelle (

LLM

) sprechen, neigen wir dazu, über die Erwähnung ihrer Parametergrößen nachzudenken. Hier ist das Mistral-Modell, das wir lokal ausführen werden, ein 7-Milliarden-Parametermodell (natürlich hat Mixtral 700 Milliarden Parameter und GPT-3.5 Es gibt ungefähr 1750 Milliarden Parameter). Typischerweise verwenden große Sprachmodelle Techniken, die auf neuronalen Netzwerken basieren. Neuronale Netzwerke bestehen aus Neuronen, und jedes Neuron ist mit allen anderen Neuronen in der nächsten Schicht verbunden.

Wie im Bild oben gezeigt, hat jede Verbindung ein Gewicht, das normalerweise als Prozentsatz ausgedrückt wird. Jedes Neuron verfügt außerdem über eine Vorspannung, die die Daten korrigiert, wenn sie einen Knoten durchlaufen. Um die Privatsphäre der Kunden zu schützen, führen Sie Open-Source-KI-Modelle lokal mit Ruby aus

Der Zweck des neuronalen Netzwerks besteht darin, einen erweiterten Algorithmus, einen Mustervergleichsalgorithmus, zu „lernen“. Indem es an großen Textmengen trainiert wird, lernt es nach und nach die Fähigkeit, Textmuster vorherzusagen und sinnvoll auf die Hinweise zu reagieren, die wir ihm geben. Einfach ausgedrückt sind Parameter die Anzahl der Gewichte und Verzerrungen im Modell. Es gibt uns eine Vorstellung davon, wie viele Neuronen es in einem neuronalen Netzwerk gibt. Beispielsweise gibt es für ein 7 Milliarden Parametermodell ungefähr

100

Schichten mit jeweils Tausenden von Neuronen. Führen Sie das Modell lokal aus

Um das Open-Source-Modell lokal auszuführen, müssen Sie zunächst die entsprechende Anwendung herunterladen. Obwohl es viele Optionen auf dem Markt gibt, ist

Ollama diejenige, die sich meiner Meinung nach am einfachsten und am einfachsten auf Intel

Mac

ausführen lässt. Obwohl Ollama derzeit nur auf

Mac

und Linux läuft, wird es in Zukunft auch auf Windows laufen. Natürlich können Sie WSL (Windows-Subsystem für Linux) verwenden, um Linux-Shell unter Windows auszuführen.

Ollama ermöglicht Ihnen nicht nur das Herunterladen und Ausführen verschiedener Open-Source-Modelle, sondern öffnet das Modell auch auf einem lokalen Port, sodass Sie API-Aufrufe über RubyCode tätigen können. Dies erleichtert Ruby-Entwicklern das Schreiben von Ruby-Anwendungen, die in lokale Modelle integriert werden können.

Holen Sie sich Ollama

Da Ollama hauptsächlich befehlszeilenbasiert ist, ist es sehr einfach, Ollama auf Mac und Linux zu installieren . Sie müssen Ollama nur über den Link https://www.php.cn/link/04c7f37f2420f0532d7f0e062ff2d5b5 herunterladen, etwa 5 Minuten für die Installation des Softwarepakets aufwenden und dann das Modell ausführen.

Um die Privatsphäre der Kunden zu schützen, führen Sie Open-Source-KI-Modelle lokal mit Ruby aus

Installieren Ihres ersten Modells

Nachdem Sie Ollama eingerichtet und ausgeführt haben, sehen Sie das Ollama-Symbol in der Taskleiste Ihres Browsers. Das bedeutet, dass es im Hintergrund läuft und Ihr Modell ausführen kann. Um das Modell herunterzuladen, können Sie ein Terminal öffnen und den folgenden Befehl ausführen:

ollama run mistral

Da Mistral etwa 4GB groß ist, wird es bei Ihnen eine Weile dauern um den Download abzuschließen. Sobald der Download abgeschlossen ist, wird automatisch die Ollama-Eingabeaufforderung geöffnet, damit Sie mit Mistral interagieren und kommunizieren können.

Um die Privatsphäre der Kunden zu schützen, führen Sie Open-Source-KI-Modelle lokal mit Ruby aus

Wenn Sie mistral das nächste Mal durch Ollama laufen, können Sie das entsprechende Modell direkt ausführen.

Maßgeschneidertes Modell

Ähnlich wie wir benutzerdefiniertes GPT in OpenAI erstellen, können Sie über Ollama das Basismodell anpassen. Hier können wir einfach ein benutzerdefiniertes Modell erstellen. Ausführlichere Fälle finden Sie in der Online-Dokumentation von Ollama.

Zunächst können Sie ein Modelfile (Modelldatei) erstellen und darin den folgenden Text hinzufügen:

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 questions about the Ruby Programminglanguage. You will provide an explanation along with code examples.”””

Die oben erscheinende Systemmeldung ist die Grundlage für die konkrete Reaktion der KI Modell.

Als nächstes können Sie den folgenden Befehl auf dem Terminal ausführen, um ein neues Modell zu erstellen:

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

In unserem Projektfall habe ich das Modell Ruby genannt.

ollama create ruby -f './Modelfile'

Gleichzeitig können Sie den folgenden Befehl verwenden, um Ihre vorhandenen Modelle aufzulisten und anzuzeigen:

ollama list

Um die Privatsphäre der Kunden zu schützen, führen Sie Open-Source-KI-Modelle lokal mit Ruby aus

Jetzt können Sie den folgenden Befehl verwenden, um das auszuführen individuelles Modell:

Ollama run ruby
In Ruby integriert Ollama, das im Hintergrund läuft, kann das Modell über den Port

11434 öffnen, sodass Sie über „

https://www.php.cn/link/dcd3f83c96576c0fd437286a1ff6f1f0“ darauf zugreifen können. Darüber hinaus bietet die Dokumentation für die Ollama-API auch verschiedene Endpunkte für grundlegende Befehle wie Chat-Konversationen und das Erstellen von Einbettungen. In diesem Projektfall möchten wir den Endpunkt /api/chat verwenden, um Eingabeaufforderungen an das KI-Modell zu senden. Das Bild unten zeigt einige grundlegende RubyCode für die Interaktion mit dem Modell: Die Funktionalität des oben genannten RubyCode-Snippets umfasst:

netto /http“, „uri

“ und „

Um die Privatsphäre der Kunden zu schützen, führen Sie Open-Source-KI-Modelle lokal mit Ruby ausjson

“ drei Bibliotheken führen jeweils HTTP-Anfragen aus, analysieren URI bzw. verarbeiten

    JSON
  1. -Daten. Erstellen mit der APIEndpunktadresse (https://www.php.cn/link/dcd3f83c96576c0fd437286a1ff6f1f0/api/chat ) URI-Objekt. Verwenden Sie die Methode Net::HTTP::Post.new mit
  2. URI
  3. als Parameter, um eine neue HTTP POST-Anfrage zu erstellen. Der Anforderungstext ist auf eine JSON
  4. -Zeichenfolge festgelegt, die den Hash-Wert darstellt. Der Hash enthält drei Schlüssel: „model“, „message“ und „stream“. Darunter ist der
  5. -Modellschlüssel auf „ruby“ gesetzt, was unser Modell ist; der -Nachrichtenschlüssel ist auf ein Array eingestellt, das ein einzelnes haha ​​enthält stellt die Benutzernachricht dar. Hashwert;
  6. während der Stream-Schlüssel auf false
  7. gesetzt ist.
  1. Das System leitet das Modell an, wie es auf die Informationen reagieren soll. Wir haben es bereits in der Modeldatei festgelegt.
  2. Benutzerinformationen sind unsere Standardabfrage.
  3. Das Modell antwortet mit Zusatzinformationen.
  4. Nachrichten-Hashing folgt einem Muster, das sich mit KI-Modellen überschneidet. Es kommt mit einem Charakter und Inhalt. Rollen können hier System, Benutzer und Hilfskraft sein. Unter anderem wird die
  5. HTTP
  6. -Anfrage mit der Methode
  7. Net::HTTP.start gesendet. Diese Methode öffnet eine Netzwerkverbindung zum angegebenen Hostnamen und Port und sendet dann die Anfrage. Das Lese-Timeout der Verbindung ist auf
  8. 120
  9. Sekunden eingestellt, schließlich verwende ich einen 2019
  10. Intel
    Mac
  1. , daher kann die Reaktion etwas langsam sein. Bei Ausführung auf dem entsprechenden AWS
  2. -Server stellt dies kein Problem dar.
  3. Die Antwort des Servers wird in der Variablen „response“ gespeichert. FallzusammenfassungWie oben erwähnt besteht der wahre Wert der Ausführung lokaler KI-Modelle darin, Unternehmen zu unterstützen, die sensible Daten besitzen, unstrukturierte Daten wie E-Mails oder Dokumente verarbeiten und wertvolle strukturierte Informationen extrahieren . In dem Projektfall, an dem wir teilgenommen haben, führten wir eine Modellschulung zu allen Kundeninformationen im Customer-Relationship-Management-System (CRM) durch. Von hier aus können Benutzer alle Fragen zu ihren Kunden stellen, ohne Hunderte von Datensätzen durchsuchen zu müssen.
  4. ... Kenntnisse und Erfahrung im Bereich Netzwerk- und Informationssicherheit. Originaltitel:

How To Run Open-Source AI Models Locally With Ruby

, Autor: Kane Hooper

Das obige ist der detaillierte Inhalt vonUm die Privatsphäre der Kunden zu schützen, führen Sie Open-Source-KI-Modelle lokal mit Ruby aus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:51cto.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen