Google AI - Training Analyzer
A second opinion on your LoRA loss curve
- diagnosis_report
You trained a LoRA and the output is mushy, overfit, or just wrong, and the loss curve doesn't speak to you. GoogleAI_LoRATrainingAnalyzer is the translator: paste in your training logs - a CSV or JSON of loss values, or a path to the file - and Gemini reads the curve and tells you what went wrong and what to change. It's the "ask someone who has stared at a thousand loss curves" node, minus the actual person.
What it's for
Diagnosing training runs without waiting for a forum answer. Overfitting shows up in a loss curve as a telltale pattern - loss bottoms out and starts climbing, or train loss collapses while the output quality falls apart. Underfitting looks flat and high. The analyzer reads the actual numbers and produces a diagnosis_report that speaks your language: likely problem, and the usual fixes (learning rate, epochs, dataset size, regularization). For a beginner, this is coaching in a node.
How it works
The training_logs input accepts either the CSV/JSON content pasted directly or a file path; the node detects which and, for CSVs, produces a compact summary before sending it to Gemini. The model is instructed to interpret loss curves in the context of diffusion/LoRA training - the KB's own advice lines up here: trigger words, learning rates, and dataset diversity are where most small trainings go wrong, and the analyzer's value is connecting the curve shape to those causes. As with every node in this pack's Google family, it's a metered Gemini call, and the answer is a reasoned opinion, not a measurement.
Inputs and outputs that matter
- training_logs (STRING, multiline) - paste your loss CSV/JSON here, or type a path to the file. The tooltip says exactly that: "CSV/JSON de loss, o ruta al archivo."
- model (COMBO, default
gemini-3.1-pro-preview) - the default is a pro model, and for once that's justified: reading a loss curve is the kind of reasoning the pro tier does noticeably better at. Drop to flash for a quick skim. - api_key - resolves from
GEMINI_API_KEYor.env. - diagnosis_report (STRING) - the verdict and recommendations. Read it in a preview node or log it.
Installing it
Ships with COMFYUI_PROMPTMODELS (PromptModels Studio in Manager):
cd ComfyUI/custom_nodes
git clone https://github.com/cdanielp/COMFYUI_PROMPTMODELS
Put GEMINI_API_KEY=AI... in the pack's .env, restart. Needs ComfyUI 0.26.0+.
Common issues
Garbage in, plausible-sounding garbage out: the analyzer's advice is only as good as the log you feed it, and a loss log without epoch/step context will produce vague guesses. Missing columns or a log from an unusual trainer can confuse it - if the report sounds generic, check that your CSV actually has a loss column and a steps axis. And don't take the diagnosis as gospel; it's a well-informed model interpreting numbers, not a profiler. It will, however, reliably catch the classics - the overfitting signature in particular is one a LLM reads correctly more often than you'd think.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| training_logs | STRING | CSV/JSON de loss, o ruta al archivo. | |
| api_keyopt | STRING | — | |
| modelopt | COMBO | gemini-3.1-pro-preview | 4 options: gemini-3.1-pro-preview, gemini-3-flash-preview, gemini-2.5-flash, gemini-2.5-pro |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| diagnosis_report | STRING | — |