Saltar a contenido

Plan Maestro - CllamaServer (servidor llama.cpp)

blueprint

Resumen

CllamaServer está implementado en el modo Server de llama.cpp, que permite iniciar localmente un servidor compatible con la API de OpenAI y soporta múltiples funciones:

  • Servicio local de inferencia: Inicia un servidor de inferencia de IA localmente, sin necesidad de depender de API externas.
  • Compatibilidad con la API de OpenAI: Utiliza un formato de API compatible con OpenAI, facilitando la migración e integración.
  • Soporte para múltiples sesiones: Admite múltiples solicitudes simultáneas
  • Llamada de herramientas: Soporta la funcionalidad de llamada a funciones.
  • Voz a texto: Compatible con la función Speech-to-Text
  • Gestión visual: El editor incluye una interfaz de gestión de servidores integrada.

Diferencias con Cllama: * Cllama: Carga directamente el modelo dentro del proceso para la inferencia, solo puede manejar una solicitud a la vez. * CllamaServer: Inicia un servidor HTTP independiente capaz de manejar múltiples solicitudes concurrentes, compatible con la API en formato OpenAI.

Preparativos

Al ejecutarse localmente, es necesario preparar primero los archivos del modelo offline, como descargar desde HuggingFace: Qwen1.5-1.8B-Chat-Q8_0.gguf

Coloca el modelo en alguna carpeta, por ejemplo, dentro del directorio del proyecto del juego en Content/LLAMA.

Crear CllamaServer

Crear un servidor usando Blueprint

Haz clic derecho en el plano para crear el nodo Crear Servidor Cllama En El Mundo.

guide bludprint

Configurar parámetros del Servidor

Crear el nodo Cllama Server Param y configurar los parámetros clave:

  • Modelo: Ruta del archivo del modelo (obligatorio)
  • Puerto: Puerto del servidor (0 indica asignación automática)
  • Host: Dirección de escucha, por defecto 127.0.0.1
  • NGpuLayers: Número de capas de GPU (-1 significa usar toda la GPU)

guide bludprint

Vincular eventos de devolución de llamada

Vinculación de eventos de retroalimentación del Servidor:

  • On Started: Se activa cuando el servidor se inicia correctamente.
  • On Stopped: Se activa cuando el servidor se detiene
  • On Failed: Se activa cuando falla el inicio del servidor

guide bludprint

Plan completo de creación

El plan completo para la creación del servidor es el siguiente:

guide bludprint

Después de ejecutar el plano, el inicio exitoso del servidor desencadenará el evento On Started.

Detalles de los parámetros del servidor

La estructura FAIChatPlus_CllamaServerParam contiene los siguientes parámetros:

Parámetros comunes

Parámetro Tipo Valor predeterminado Descripción
Modelo FString - Ruta del archivo del modelo (requerido)
Puerto int32 0 Puerto de escucha, 0 indica asignación automática
Host FString 127.0.0.1 Dirección de escucha
NGpuLayers int32 -1 Capas de GPU, -1 significa todas
bUseJinja bool false Utilizar plantilla Jinja
MMProj FString - Ruta del archivo de proyección multimodal
Temperatura float 0.8 Temperatura de muestreo

Argumentos de razonamiento

Parámetro Tipo Valor por defecto Descripción
CtxSize int32 4096 Tamaño del contexto
NPredict int32 -1 Cantidad de Tokens a predecir, -1 significa infinito
Hilos int32 -1 Número de hilos de CPU, -1 indica automático
BatchSize int32 2048 Tamaño del lote

Parámetros de muestreo

Parámetro Tipo Valor predeterminado Descripción
TopK int32 40 Muestreo Top-K
TopP flotante 0.9 Muestreo Top-P
MinP flotante 0.1 Muestreo Min-P
RepeatPenalty float 1.0 Penalización por repetición

Parámetros del servidor

Parámetro Tipo Valor predeterminado Descripción
ApiKey FString - Clave API (opcional)
Tiempo de espera int32 600 Tiempo límite (segundos)
Paralelo int32 1 Número de secuencias paralelas
bNoWebUI bool false Deshabilitar la interfaz web
bVerbose bool false Registro detallado

Usar CllamaServer para chatear

Crear Solicitud de Chat

Una vez que el servidor se haya iniciado con éxito, puedes utilizar el nodo Send CllamaServer Chat Request para enviar solicitudes de chat.

guide bludprint

Configurar Opciones del Chat

Crear el nodo CllamaServer Chat Request Options, establecer BaseUrl como la dirección del servidor.

Se puede obtener la información del servidor mediante el nodo Get Server Info By ID.

guide bludprint

Crear Mensajes

Crear un arreglo de Messages, agregar System Message y User Message.

guide bludprint

Vincular retrollamada para manejar la respuesta

Vincula los eventos On Message o On Message Finished para recibir respuestas del modelo.

guide bludprint

Plan maestro de chat completo

El plan completo del chat es el siguiente:

guide bludprint

Resultado de la ejecución

Ejecuta el esquema y verás que el mensaje devuelto por el modelo se muestra en la pantalla.

Gestión del Servidor

Obtener información del Servidor

Usa el nodo Get Server Info para obtener los detalles del Servidor.

guide bludprint

Server Info contiene la siguiente información: * ServerID: ID único del servidor * Anfitrión: Dirección de escucha * Puerto: Puerto de escucha * Dirección: Dirección completa (host:port) * HttpAddress: Dirección HTTP (http://host:port) * bIsRunning: ¿Se está ejecutando? * Param: Parámetro del servidor

Detener Servidor

Utiliza el nodo Stop Server By ID para detener el servidor actual.

guide bludprint

Funciones de gestión estática

AIChatPlus ofrece una serie de funciones estáticas para gestionar todos los Servidores.

Función Descripción
Is Server Valid (Static) Comprueba si el servidor es válido
Is Server Running (Static) Verificar si el Servidor está en funcionamiento
Stop Server By ID Detener Servidor Específico por ID
Stop All Servers Detener todos los Servidores
Get Server Info By ID Obtener información del servidor por ID
Obtener todos los IDs de servidor Obtener todos los IDs de servidor
Obtener Servidor por ID Obtener instancia de Servidor mediante ID

guide bludprint

Soporte multimodal

CllamaServer admite modelos multimodales (como Moondream, Qwen2-VL, etc.).

Configurar parámetros multimodales

En el parámetro del Servidor, establece MMProj (ruta del archivo de proyección multimodal):

guide bludprint

Enviar mensaje de imagen

Agregar imágenes en Mensajes:

guide bludprint

Resultados de la ejecución

Tool Calling

CllamaServer es compatible con la función Tool Calling (llamada de funciones), cuyo uso es similar al de OpenAI.

Para un uso detallado, consulte Tool CallDocumento.

Al usar CllamaServer para Tool Call, es necesario: 1. En los parámetros del Server, configura bUseJinja = true 2. Definir herramientas en el campo Tools de Chat Options

guide bludprint

Editor Administración del Servidor

AIChatPlus ofrece una interfaz visual de gestión de CllamaServer dentro de sus herramientas de editor, facilitando la creación, supervisión y administración de múltiples servidores.

Abre la herramienta del editor: Herramientas -> AIChatPlus -> AIChat, abre la pestaña del Administrador del Servidor Cllama.

guide bludprint

En el editor puedes: * Crear nuevo Servidor * Verificar el estado del Servidor en ejecución * Detener el Servidor especificado * Configurar parámetros del servidor * La configuración del servidor se guardará automáticamente

guide bludprint

Relación con otras API

Dado que CllamaServer es compatible con el formato de API de OpenAI, también puedes utilizar el nodo Chat Request de OpenAI para comunicarte con CllamaServer, solo necesitas configurar BaseUrl con la dirección de CllamaServer.

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

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

Esta publicación ha sido traducida usando ChatGPT. Por favor, proporciona tus comentarios en retroalimentaciónSeñalar cualquier omisión en el texto.