So ermöglichen Sie mehreren Clients die Kommunikation mit einer gemeinsamen Wissensdatenbank mithilfe der lokalen GPT-API
Heute schauen wir uns an, wie man mehrere Clients aktiviert, damit sie über die lokale GPT-API mit einer gemeinsamen Wissensdatenbank kommunizieren können. Local GPT ist mein eigenes Projekt, mit dem Sie lokal in einer sicheren Umgebung mit Ihren Dokumenten chatten können. Es hat über 18.000 Sterne auf GitHub und Sie können darauf tatsächlich Geschäftsanwendungen erstellen.
Lokales GPT einrichten
Lassen Sie uns zunächst Schritt für Schritt durch die Einrichtung des lokalen GPT gehen. Wenn Sie lokales GPT zum ersten Mal sehen, müssen Sie das Repo klonen. Klicken Sie einfach auf die grüne Schaltfläche auf der GitHub-Seite, um den Link zu kopieren. Alternativ können Sie eine vorkonfigurierte virtuelle Maschine von MK Compute verwenden. Wenn Sie sich für die Verwendung der virtuellen Maschine entscheiden, verwenden Sie den Code „promptengineering“, um 50% zu deaktivieren.
Wenn Sie lokales GPT auf einem lokalen Computer ausführen, öffnen Sie Ihr Terminal und ändern Sie das Verzeichnis in das Verzeichnis, in dem Sie eine Kopie des geklonten Repositorys speichern möchten. Verwenden Sie dann die kopierte GitHub-Repo-Adresse, um das Repo in einen neuen Ordner namens „local GPT API“ zu klonen. Als nächstes erstellen Sie eine neue virtuelle Umgebung mit dem Befehl „conda create -n localGPT python=3.10“ (ersetzen Sie „localGPT“ durch den gewünschten Namen Ihrer virtuellen Umgebung). Installieren Sie alle Anforderungen mit „pip install -r require.txt“.
Sobald die Einrichtung abgeschlossen ist, können Sie mit dem Injektionsteil fortfahren.
Dokumente einfügen und eine Wissensdatenbank erstellen
Um mehreren Clients die Kommunikation mit einer gemeinsamen Wissensdatenbank zu ermöglichen, müssen wir die Dokumente aufnehmen und einen Vektorspeicher erstellen. Dies kann mit dem Python-Befehl „python inject.py“ erfolgen. Standardmäßig wird CUDA als Gerätetyp verwendet. Wenn Sie dies jedoch auf Apple-Chips ausführen, können Sie MPS als Gerätetyp angeben.
Der Injektionsprozess teilt die Dokumente in Blöcke auf und erstellt auf der Grundlage dieser Blöcke Vektoreinbettungen. Die Vektoreinbettungen werden in einem Vektorspeicher gespeichert, der als Wissensbasis fungiert.
Betreuung mehrerer Kunden
Nachdem wir nun die Wissensdatenbank eingerichtet haben, können wir damit beginnen, mehrere Kunden über eine API zu bedienen. Lokales GPT nutzt zu diesem Zweck den Flask API-Server. Der lokale GPT-Server implementiert einen einfachen Warteschlangenmechanismus, der Clients in der Reihenfolge bedient, in der sie Anfragen stellen. Wenn Sie über ein Multi-GPU-System verfügen, können Sie verschiedene Instanzen von lokalem GPT auf verschiedenen GPUs bereitstellen und Client-Anfragen über diese weiterleiten.
Um den API-Server zu starten, verwenden Sie den Befehl „python run_local_gpt_api.py“. Dadurch wird das Modell geladen und mit der Bereitstellung begonnen.
Verwenden der lokalen GPT-Benutzeroberfläche
Local GPT enthält eine Beispiel-Benutzeroberfläche, die Sie für die Interaktion mit dem API-Server verwenden können. Navigieren Sie zum Ordner „local GPT UI“ und führen Sie den Befehl „python local_gpt_ui.py“ aus. Dadurch wird eine weitere Flask-Anwendung gestartet, die auf Port 5111 ausgeführt wird.
Sie können Ihre eigenen Benutzeroberflächen erstellen, indem Sie sich die Implementierung der lokalen GPT-API und deren Aufruf ansehen. Die bereitgestellte Beispiel-Benutzeroberfläche ist nur eine Option.
Simulation mehrerer Clients
Um zu simulieren, dass mehrere Clients gleichzeitig auf die API zugreifen, können Sie mehrere Instanzen der Benutzeroberfläche ausführen oder externe Aufrufe der API von verschiedenen Remote-Computern aus durchführen. In dem im Video gezeigten Beispiel werden drei verschiedene Instanzen der Benutzeroberfläche ausgeführt, von denen jede eine andere Eingabeaufforderung an den API-Server sendet.
Der API-Server antwortet jeweils auf eine Eingabeaufforderung und verarbeitet sie in der Reihenfolge, in der sie eingehen. Sobald eine Antwort generiert wurde, wird mit der nächsten Eingabeaufforderung fortgefahren.
Abschluss
In diesem Tutorial haben wir gelernt, wie man mehreren Clients die Kommunikation mit einer gemeinsamen Wissensdatenbank über den lokalen GPT-API-Server ermöglicht. Während dieses Tutorial eine grundlegende Einrichtung bietet, gibt es elegantere Möglichkeiten, mit mehreren Clients umzugehen, z. B. das Hinzufügen eines Lastenausgleichs und das Einreihen von Anforderungen in die Warteschlange.
Wenn Sie daran interessiert sind, zum lokalen GPT-Projekt beizutragen, schauen Sie sich das GitHub-Repo an und treten Sie der Discord-Community bei. Darüber hinaus stehen Beratungsleistungen für Produkte und Startups zur Verfügung. Abonnieren Sie unbedingt den Kanal, um weitere Inhalte zum lokalen GPT und seinen Funktionen zu erhalten.
Vielen Dank fürs Zuschauen und bis zum nächsten Video!