Passa al contenuto principale

Come usare il plugin

Questa guida copre l'API runtime completa: creare un'istanza LLM, caricare modelli, inviare messaggi, scaricare modelli in fase di esecuzione, gestire lo stato e funzioni di utilità.

Creare un'istanza LLM

Inizia creando un oggetto Runtime Local LLM. Mantieni un riferimento ad esso (ad esempio come variabile in Blueprints o una UPROPERTY in C++) per evitare la raccolta dei rifiuti prematura.

Crea Runtime Local LLM

Carica un Modello

Devi caricare un modello prima di inviare messaggi. Il plugin offre diversi metodi di caricamento in base al tuo flusso di lavoro.

Carica per Nome

Se gestisci i modelli attraverso il pannello delle impostazioni dell'editor, usa Load Model (By Name).

In UE 5.4 and later, Load Model (By Name) presenta un menu a discesa con tutti i modelli su disco – seleziona semplicemente il modello che vuoi caricare.

Load Model By Name UE 5.4+

Carica dal percorso del file

Carica un modello direttamente da un percorso assoluto di file verso un file .gguf:

Carica modello dal file

Carica da URL (Scarica e Carica)

Scarica un modello da un URL (se non già presente su disco) e lo carica automaticamente. Se il file esiste già localmente, il download viene saltato.

La variante più semplice richiede solo un URL - i metadati vengono ricavati dal nome del file:

Load Model From URL Simple

È anche possibile utilizzare Load Model From URL con metadati completi del modello per informazioni più ricche sul modello:

Load Model From URL

Caricamento Asincrono (Blueprint)

Per gestire il completamento e gli errori di caricamento tramite pin di output invece di associare manualmente i delegati, sono disponibili due nodi asincroni.

Load Model By Name (Async) rispecchia Load Model (By Name) - in UE 5.4+ presenta un menu a discesa di tutti i modelli su disco:

Load Model By Name Async UE 5.4+

Load Model From File (Async) accetta invece un percorso file assoluto:

Load Model From File Async

Associare Eventi

Associa i delegati dell'istanza LLM per ricevere callback. Tutti i callback vengono eseguiti sul thread di gioco.

Associare Eventi

Delegati disponibili:

  • On Token Generated: Si attiva per ogni token in output
  • On Generation Complete: Si attiva quando la risposta completa è pronta, con durata, numero di token e token al secondo
  • On Prompt Processed: Si attiva dopo che il prompt di input è stato elaborato, prima che inizi la generazione
  • On Error: Si attiva se si verifica un errore durante qualsiasi operazione
  • On Model Loaded: Si attiva quando un modello termina il caricamento
  • On Model Unloaded: Si attiva quando il modello viene scaricato
  • On Download Progress: Si attiva periodicamente durante un download del modello (frazione di progresso, byte ricevuti, byte totali)
  • On Model Downloaded: Si attiva quando un'operazione di solo download viene completata

Inviare messaggi

Una volta caricato un modello, invia un messaggio utente per generare una risposta:

Send Message

Per sovrascrivere il prompt di sistema per un messaggio specifico, utilizza Send Message With System Prompt:

Send Message With System Prompt

I token fluiscono attraverso OnTokenGenerated man mano che vengono prodotti. Quando la generazione termina, OnGenerationComplete si attiva con la risposta completa, la durata, il conteggio dei token e i token al secondo.

Invio asincrono del messaggio (Blueprint)

Il nodo Send LLM Message (Async) fornisce pin di output dedicati per token, completamento ed errori:

Invio asincrono del messaggio

Scaricare modelli a runtime

Oltre al flusso di scaricamento e caricamento descritto sopra, è possibile scaricare un modello su disco senza caricarlo. Questo è utile per la memorizzazione anticipata dei modelli in una schermata di caricamento o nel menu delle impostazioni.

Scaricamento modello

È disponibile anche una variante solo URL:

Scaricamento modello da URL

Il nodo Download LLM Model (Async) e Download LLM Model From URL (Async) fornisce pin di output per progresso, completamento ed errori:

Scaricamento asincrono del modello

Il delegato OnDownloadProgress segnala lo stato di avanzamento durante il download. OnModelDownloaded viene attivato quando il file viene salvato su disco.

Per annullare un download in corso:

Annulla download

Il plugin previene automaticamente i download duplicati: se è già in corso un download per lo stesso modello, le chiamate successive vengono ignorate.

Interrompere la Generazione

Per interrompere una generazione in corso:

Interrompere la Generazione

Reimposta il contesto della conversazione

Cancella la cronologia della conversazione per avviare una nuova conversazione:

Ripristina contesto

Scaricare un Modello

Libera risorse quando un modello non è più necessario:

Scaricare il modello

Stato della query

Verifica lo stato corrente dell'istanza LLM:

Stato della query

  • Is Model Loaded: True se un modello è pronto per l'inferenza
  • Is Generating: True se la generazione è in corso
  • Is Busy: True se qualsiasi operazione (caricamento, generazione, download) è attiva
  • Is Downloading: True se il download di un modello è in corso
  • Get Loaded Model Metadata: Restituisce i metadati del modello corrente
  • Get Applied Inference Params: Restituisce i parametri applicati durante il caricamento

Funzioni della Libreria Modelli

Un insieme di funzioni di utilità statiche è fornito per gestire i file dei modelli su disco. Queste sono utili per costruire un'interfaccia di selezione dei modelli o per verificare la disponibilità dei modelli in fase di esecuzione.

Ottieni i nomi dei modelli scaricati / Metadati

Ottieni i nomi dei modelli scaricati

Ottieni tutti i metadati dei modelli scaricati

Verificare se un Modello è su Disco

Modello su Disco

Ottieni il percorso del file del modello

Ottieni il percorso del file del modello

Eliminare i file del modello

Eliminare i file del modello

Crea metadati da un URL

Costruisci i metadati di un modello a partire da un URL grezzo (i campi sono derivati dal nome del file):

Crea metadati da URL

Funzioni di utilità

Viene fornito un insieme di funzioni di supporto per la formattazione e la visualizzazione degli errori.

Da Byte a stringa leggibile

Converte un conteggio di byte in una stringa leggibile dall'uomo (ad es. "4.07 GB"). Utile per visualizzare le dimensioni dei modelli nell'interfaccia utente.

Da Byte a stringa leggibile

Formattazione dell'avanzamento del download

Formatta una stringa di avanzamento del download come "1.23 GB / 4.07 GB (30.2%)". Se la dimensione totale è sconosciuta, restituisce solo la quantità ricevuta.

Formattazione dell'avanzamento del download

Ottieni descrizione dell'errore / Stringa del codice di errore

Get LLM Error Description restituisce una descrizione testuale leggibile per un codice di errore. Get LLM Error Code String restituisce il nome del valore enum come stringa (utile per il logging).

Get Error Description

Riferimento codici di errore

CodiceValoreDescrizione
Unknown0Un errore non specificato
ModelLoadFailed10Il file GGUF non è stato caricato (file danneggiato, formato incompatibile, ecc.)
ContextCreateFailed11Creazione del contesto di inferenza non riuscita
ModelNotLoaded20È stato tentato di eseguire l'inferenza senza un modello caricato
ChatTemplateFailed21Applicazione del template di chat del modello non riuscita
TokenizationFailed22Il testo di input non può essere tokenizzato
ContextOverflow23Il prompt + contesto supera la dimensione del contesto configurata
PromptDecodeFailed24Decodifica dei token del prompt non riuscita
ContextTooFullToGenerate25Spazio del contesto insufficiente per generare l'output
GenerationDecodeFailed30Un token non è stato decodificato durante la generazione
GenerationTruncated31La generazione è stata interrotta perché è stato raggiunto il limite massimo di token
LLMInstanceNull40L'istanza LLM è nulla o non valida
ModelNotFoundOnDisk41Il file del modello non esiste nel percorso previsto
ModelURLEmpty42È stato richiesto un download con un URL vuoto
ModelDownloadCancelled43Il download è stato annullato
ModelDownloadEmptyData44Il download è stato completato ma il corpo della risposta era vuoto
ModelDownloadSaveFailed45Il download è stato completato ma il file non può essere salvato su disco