Aller au contenu

Plan directeur - CllamaServer (serveur llama.cpp)

blueprint

Aperçu

CllamaServer est une implémentation basée sur le mode Serveur de llama.cpp, permettant de démarrer localement un serveur compatible avec l'API OpenAI et prenant en charge diverses fonctionnalités :

  • Service d'inférence locale : Lancez un serveur d'inférence IA en local, sans dépendre d'API externes
  • Compatibilité avec l'API OpenAI : Utilisation d'un format d'API compatible avec OpenAI pour faciliter la migration et l'intégration
  • Prise en charge multi-session : Prise en charge de plusieurs requêtes simultanées
  • Appel d'outil : Prend en charge la fonction d'appel de fonction
  • Reconnaissance vocale: Prend en charge la fonctionnalité Speech-to-Text
  • Gestion visuelle: L'éditeur intègre une interface de gestion du serveur.

Différences avec Cllama : * Cllama : Charge directement le modèle dans le processus pour l'inférence, ne peut traiter qu'une seule requête à la fois. * CllamaServer : Démarrer un serveur HTTP autonome capable de gérer plusieurs requêtes simultanées, avec une API compatible au format OpenAI

Préparatifs

Puisqu'il s'agit d'une exécution locale, il faut d'abord préparer le fichier de modèle hors ligne, par exemple en le téléchargeant depuis HuggingFace : Qwen1.5-1.8B-Chat-Q8_0.gguf

Placez le modèle dans un dossier spécifique, par exemple dans le répertoire du projet de jeu Content/LLAMA.

Création de CllamaServer

Créer un serveur à l'aide d'un blueprint

Cliquez avec le bouton droit dans le blueprint pour créer un nœud Create Cllama Server In World.

guide bludprint

Configurer les paramètres du serveur

Créer le nœud Cllama Server Param et configurer les paramètres clés :

  • Modèle : Chemin du fichier modèle (requis)
  • Port : Port du serveur (0 signifie une allocation automatique)
  • Hôte : adresse d'écoute, par défaut 127.0.0.1
  • NGpuLayers : Nombre de couches GPU (-1 signifie utiliser toutes les GPU)

guide bludprint

Associer les événements de rappel

Liaison des événements de rappel du serveur :

  • On Started : Déclenché lorsque le serveur démarre avec succès
  • On Stopped : Déclenché lorsque le serveur s'arrête
  • On Failed : Se déclenche lorsque le démarrage du serveur échoue

guide bludprint

Plan complet de création

Le plan complet de création du serveur est le suivant :

guide bludprint

Après avoir exécuté le plan directeur, le démarrage réussi du serveur déclenchera l'événement On Started.

Détails des paramètres du serveur

FAIChatPlus_CllamaServerParam est une structure qui contient les paramètres suivants :

Paramètres courants

Paramètre Type Valeur par défaut Description
Modèle FString - Chemin du fichier modèle (obligatoire)
Port int32 0 Port d'écoute, 0 signifie allocation automatique
Hôte ChaîneF 127.0.0.1 Adresse d'écoute
NGpuLayers int32 -1 Nombre de couches GPU, -1 signifie toutes
bUseJinja bool false Utiliser le modèle Jinja
MMProj FString - Chemin du fichier de projection multimodale
Température float 0.8 Température d'échantillonnage

Argument de raisonnement

Paramètre Type Valeur par défaut Description
CtxSize int32 4096 Taille du contexte
NPredict int32 -1 Nombre de Tokens à prédire, -1 signifie illimité
Threads int32 -1 Nombre de threads CPU, -1 signifie automatique
BatchSize int32 2048 Taille du lot (batch)

Paramètres d'échantillonnage

Paramètre Type Valeur par défaut Description
TopK int32 40 Échantillonnage Top-K
TopP float 0.9 Échantillonnage Top-P
MinP float 0.1 Échantillonnage Min-P
RepeatPenalty float 1.0 Pénalité de répétition

Paramètres du serveur

Paramètre Type Valeur par défaut Description
ApiKey FString - Clé API (optionnelle)
Timeout int32 600 Durée d'expiration (secondes)
Parallèle int32 1 Nombre de séquences parallèles
bNoWebUI bool false Désactiver l'interface Web
bVerbose bool false Journal détaillé

Utiliser CllamaServer pour discuter

Créer une demande de chat

Une fois le serveur démarré avec succès, vous pouvez utiliser le nœud Send CllamaServer Chat Request pour envoyer une demande de chat.

guide bludprint

Configurer les Options de Chat

Créer le nœud CllamaServer Chat Request Options, définissez BaseUrl comme l'adresse du serveur.

Vous pouvez obtenir les informations du serveur via le nœud Get Server Info By ID.

guide bludprint

Créer des Messages

Créez un tableau Messages, ajoutez un Message Système et un Message Utilisateur.

guide bludprint

Associer des rappels pour traiter les réponses

Lieez l'événement On Message ou On Message Finished pour recevoir les réponses du modèle.

guide bludprint

Plan complet de discussion

Le plan complet de conversation est le suivant :

guide bludprint

Résultat de l'exécution

Exécutez le modèle et vous verrez le message renvoyé par le modèle s'afficher à l'écran.

Gestion des serveurs

Obtenir les informations du Serveur

Utilisez le nœud Get Server Info pour obtenir les détails du serveur.

guide bludprint

Les informations sur le serveur contiennent les éléments suivants : * ServerID : ID unique du serveur * Hôte : Adresse d'écoute * Port: Port d'écoute * Adresse : Adresse complète (hôte:port) * HttpAddress: Adresse HTTP (http://host:port) * bIsRunning: Est-ce en cours d'exécution * Param: Paramètre du serveur

Arrêter le serveur

Utilisez le nœud Stop Server By ID pour arrêter le serveur actuel.

guide bludprint

Fonctions de gestion statique

AIChatPlus offre une série de fonctions statiques pour gérer tous les serveurs :

Fonction Description
Is Server Valid (Static) Vérifie si le serveur est valide
Is Server Running (Statique) Vérifie si le Serveur est en cours d'exécution
Arrêter le Serveur Par ID Arrête le serveur spécifié par ID
Stop All Servers Arrêter tous les serveurs
Get Server Info By ID Obtenir les informations du serveur par ID
Obtenir tous les ID des serveurs Récupérer tous les ID des serveurs
Get Server By ID Obtenir une instance de Serveur par ID

guide bludprint

Support multilingue

CllamaServer prend en charge les modèles multimodaux (comme Moondream, Qwen2-VL, etc.).

Configurer les paramètres multimodaux

Dans le paramètre Server, définissez MMProj (chemin du fichier de projection multimodale) :

guide bludprint

Envoyer un message avec une image

Ajouter des images dans Messages :

guide bludprint

Tool Calling

CllamaServer prend en charge la fonction Tool Calling (appel de fonction), dont l'utilisation est similaire à celle d'OpenAI.

Pour une utilisation détaillée, veuillez consulter Tool CallDocument.

Pour utiliser CllamaServer pour les appels d'outil (Tool Call), il est nécessaire de : 1. Dans les paramètres du Serveur, définissez bUseJinja = true 2. Définir les outils dans le champ Tools des Chat Options

guide bludprint

Éditeur Gestion du Serveur

AIChatPlus propose dans ses outils d'édition une interface visuelle de gestion pour CllamaServer, facilitant ainsi la création, la surveillance et la gestion de plusieurs serveurs.

Ouvrez l'outil d'édition : Outils -> AIChatPlus -> AIChat, puis ouvrez l'onglet Cllama Server Manager.

guide bludprint

Dans l'éditeur, vous pouvez : * Créer un nouveau serveur * Vérifier l'état du serveur en cours d'exécution * Arrêter le serveur spécifié * Configuration des paramètres du serveur * La configuration du serveur est automatiquement sauvegardée.

guide bludprint

Relations avec les autres API

Puisque CllamaServer est compatible avec le format API d'OpenAI, vous pouvez également utiliser le nœud Chat Request d'OpenAI pour communiquer avec CllamaServer. Il suffit de définir le BaseUrl sur l'adresse de CllamaServer.

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

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

Ce message a été traduit en utilisant ChatGPT, merci de nous faire part de vos retoursSignaler toute omission.