CoolFace
Apppublic

elidepb/mermaid-tinylora-api

sourceHugging Faceupdated 7mo agoView on Hugging Face
0likes
App README

Mermaid-LM API

API FastAPI para generar diagramas Mermaid con TinyLlama + LoRA. El adaptador LoRA se carga desde el repositorio público elidepb/mermaid-tinylora. Comportamiento alineado con el notebook: mismo formato de prompt, parámetros de generación y pipeline de orquestación (validación + corrección).

Configuración

Variables de entorno (opcionales):

VariableDefaultDescripción
BASE_MODELTinyLlama/TinyLlama-1.1B-Chat-v1.0Modelo base Hugging Face
ADAPTER_PATHelidepb/mermaid-tinyloraAdaptador LoRA (repo público)
USE_CPU01 para forzar CPU
MERGE_LORA11 para fusionar LoRA al cargar (recomendado en CPU)
USE_ORCHESTRATION11 para validación + hasta N correcciones (igual que el notebook)
MAX_ORCHESTRATION_ITERATIONS3Máximo de intentos de corrección

Endpoints

POST /generate

Mismo esquema que el notebook: diagram_type, topic, category, description.

json
{
  "diagram_type": "flowchart",
  "topic": "Authentication",
  "category": "Security",
  "description": "User login process with validation and session handling",
  "max_new_tokens": 512,
  "temperature": 0.7,
  "top_p": 0.9,
  "repetition_penalty": 1.15
}

Respuesta (con orquestación se añaden is_valid e iterations):

json
{
  "mermaid_code": "flowchart TD\n    A[Login] --> B{Valid?} ...",
  "is_valid": true,
  "iterations": 1
}

POST /generate_simple

Equivalente a generator.generate_simple(description, diagram_type).

json
{
  "prompt": "Create a flowchart for user login",
  "diagram_type": "flowchart",
  "max_new_tokens": 512,
  "temperature": 0.7,
  "top_p": 0.9,
  "repetition_penalty": 1.15
}

GET /health

Comprueba que la API está en marcha.

Parámetros de generación (igual que el notebook)

  • —max_new_tokens: 512 (por defecto)
  • —temperature: 0.7
  • —top_p: 0.9
  • —repetition_penalty: 1.15