Llama CPP Launcher es una aplicacion de escritorio para Linux que simplifica la gestion de servidores llama.cpp. Su objetivo es proporcionar una interfaz grafica intuitiva para configurar modelos GGUF, monitorizar el rendimiento de la GPU en tiempo real y gestionar multiples instancias del servidor sin tocar la terminal.

¿Que es Llama CPP Launcher?

Una aplicacion de escritorio que permite configurar y lanzar instancias del servidor de inferencia llama.cpp desde una interfaz grafica. Soporta dos servidores simultaneos — uno para inferencia principal y otro para autocompletado — con monitorizacion de GPU en tiempo real y gestion de modelos GGUF.

El proyecto nacio de la necesidad de simplificar el flujo de trabajo con llama.cpp, eliminando la complejidad de gestionar multiples procesos desde la linea de comandos y proporcionando visibilidad inmediata del estado del sistema.

Stack Tecnologico

Lenguaje y Framework

  • C++17 — Lenguaje principal con caracteristicas modernas
  • Qt6 — Framework de interfaz grafica nativa (migrado desde wxWidgets)
  • CMake — Sistema de construccion multiplataforma

Componentes Principales

  • ProcessManager — Gestion de procesos del servidor llama.cpp
  • ConfigManager — Persistencia de configuracion de modelos y servidores
  • GpuMonitor — Monitorizacion de uso de GPU en tiempo real
  • GpuGraph — Visualizacion grafica del rendimiento GPU
  • CommandBuilder — Construccion de comandos para el servidor
  • FolderScanner — Escaneo de directorios para modelos GGUF

Herramientas de Desarrollo

  • OpenCode — IDE con asistencia de IA para el desarrollo
  • GitHub Copilot — Asistente de codigo IA
  • Ollama — Ejecucion local de modelos de lenguaje
  • llama.cpp — Motor de inferencia para LLMs

Caracteristicas Principales

  • Gestion dual de servidores — Ejecuta simultaneamente un servidor de inferencia y uno de autocompletado
  • Configuracion visual de modelos — Seleccion de modelos GGUF con parametros configurables desde la interfaz
  • Monitorizacion de GPU — Graficos en tiempo real de uso de memoria y carga de GPU
  • Escaneo de carpetas — Deteccion automatica de modelos en directorios configurados
  • Generacion de comandos — Construccion visual de comandos con todas las opciones del servidor
  • Gestion de procesos — Inicio, detencion y monitoreo de instancias del servidor

Objetivos del Proyecto

Llama CPP Launcher busca demostrar que es posible construir herramientas de escritorio robustas en C++ moderno con Qt6, aprovechando la potencia del lenguaje para el rendimiento y la flexibilidad del framework para la interfaz grafica.

El proyecto tambien sirve como caso de estudio de desarrollo asistido por IA, donde OpenCode y GitHub Copilot fueron utilizados como herramientas principales para la implementacion, desde la arquitectura inicial hasta la refactorizacion de componentes.

Desarrollo Asistido por IA

Un aspecto distintivo de este proyecto es que fue desarrollado enteramente con asistencia de inteligencia artificial:

  • OpenCode — IDE principal con capacidades de IA integradas
  • GitHub Copilot — Asistente de codigo para sugerencias en tiempo real
  • Ollama — Modelos de lenguaje ejecutados localmente para pruebas
  • llama.cpp — El motor de inferencia que el propio launcher gestiona

Este enfoque permitio iterar rapidamente en la arquitectura, experimentar con diferentes disenos y refactorizar componentes de manera eficiente, manteniendo siempre la calidad del codigo como prioridad.