Zum Inhalt

Blaupausen-Teil - CllamaServer (llama.cpp Server)

blueprint

Übersicht

CllamaServer basiert auf dem Server-Modus von llama.cpp und ermöglicht das Starten eines lokal laufenden Servers, der mit der OpenAI API kompatibel ist und zahlreiche Funktionen unterstützt:

  • Lokale Inferenz-Services: Starten Sie den KI-Inferenzserver lokal, ohne auf externe APIs angewiesen zu sein.
  • Kompatibel mit OpenAI API: Verwendet das OpenAI-kompatible API-Format für einfache Migration und Integration
  • Mehrfach-Sitzungsunterstützung: Unterstützt mehrere gleichzeitige Anfragen
  • Tool Calling: Unterstützt die Funktionsaufruffunktion
  • Sprach-zu-Text: Unterstützt die Speech-to-Text-Funktionalität
  • Visuelles Management: Der Editor verfügt über eine integrierte Server-Verwaltungsoberfläche.

Unterschiede zu Cllama: * Cllama: Lädt das Modell direkt innerhalb des Prozesses für die Inferenz, kann jedoch nur eine Anfrage gleichzeitig bearbeiten * CllamaServer: Startet einen eigenständigen HTTP-Server, der mehrere gleichzeitige Anfragen verarbeiten kann, mit API-Kompatibilität zum OpenAI-Format.

Vorbereitungen

Da es lokal ausgeführt wird, müssen Sie zuerst die Offline-Modelldateien vorbereiten, beispielsweise von HuggingFace herunterladen: Qwen1.5-1.8B-Chat-Q8_0.gguf

Platziere das Modell in einem bestimmten Ordner, zum Beispiel im Verzeichnis des Spielprojekts unter Content/LLAMA.

Erstellen Sie den CllamaServer

Erstellen eines Servers mit Blueprint

Erstellen Sie im Blueprint durch Rechtsklick den Knoten Create Cllama Server In World.

guide bludprint

Server-Parameter konfigurieren

Erstelle den Cllama Server Param-Knoten und konfiguriere die Schlüsselparameter:

  • Modell: Modell-Dateipfad (erforderlich)
  • Port: Server-Port (0 bedeutet automatische Zuweisung)
  • Host: Die Überwachungsadresse, standardmäßig 127.0.0.1
  • NGpuLayers: Anzahl der GPU-Ebenen (-1 bedeutet, dass die gesamte GPU genutzt wird)

guide bludprint

Rückrufereignisse binden

Server-Ereignisrückrufe binden:

  • On Started: Wird ausgelöst, wenn der Server erfolgreich gestartet wurde
  • Bei Stopp: Wird ausgelöst, wenn der Server angehalten wird
  • Bei Fehlschlag: Wird ausgelöst, wenn der Server nicht startet.

guide bludprint

Kompletter Erstellungsplan

Das vollständige Blaupausen-Dokument zur Servererstellung ist wie folgt:

guide bludprint

Nachdem der Blueprint ausgeführt wurde, löst der Server beim erfolgreichen Start das On Started-Ereignis aus.

Server-Parameter im Detail

Die FAIChatPlus_CllamaServerParam-Struktur umfasst die folgenden Parameter:

Häufig verwendete Parameter

Parameter Typ Standardwert Beschreibung
Modell FString - Pfad zur Modell-Datei (erforderlich)
Port int32 0 Überwachungsport, 0 bedeutet automatische Zuweisung
Host FString 127.0.0.1 Überwachungsadresse
NGpuLayers int32 -1 Anzahl der GPU-Schichten, -1 bedeutet alle
bUseJinja bool false Jinja-Vorlagen verwenden
MMProj FString - Multimodale Projektionsdateipfad
Temperatur float 0.8 Abtasttemperatur

Schlussfolgerungsparameter

Parameter Typ Standardwert Beschreibung
CtxSize int32 4096 Größe des Kontextes
NPredict int32 -1 Anzahl der vorhergesagten Tokens, -1 bedeutet unbegrenzt
Threads int32 -1 Anzahl der CPU-Threads, -1 bedeutet automatisch
BatchSize int32 2048 Stapelverarbeitungsgröße

Stichprobenparameter

Parameter Typ Standardwert Beschreibung
TopK int32 40 Top-K-Sampling
TopP float 0.9 Top-P-Sampling
MinP float 0.1 Min-P-Stichprobenverfahren
RepeatPenalty float 1.0 Wiederholungsstrafe

Serverparameter

Parameter Typ Standardwert Beschreibung
ApiKey FString - API-Schlüssel (optional)
Timeout int32 600 Timeout in Sekunden
Parallel int32 1 Anzahl der parallelen Sequenzen
bNoWebUI bool false Deaktiviert die Web-Oberfläche
bVerbose bool false Detailliertes Protokoll

Chatten mit CllamaServer

Chat-Anfrage erstellen

Nach erfolgreichem Start des Servers kann mit dem Knoten Send CllamaServer Chat Request eine Chat-Anfrage gesendet werden.

guide bludprint

Chat-Optionen konfigurieren

Erstelle den Knoten CllamaServer Chat Request Options und setze die BaseUrl auf die Server-Adresse.

Sie können Server-Informationen über den Knoten Get Server Info By ID abrufen.

guide bludprint

Nachrichten erstellen

Erstelle ein Messages-Array, füge eine System-Nachricht und eine Benutzernachricht hinzu.

guide bludprint

Rückruf für die Antwortverarbeitung binden

Binden Sie das On Message- oder On Message Finished-Ereignis, um die Modellantworten zu empfangen.

Hier ist die Übersetzung des Textes ins Deutsche:

guide bludprint

Vollständiger Chat-Blueprint

Die vollständige Chat-Blueprint sieht wie folgt aus:

guide bludprint

Laufzeitergebnis

Führen Sie den Blueprint aus, um zu sehen, wie die vom Modell zurückgegebenen Nachrichten auf dem Bildschirm angezeigt werden.

Server-Verwaltung

Server-Informationen abrufen

Verwenden Sie den Knoten Get Server Info, um detaillierte Informationen über den Server zu erhalten.

guide bludprint

Server Info enthält die folgenden Informationen: * ServerID: Eindeutige Server-ID * Host: Überwachungsadresse * Port: Abhörport * Adresse: Vollständige Adresse (host:port) * HttpAddress: HTTP-Adresse (http://host:port) * bIsRunning: Wird ausgeführt * Param: Serverparameter

Stoppen des Servers

Verwenden Sie den Knoten Stop Server By ID, um den aktuellen Server zu stoppen.

guide bludprint

Statische Managementfunktionen

AIChatPlus bietet eine Reihe von statischen Funktionen zur Verwaltung aller Server:

Funktion Beschreibung
Is Server Valid (Static) Prüft, ob der Server gültig ist
Läuft der Server (statisch) Prüft, ob der Server läuft
Stop Server By ID Server anhand der ID stoppen
Stop All Servers Alle Server anhalten
Get Server Info By ID Server-Informationen nach ID abrufen
Get All Server IDs Alle Server-IDs abrufen
Get Server By ID Holen Sie die Server-Instanz anhand der ID

guide bludprint

Multimodale Unterstützung

CllamaServer unterstützt multimodale Modelle (wie Moondream, Qwen2-VL usw.).

Multimodale Parameter konfigurieren

Im Server-Parameter wird MMProj (der Pfad zur Multimodal-Projektionsdatei) festgelegt:

guide bludprint

Bildnachricht senden

Bilder in Nachrichten hinzufügen:

guide bludprint

Ausführungsergebnis

Benötige Bild: Zeigt das Ergebnis der Bilderkennung, der Bildschirm zeigt die Beschreibung des Bildinhalts durch das Modell an

Tool Calling

CllamaServer unterstützt die Tool-Calling-Funktion (Funktionsaufruf), deren Verwendung ähnlich wie bei OpenAI ist.

Eine detaillierte Beschreibung der Verwendung finden Sie unter Tool CallDokument.

Bei der Verwendung von CllamaServer für Tool Calls ist Folgendes erforderlich: 1. Setzen Sie im Server-Parameter bUseJinja = true 2. Definieren Sie Werkzeuge im Feld "Tools" der Chat-Optionen

guide bludprint

Editor Server-Verwaltung

AIChatPlus bietet in den Editor-Tools eine visuelle Management-Oberfläche für CllamaServer, die das Erstellen, Überwachen und Verwalten mehrerer Server erleichtert.

Editor-Tool öffnen: Tools -> AIChatPlus -> AIChat, öffnen Sie den Reiter Cllama Server Manager.

guide bludprint

Im Editor können Sie: * Neuen Server erstellen * Status des laufenden Servers prüfen * Angegebenen Server beenden * Server-Parameter konfigurieren * Die Server-Konfiguration wird automatisch gespeichert

Hinweis: Der deutsche Text behält die technische und direkte Tonart des Originals bei, wie für Anleitungen oder Dokumentationen üblich, und vermittelt klar die Anforderung eines Bildes mit spezifischen Details zur Benutzeroberfläche. Die Übersetzung ist präzise, natürlich formuliert und verzichtet auf maschinelle Klischees. guide bludprint

Beziehungen zu anderen APIs

Da CllamaServer mit dem OpenAI-API-Format kompatibel ist, können Sie auch den Chat-Request-Knoten von OpenAI verwenden, um mit CllamaServer zu kommunizieren. Setzen Sie einfach die BaseUrl auf die Adresse des CllamaServers.

Original: https://wiki.disenone.site/de

This post is protected by CC BY-NC-SA 4.0 agreement, should be reproduced with attribution.

Dieser Beitrag wurde mit ChatGPT übersetzt, bitte geben Sie Ihr FeedbackHinweis auf etwaige Fehlstellen.